
Explore a hands-on, serverless DevOps project built with AWS CDK in Python, focusing on infrastructure as code, release management, least-privileged access, and security best practices.
Please download cdk_code.zip file. It contains code for all the stacks we are going to build throughout this course. You can refer this material as and when needed.
Set up AWS account and organization for the course, create a CDK admin user with programmatic access, download credentials, and configure the AWS CLI profile DevOps in us east one.
Learn Python fundamentals by using variables and operators, including no explicit declarations, dynamic typing, type checks, conversions, multiple assignment, and arithmetic, comparison, identity, and membership operators with print and format.
Master lists, tuples, and dictionaries in Python for AWS lambda and JSON data, including creation, access, modification, and common operations.
Learn how to define and call functions in Python, including parameters, *args and **kwargs, and distinguish parameters from arguments. Explore constructors, classes, and object instantiation with self.
Learn how AWS CDK defines cloud infrastructure in your favorite language from Python to Java, synthesizes to CloudFormation, and deploys multi-resource stacks using high level and low level constructs.
Install CDK after setting up NodeJS and verifying versions. Keep CDK updated and use Python 3.7 or 3.8 to provision infrastructure; the next video covers the Hello World CDK app.
Set up and explore a Python-based AWS CDK hello world app by initializing a sample project, generating a CloudFormation template with synth, and deploying the stack with automatic IAM handling.
Learn the AWS CDK Python project structure, organize stacks in a stacks folder, configure app.py and cdk.json, and synthesize code into CloudFormation templates.
Explore serverless architecture and learn networking by building a VPC, jump box, and KMS keys. Create IAM roles and policies; configure subnets, security groups, internet gateway, NAT gateway, route tables.
Master provisioning an aws cdk vpc in python, creating public, private, and isolated subnets with a nat gateway and exporting subnet IDs to parameter store for multi-stack sharing.
Learn to create security groups and IAM roles for Lambda functions using CDK, apply least-privilege policies, configure a Bastion host, and share resources across stacks with parameterized references.
Create and manage a KMS key and alias using CDK, enable automatic rotation, and store the key ID in the parameter store for secure, auditable access in your DevOps workflow.
Create and configure private S3 buckets with CDK, including account-id based naming, server-side encryption, block public access, and storing the bucket name in SSM parameter store for Lambda deployment.
There are slight changes introduced in new versions of CDK for RDS parameters as described below:
1. engine_version is no longer available. Instead use following syntax:
engine= rds.DatabaseClusterEngine.aurora_mysql(
version=rds.AuroraMysqlEngineVersion.VER_5_7_12
)
2. kms_key is no longer available. Instead use following two parameters:
storage_encrypted=true,
storage_encryption_key=kmskey
Learn how api gateway provides rest, http, and websocket apis with regional, edge, and private endpoints, integrated with lambda or other aws services, and managed via cdk or serverless framework.
Configure and deploy a Python Lambda function with API Gateway using CDK, including asset handling and runtime setup. Bootstrapping and permissions enable the Lambda to run behind a REST API.
Introduces the serverless framework, its open source nature, and how to install and configure a serverless.yml to deploy lambda functions and API gateway through CI/CD pipelines.
Deploy a flexible serverless template for devops that works across environments and aws accounts, integrating secrets manager, ssm parameter store, and runtime-driven configuration.
Continue building backend and frontend pipelines with AWS CDK to deploy microservices, host the frontend on an S3 website, and provision CloudFront and notification services.
Please checkout this link to know how to create github token
https://docs.github.com/en/github/authenticating-to-github/creating-a-personal-access-token
Define backend build stage in a cdk pipeline using codebuild, including environment, cache, build spec with install, prebuild, build, and serverless deploy to create lambda functions and api gateway.
Deploy the backend stack with AWS CDK in a CI/CD pipeline, configuring account and region parameters, and leverage Secrets Manager and Parameter Store for Lambda credentials and configs.
Define a front-end build project in an AWS CDK pipeline, configure CodeBuild stages, environment variables, artifacts, and CloudFront cache invalidation to deploy a single-page app.
Continue detailing the deploy stage in the pipeline, deploying the app to S3 with a deploy action and using the build output as input for the front end pipeline.
Configure a web application firewall using AWS managed rule groups and the common rule set, apply it to CloudFront or ALB, and deploy with CDK and CloudFormation templates.
Utilize AWS CDK to create an ACM DNS-validated certificate, share it with CloudFront, and update Route 53 with an alias record for the custom domain.
Welcome to The Ultimate DevOps using AWS CDK, a comprehensive masterclass designed for those who want to move beyond theoretical tutorials and dive straight into building a production-grade, real-world project. The AWS Cloud Development Kit (CDK) has revolutionized the way we approach Infrastructure as Code (IaC). Unlike traditional tools that force you to learn proprietary markup languages, the CDK empowers you to provision cloud resources using the languages you already know and love, such as Python, Java, JavaScript, TypeScript, and C#.
One of the most significant advantages of choosing the CDK for your DevOps workflow is its adherence to the "Least Privileged" security model. The framework automatically generates appropriate IAM roles and permissions, drastically reducing the risk of security vulnerabilities. Furthermore, a few concise lines of code can generate hundreds of lines of CloudFormation templates, making your deployments faster and significantly more manageable.
In this course, we prioritize "learning by doing." You will navigate the complexities of a modern tech stack, provisioning everything from core networking (VPC, NAT Gateways, and Security Groups) to advanced storage and databases like Aurora MySQL and Redis Clusters. We also dive deep into the serverless ecosystem with Lambda and Cognito, secure your applications with WAF and ACM, and build robust CI/CD pipelines using CodePipeline and GitHub. By the end of this journey, you won’t just have a list of skills; you will possess the meaningful, integrated knowledge required to architect and automate complex cloud environments from the ground up.