
Explore how the AWS CDK enables infrastructure as code using familiar programming languages to build scalable cloud applications with constructs, Construct Hub, and CloudFormation-backed automation across six languages.
Explore AWS CDK fundamentals in Python, covering core components, constructs, stacks, environments, resources, assets, context, and testing for scalable cloud infrastructure.
Learn how AWS CloudFormation uses infrastructure as code to provision and manage AWS resources with JSON or YAML templates, stacks, and change sets, enabling rollback and cross-region deployments.
Discover how the CDK uses constructs to provision resources such as S3 buckets and EC2 auto scaling groups, with stacks that synthesize into CloudFormation templates for deployment.
Discover how the AWS CLI lets you interact with EC2, S3, DynamoDB, and Lambda from the command line, using top-level and subcommands.
Explore the CDK toolkit and the CDK CLI, the tool to initialize and deploy CDK applications. Understand how CDK CLI uses AWS credentials and supports subcommands like deploy with tags.
Set up the aws cli locally by creating an iam user, generating access keys, installing the cli, and configuring credentials for commands like aws ec2 describe instances.
Set up the CDK CLI by configuring Node.js, Python, and the AWS CLI, then bootstrap CDK to provision CloudFormation resources like IAM roles, S3 bucket, and policies in your account.
Initialize a Python-based AWS CDK app, install dependencies, and explore the generated project structure while preparing to synthesize a CloudFormation template and deploy an S3 bucket stack.
Update and deploy the first CDK Python app, synthesize a CloudFormation template, and verify stack updates and bucket versioning in the AWS console.
Explore the three types of CDK constructs—l1, l2, and l3—and how increasing encapsulation, along with scope, id, and key value arguments, configures cloud resources.
Define an aws lambda function using an l1 cdk construct by specifying the runtime, s3 code reference, and the execution role; synth and deploy to provision the function.
Demonstrate deploying a lambda with the L2 construct in AWS CDK for python 3.9, using asset packaging to automatically zip and push code to S3 and create the execution role.
Explore how L3 constructs define an AWS Lambda-backed api gateway pattern, routing requests to AWS Lambda functions and other AWS resources through a rest api with proxy integration.
Understand how the CDK app construct represents the entire application, providing a root context for stacks and constructs and guiding construct, validate, and synthesize phases toward deployment.
Explore CDK stacks as deployment units that group resources, mapped to CloudFormation templates. Direct instances, custom constructs, and nested stacks help manage multiple stacks with the CDK CLI.
Explore how to implement multiple stacks in a Python CDK app by provisioning two microservice lambdas, deploying and updating stacks independently, and using synth, deploy, and destroy workflows.
Learn to group multiple stacks in a CDK Python app using a custom construct, deploying a service tier with a Lambda and a database tier with a DynamoDB table.
Learn how to implement nested stacks in a Python CDK app by separating a service tier and a database tier under a parent stack, then deploy and inspect them.
Understand how CDK environments map to AWS accounts and regions, and how to deploy stacks across multiple environments using profiles, explicit code settings, or environment variables.
Demonstrate configuring AWS CDK environments with profiles, deploying with a chosen profile or the default, and observing region and account selection across stacks.
Learn to bind a CDK Python stack to a specific AWS environment by passing environment as keyword arguments in code, overriding profiles and setting account and region.
Define the AWS environment in CDK with local environment variables, replacing hard-coded values with dynamic, environment-based configuration using os.environ and the environment.get method for resilience.
Learn how CDK resource identifiers work, including construct IDs, path, unique IDs, logical IDs, and physical IDs, and how changes can trigger resource replacement in CloudFormation.
Learn how to reference aws resources in a cdk python app, use proxy objects and cross stack references, grant permissions with grant methods, and configure network access with security groups.
Demonstrate how CDK resources reference each other in the same stack through a todo service backed by Lambda and DynamoDB, using environment variables and the grant method to assign permissions.
Split the project into a CDK Python database stack and a service stack to reference a DynamoDB table from a Lambda, using environment variables and grant permissions.
Understand CDK removal policies and how they govern deleting resources during stack destruction, preserving resources with persisted data, with options to destroy, snapshot, or retain for S3.
Demonstrates how the AWS CDK removal policy controls resource deletion by default retaining S3 buckets and DynamoDB tables, then overrides it to destroy, showing synth, deploy, and destroy cycles.
Learn to use removal policy and enable auto delete objects to delete child objects in an S3 bucket when destroying a stack, preventing delete failures.
Learn how to tag AWS resources in CDK using key-value tags, applied recursively to a construct's children, with add and remove methods, include and exclude resource types, priority for conflicts.
Tag resources in a CDK app using the Tag class to apply microservice tags to a DynamoDB table, a Lambda function, and its execution role across two stacks.
Demonstrates tagging AWS resources with priority in a Python CDK stack, tagging a DynamoDB table and a Lambda function with microservice values to resolve conflicts.
Explore how assets in a Python CDK app bundle local files, directories, or Docker images as S3 or Docker image assets, uploaded to S3 or ECR during deployment.
Demonstrates how AWS S3 assets work in a Python CDK demo, showing a lambda function created from a local folder and deployed via synth, uploaded to an S3 bucket.
Explore AWS ECR, the elastic container registry, to store, manage, and securely share container images in private registries, push and pull via console, CLI, or SDK, and monitor with CloudWatch.
Explore AWS Fargate, a serverless container platform that eliminates infrastructure management, offers isolation and security, and provides pay-for-use cost benefits with CloudWatch Container Insights monitoring.
Discover how Docker image assets work with CDK applications, building images from a local folder, pushing to ECR, and using them in ECS task definitions.
Learn how grant methods in CDK simplify permissions by granting Lambda function access to a DynamoDB table, using the I grantable interface to grant read write data and policy statements.
Learn to use roles and policies in a CDK application with the IAM package, create a lambda role, and attach a policy granting DynamoDB API access.
AWS Cloud Development toolkit, which is most often termed as CDK lets you build IaC (infrastructure as a code) applications with the expressive power of a programming language. CDK framework is available with Javascript, Typescript, Python, Java, Go and .Net. As the name suggests, AWS CDK is offered by AWS - Amazon Web Services.
The course provides you a step-by-step guide in Python to learn AWS CDK features and Concepts including Constructs, Apps, Stacks, Resources & much more. Here is the quick overview on the course structure -
1. We will start with the CDK basics, where we will understand the core components of CDK, along with the supported tools and technologies.
2. In the next section, we will develop our first cdk application. This will help you accustom, the bare minimum needed to develop any cdk application including pre-requistes, APIs, CLI commands, etc.
3. Once we know the foundational pieces, we will dive into the concepts in more detail. We will start with Constructs where we are going to learn different types of constructs offered by CDK.
4. In the stacks section, we will understand CDK App & Stack Constructs. We will learn how to incorporate multiple stacks inside a cdk application.
5. We will move to Environments, where we will learn the options to configure AWS environments, with our cdk applications.
6. In the Resources section, we will learn how the manage the aws resources with the help of constructs, removal policies along with how we can reference them.
7. We will be jumping to Tags section, where we will understand the CDK Tags, Priority, Inclusion/Exclution mechanisms.
8. With Assets, we will understand how to bundle the business application code along with the the cdk application.
9. In the next section, We will learn how to define the Permissions in CDK, with the help of grant methods, roles and policies.
10. We will be learning the CDK Context, which helps us in Cache, Feature flags and application configuration .
11. We will understand the Aspects feature of CDK which allows us to implement cross cutting concerns across cdk constructs.
12. Additional Concepts - CDK Migrate, Escape Hatches, CDK Pipeline, Code Whisperer
13. We will learn how to test cdk applications, with fine-grained and snapshot testing mechanisms.
14. We will understand the best practices to develop cdk applications.
15. And then we will conclude the course with references and next steps.
Please note that all the CDK examples are written in Python.