
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.
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.
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.
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.
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
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.
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
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.
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.