The AWS Cloud Development Kit (CDK) is a powerful tool that allows developers to define and provision cloud infrastructure using familiar programming languages like Python, TypeScript, Java, and C#.
It enables you to write infrastructure as code, making it easier to manage, deploy, and maintain your AWS resources.
Learning the CDK can significantly streamline your cloud development workflow, leading to faster deployments, improved infrastructure consistency, and enhanced automation capabilities.
Finding the right AWS CDK course on Udemy can be a challenge, as there are many options available.
You’re looking for a course that is comprehensive, engaging, and taught by experts, but also fits your learning style and goals.
You want to learn the basics, but also go beyond the fundamentals, diving into advanced concepts like serverless architecture, React integration, and continuous delivery pipelines.
We highly recommend AWS & Typescript Masterclass - CDK, Serverless, React as the best overall course on Udemy.
This comprehensive program covers everything from CDK fundamentals to advanced topics like cross-stack references, testing, and CI/CD pipelines.
It also teaches you how to build serverless applications using CDK and TypeScript, integrate with React, and deploy your applications using AWS CodePipeline.
While this is our top pick, there are other great options available.
Keep reading for more recommendations for different learning styles and goals, including courses focused on specific CDK versions, Python, and even building serverless REST APIs.
AWS & Typescript Masterclass - CDK, Serverless, React
You’ll start by learning the fundamentals of AWS CloudFormation and the AWS Cloud Development Kit (CDK), which allows you to define and provision cloud infrastructure using code.
The course dives deep into CDK, covering intermediate topics like handling multiple stacks, cross-stack references, and sharing resources.
You’ll then build a serverless project from scratch using CDK and TypeScript, creating AWS Lambda functions, API Gateways, and DynamoDB databases.
Moving on, you’ll explore the challenges of working with AWS Lambda, such as bundling, testing, and debugging.
The course covers techniques for optimizing Lambda functions and integrating them with DynamoDB using TypeScript for data validation.
Security is a crucial aspect, and the course teaches you how to secure your APIs using AWS Cognito for authentication and access control.
You’ll learn about user pools, identity pools, and generating temporary AWS credentials.
For the front-end, you’ll build a React application that integrates with the AWS services you’ve created.
This includes routing, authentication, creating spaces, uploading files to S3, and visualizing data from DynamoDB.
The course also covers monitoring with CloudWatch, setting up alarms, and using AWS SNS for notifications.
You’ll learn how to write tests for your CDK infrastructure and AWS Lambda functions using Jest, including techniques like mocking and snapshot testing.
Finally, you’ll dive into CI/CD (Continuous Integration/Continuous Deployment) with AWS CodePipeline, setting up automated builds, tests, and deployments directly from your GitHub repository.
AWS Cloud Development Kit (CDK) - V2- Beginner to Advanced
You’ll start by learning the basics of AWS CDK v2, including its setup, pre-requisites, and core concepts like project structure.
The course covers the evolution of AWS Infrastructure as Code and provides an overview of AWS CloudFormation before diving into the benefits of using CDK.
You’ll gain hands-on experience creating various AWS services like S3 buckets, DynamoDB tables, Lambda functions, and CloudWatch alarms using CDK v2.
The course also teaches you how to manage resource removal policies to destroy or retain AWS resources created with CDK.
Three real-world use cases are included, walking you through building serverless applications with API Gateway, Lambda, S3, and DynamoDB, as well as deploying a web server with VPC, subnets, EC2, and user data.
You’ll even learn how to leverage the Generative AI Coding Tool, AWS CodeWhisperer, to streamline development.
The course dives into intermediate concepts like L1, L2, and L3 constructs, and demonstrates setting up a CI/CD pipeline for deploying CDK apps.
It covers advanced topics like cross-app and multi-stack resource sharing using strategies like AWS Systems Manager Parameter Store and CfnOutput.
You’ll learn 10 best practices based on the instructor’s experience with enterprise application migrations.
Additionally, the course covers termination protection, CDK commands, outputs, and testing with fine-grained assertions and snapshot tests.
AWS CDK Masterclass - Build Cloud Infrastructures in Code
You’ll start by learning the basics of AWS CDK, including its benefits and key concepts.
The course guides you through setting up your AWS profile, installing the necessary tools like Node.js, AWS CLI, and Visual Studio Code.
This ensures you have the right environment to follow along with the hands-on projects.
One of the standout features of this course is the emphasis on practical, real-world examples.
You’ll build a RESTful API for a Quotes app using DynamoDB, Lambda functions, and API Gateway.
This project will teach you how to perform CRUD operations and leverage constructs from the CDK library.
The course also covers more advanced topics, such as creating an S3 bucket for thumbnail generation, setting up scheduled events, provisioning EC2 instances, and building an email notification service using SES and SQS.
These projects will give you a solid understanding of how to use CDK to create and manage various AWS resources.
Throughout the course, you’ll learn how to debug your CDK applications, use the AWS Serverless Console and Thunder Client extensions for Visual Studio Code, and clean up your resources when you’re done with a project.
What sets this course apart is the instructor’s clear and concise explanations.
You’ll learn not only how to write CDK code but also the underlying concepts and best practices.
You’ll gain practical experience with CDK, AWS services, and modern development tools, setting you up for success in building and managing cloud applications.
Create Continuous Delivery Pipelines on AWS Using CDK
You’ll start by setting up an AWS budget alert and getting introduced to CDK.
The course covers the essentials like creating a CDK project, understanding the code, and adding unit tests.
You’ll then dive into building a basic CDK pipeline, exploring AWS CodePipeline, and adding various stages like source, build, and pipeline update.
One of the highlights is learning to deploy your application using CDK.
You’ll write the application code, create a ServiceStack in CDK, and integrate it into the pipeline.
The course also teaches you to add automated testing to the pipeline, ensuring your application is thoroughly validated.
Gradual deployments, rollbacks, and canaries are crucial topics covered.
You’ll learn to upgrade CDK versions, implement gradual deployment to production, and roll back on failure.
The course even guides you through writing Canary code, implementing a Canary CDK construct, and alarming on canary failure.
Multi-region and multi-account deployments are also explored in-depth.
You’ll learn to deploy a service backup to another region and implement cross-account deployment pipelines, essential skills for enterprise-level deployments.
If you’re already using CDK v1, the course includes a bonus section on upgrading to CDK v2, covering what’s new and the migration process.
The hands-on approach ensures you gain practical experience with these technologies.
AWS CDK with Python Step by Step
The course starts by introducing you to AWS CDK basics like initializing your environment, creating your first app, and managing the app lifecycle.
You’ll learn how to deploy and destroy CDK stacks, a crucial skill for any CDK developer.
From there, you’ll dive into AWS CDK constructs, the building blocks of your infrastructure.
You’ll explore L1 constructs from the CDK Construct Library and understand how to update your app with them.
The course then guides you through L2 constructs, teaching you how to configure their properties, add related resources, grant permissions, and work with metrics.
One standout section focuses on networking and assets with AWS CDK.
You’ll learn how to allow network connections, configure ports, and utilize S3 assets within your CDK apps.
The course also covers working with multiple stacks, an essential topic for complex deployments.
Cross-stack references and nested stacks are covered in-depth, enabling you to build modular and reusable infrastructure.
The course dives into CDK aspects, powerful tools for tagging, validating resources, modifying resources, and resolving tokens across your CDK constructs.
Testing is a crucial part of any development process, and this course doesn’t disappoint.
You’ll learn how to test your CDK constructs, including fine-grained assertions and working with array and object matchers.
Throughout the course, you’ll work with L3 constructs (CDK Patterns) and gain hands-on experience configuring networking, assets, and more.
AWS CDK v2 in TypeScript
You’ll start with the basics, like setting up your development environment and understanding the relationship between CDK and CloudFormation.
Along the way, you’ll learn best practices for naming resources, managing parameters and outputs, and handling rollbacks.
The course dives into real-world examples, such as creating an EventBridge rule and Lambda function to remind you to brush your teeth.
You’ll gain hands-on experience with CDK constructs, diff and drift detection, and managing resource deletion policies.
As you progress, you’ll learn to create custom constructs, like an S3 bucket, and handle resources not well supported by CDK.
Testing is a crucial aspect covered, including snapshot testing, debugging in VS Code, and testing custom resource Lambda functions.
The course also explores intermediate topics like multi-stack projects, importing existing resources, and validating context data with Zod.
In the advanced sections, you’ll tackle cross-stack references, building CDK packages for debugging, custom resources with AwsCustomResource, singleton resources, and using aspects.
Real-world examples, like creating a VPC, ECS cluster, and service discovery for a ping-pong application, reinforce the concepts.
Throughout the course, you’ll work with various AWS services, including CodeArtifact, ECS, Lambda, EventBridge, Zod, CloudFormation, Prettier, TypeScript, VPC, ESLint, and S3.
AWS CDK: Build a serverless RestAPI with Typescript & NoSQL
You’ll start by setting up your AWS account, installing prerequisites like Node, AWS CLI, and Docker, and initializing a CDK project.
Next, you’ll dive into the core of the course - developing a RESTful blog post API.
Using CDK, you’ll create an API Gateway, define data models with TypeScript interfaces, and integrate with DynamoDB for data storage.
The course covers CRUD operations, teaching you to build Lambda functions for listing, retrieving, creating, and deleting blog posts.
You’ll learn to use AWS SDK v3 to interact with DynamoDB from your Lambda functions.
The course goes beyond basic CRUD by covering advanced features like sorting API responses with query parameters, generating Swagger documentation from API Gateway, and visualizing it with Swagger UI.
You’ll also learn domain management by purchasing a domain through Route53 and configuring a custom API Gateway domain.
Handling CORS errors is another key topic, where you’ll prevent them by setting appropriate headers in Lambda responses and implementing the OPTIONS method for preflight requests in API Gateway.
Learning AWS CDK by Building Event-Driven Architecture App
This course starts with setting up your AWS account and credentials.
You’ll learn what AWS CDK is and how to set it up, followed by a detailed walkthrough to solidify your understanding.
One of the standout features is the focus on building an event-driven architecture app.
You’ll dive into setting up the authentication flow, which includes understanding UserPools and UserPoolClients, and creating a post-confirmation Lambda function.
The course covers creating a database stack and deploying the authentication stack, providing a solid foundation for your project.
As you progress, you’ll learn how to set up and test the frontend using Amplify.
The course guides you through writing and running sign-up tests, ensuring you grasp the practical aspects of development.
The course then delves into deploying the flights and seats tables, showcasing flight and seat data.
You’ll explore creating an API and Event Bridge stack, followed by building and deploying a create booking function and registering it with the Event Bridge.
Synchronization is a crucial aspect, and the course covers deploying and walking through a sync function.
Additionally, you’ll learn about setting up an SES stack for email functionality and creating a send email Lambda function.
Throughout the course, you’ll gain hands-on experience with various AWS services, such as Lambda functions, API Gateway, EventBridge, DynamoDB, and Amplify.
AWS CDK in Typescript | A Comprehensive Guide for Beginners
The course covers the fundamentals of CDK and gradually builds up your knowledge, making it ideal for beginners.
You’ll start with an introduction to CDK and its core concepts like constructs, apps, stacks, and resources.
The course dives deep into constructs, teaching you how to use pre-built L1, L2, and L3 constructs, as well as create your own custom constructs.
One of the course’s strengths is its practical approach.
You’ll learn by developing your first CDK app, setting up the necessary prerequisites like AWS CLI, Typescript, and the CDK itself.
Hands-on demos reinforce concepts like referencing resources, removal policies, and tagging resources.
The course doesn’t overlook advanced topics either.
You’ll explore assets like AWS S3 and Docker images, learning how to work with external resources like AWS ECR and Fargate.
CDK permissions, grants, roles, and policies are covered in-depth, ensuring you understand how to manage access securely.
Unique features like context, aspects, and escape hatches are also included, giving you a comprehensive understanding of CDK’s capabilities.
Testing CDK applications is emphasized, with demos on basic testing, match testing, and snapshot testing.
You’ll appreciate the focus on best practices for security, maintainability, and reliability.
The course even touches on the CDK pipeline and integrating with AWS CodeWhisperer.
Deploy Spring Boot services to AWS ECS Fargate with AWS CDK
You’ll start by understanding AWS concepts and setting up your development environment.
Then, you’ll create your first Spring Boot microservice, ProductsService, and deploy it to AWS ECS Fargate using CDK.
The course guides you through creating an AWS VPC, ECS cluster, and the necessary infrastructure like load balancers and VPC links.
You’ll learn to integrate ProductsService with AWS API Gateway and DynamoDB for data storage.
Implementing features like product CRUD operations, DynamoDB Global Secondary Indexes, and publishing events to SNS topics is covered.
You’ll build another service, AuditService, to consume product events from SQS queues and persist data in DynamoDB.
The course covers AWS X-Ray tracing, CloudWatch Logs, and exception handling.
You’ll learn auto-scaling for ECS services and DynamoDB tables (provisioned and on-demand modes).
The InvoicesService is introduced to process files from S3 buckets and store invoice data in DynamoDB.
You’ll create APIs for invoice management and learn about CloudWatch Alarms and Cost Explorer.
Throughout the course, you’ll organize your infrastructure using multiple CDK stacks, making it modular and easy to maintain.
The hands-on approach ensures you gain practical experience in building a scalable and robust e-commerce backend on AWS using best practices.