We may earn an affiliate commission when you visit our partners.
Alex Dan

This course is designed to teach how to use AWS CDK as a professional. You can start to migrate your cloud infrastructure to CDK right after course completion.

The course contains code examples for Python and TypeScript, but you can enroll even if you plan to use CDK with another language, singe most topics are presented at an abstract level and you can easily apply the course material for your preferred programming language, maybe Java, C# or Go.

Main course topics:

Read more

This course is designed to teach how to use AWS CDK as a professional. You can start to migrate your cloud infrastructure to CDK right after course completion.

The course contains code examples for Python and TypeScript, but you can enroll even if you plan to use CDK with another language, singe most topics are presented at an abstract level and you can easily apply the course material for your preferred programming language, maybe Java, C# or Go.

Main course topics:

  • Tools required for CDK: AWS account, IAM user for console access

    Why this course stands out from other Udemy courses:

    • Beyond the basics - after finish, you can directly use this knowledge into production code

    • Practical knowledge - presentations are kept to a minimum, we focus on what is really important

    • Logical and flexible structure - take the course at your own pace

    • Fast paced, concise, most typing cut out - focus on explanations - respect for your time

    • Code changes in each lecture on Git with code diffs

    • Big font, dark background, full HD content, this way it is readable even on a small screen or even tablet.

    • Lifetime access

    • Certificate of completion to present to your current or prospective employer

    • Q&A active instructor

    Go beyond the theory and learn from an active instructor, aligned with today's programming demands.

Enroll now

What's inside

Learning objectives

  • Aws cdk in a proffesional manner
  • Write infrastructure as code with python or typescript
  • Aws cloudformation - beginner and intermediate topics
  • Devops for aws with cdk and github actions
  • Build serverless apps with apigateway, dynamodb and lambda
  • Configure serverless apps with cdk
  • Cdk tools, introduction and configuration for python
  • Cdk tools, introduction and configuration for typescript
  • Cdk testing with pytest or jest
  • Handle different aws cdk construct levels(l1, l2, l3)
  • Cdk best practices
  • Web project deployment with aws cloudfront and cdk
  • Show more
  • Show less

Syllabus

Introduction
How to take this course
Let's connect!
Tools we will need
Read more
IAM user for the AWS CLI
CDK and CloudFormation intro
Section intro
AWS CloudFormation
CDK intro
Code examples
CDK project explore
CDK environment
Understanding CDK code
[Py] construct example
[Ts] construct example
CDK Constructs overview
Cdk outputs and mental model
Cdk Commands
CDK destroy
☑️ Section quiz
CDK intermediate topics
Further reading
CDK IDs
CloudFormation intrinsic functions
[Py] intrinsic functions practice
[Ts] intrinsic functions practice
Handling multipe stacks
[Py] cross stack references
[Ts] cross stack references
Halfway discussion
Practice: Serverless Rest API with CDK
CICD and web deployment
AWS Lambda and CDK
Serverless API architecture
[Py] ApiGateway and lambda
[Ts] ApiGateway and lambda
DynamoDb and SDK calls
[Py] DynamoDB queries
[Ts] DynamoDB queries
API Gateway and CORS
Practice: Monitoring with CloudWatch
[PY] first test
Services overview
[Py] webhook lambda
[Ts] webhook lambda
CloudWatch metrics presentation
CloudWatch alarms
[Py] CDK metric alarms
[Ts] CDK metric alarms
Testing the alarm
Real resource alarm
Services Overview
[Py] Bucket hosting and CloudFront
[Ts] Bucket hosting and CloudFront
CloudFormation custom resources
GitHub repo setup
IAM user for GitHub actions
[Py + Ts] GitHub Actions
CDK testing
[Py] project init and test explore
[PY] test matchers
[PY] test captors
[PY] snapshot testing
[TS] project init and test explore
[TS] first test
[TS] test matchers
[TS] test captors
[TS] snapshot testing
Other CDK topics
[Py] CDK tags
[Ts] CDK tags
CDK aspects
[Py] aspects example
[Ts] aspects example
CDK patterns libraries
Ending section
Thank you!
Bonus

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Focuses on practical application and production-ready code, which allows learners to directly apply the knowledge gained to real-world projects and professional environments
Covers both Python and TypeScript, which are popular languages for CDK, and allows learners to choose the language they are most comfortable with or proficient in
Includes DevOps practices with CDK and GitHub Actions, which are essential for modern cloud infrastructure management and continuous integration/continuous deployment (CI/CD) pipelines
Requires an AWS account and IAM user for console access, which may pose a barrier for some learners who do not already have these resources set up
Explores AWS CloudFormation, which is a foundational technology for AWS CDK, and helps learners understand the underlying infrastructure-as-code concepts and principles
Includes code changes in each lecture on Git with code diffs, which allows learners to easily track changes and understand the evolution of the code base throughout the course

Save this course

Save AWS CDK for professionals (Python and TypeScript) to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in AWS CDK for professionals (Python and TypeScript) with these activities:
Read 'AWS Certified Cloud Practitioner Study Guide'
Gain a broader understanding of AWS services and concepts, which will provide a solid foundation for using CDK.
Show steps
  • Obtain a copy of the AWS Certified Cloud Practitioner Study Guide.
  • Read the book and take notes on key concepts and services.
  • Complete the practice questions at the end of each chapter.
Review AWS CloudFormation Concepts
Solidify your understanding of AWS CloudFormation, as CDK is an abstraction over CloudFormation. Understanding CloudFormation concepts will make it easier to debug and optimize CDK deployments.
Browse courses on AWS CloudFormation
Show steps
  • Read the AWS CloudFormation documentation to understand its core concepts.
  • Practice creating simple CloudFormation stacks using the AWS Management Console.
  • Explore CloudFormation templates and their structure.
Read 'Programming AWS Lambda'
Gain a deeper understanding of AWS Lambda and how to build serverless applications, which are commonly deployed using CDK.
Show steps
  • Obtain a copy of Programming AWS Lambda.
  • Read the book and focus on the chapters related to Lambda function development and deployment.
  • Experiment with the code examples provided in the book.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice CDK commands
Reinforce your understanding of CDK commands by repeatedly deploying and destroying simple stacks. This will help you become more comfortable with the CDK workflow.
Show steps
  • Create a basic CDK project with a simple stack.
  • Use CDK commands to deploy, update, and destroy the stack.
  • Experiment with different CDK commands and options.
Document CDK Constructs
Deepen your understanding of CDK constructs by writing documentation for them. This will help you understand the different properties and methods available for each construct.
Show steps
  • Choose a CDK construct to document.
  • Read the CDK documentation and source code for the construct.
  • Write a clear and concise description of the construct and its properties.
  • Provide examples of how to use the construct in different scenarios.
Build a Serverless Application with CDK
Apply your CDK knowledge by building a serverless application using API Gateway, Lambda, and DynamoDB. This project will help you understand how to integrate different AWS services with CDK.
Show steps
  • Design the architecture of your serverless application.
  • Define the infrastructure using CDK constructs.
  • Implement the Lambda functions and API Gateway endpoints.
  • Deploy and test your serverless application.
Create a CDK Construct Library
Develop a reusable CDK construct library for common infrastructure patterns. This will help you understand how to abstract complex infrastructure configurations into reusable components.
Show steps
  • Identify common infrastructure patterns that can be abstracted into CDK constructs.
  • Design the API for your CDK constructs.
  • Implement the CDK constructs using Python or TypeScript.
  • Write unit tests for your CDK constructs.
  • Publish your CDK construct library to a package repository.

Career center

Learners who complete AWS CDK for professionals (Python and TypeScript) will develop knowledge and skills that may be useful to these careers:
Cloud Engineer
A Cloud Engineer designs, implements, and manages cloud infrastructure. This course on AWS CDK is integral to this role, providing the crucial skills to define cloud resources using code, enhancing efficiency and consistency. The course's emphasis on Infrastructure as Code, with Python and TypeScript examples, perfectly aligns with the daily tasks of a Cloud Engineer. Furthermore, the course covers tools and best practices for a professional setting, allowing an engineer to transition their code immediately to production. The coverage of serverless architectures with API Gateway, Lambda, and DynamoDB also helps a Cloud Engineer deploy entire full-stack applications using Infrastructure as Code.
DevOps Engineer
DevOps Engineers streamline software development and deployment through automation. This course directly contributes to the DevOps toolkit by teaching how to manage AWS infrastructure via the AWS CDK. The skills to define infrastructure as code, manage serverless apps, and implement CI/CD pipelines using GitHub Actions, as taught throughout this course, are central to a DevOps Engineer's responsibilities. The course stands out because it goes beyond the basics, giving a practical approach to infrastructure. It's designed to prepare you for real-world production code, which makes it an excellent path for a DevOps Engineer who wants to level up their skills.
Infrastructure Engineer
An Infrastructure Engineer designs and maintains the systems that support software applications. This course on AWS CDK is a must-have, as it provides the ability to automate infrastructure deployments using code. This course gives an Infrastructure Engineer concrete coding experience in Python and TypeScript, with exposure to tools and best practice for CDK development. The course's coverage of topics such as serverless architectures, API Gateway, and database configuration is essential knowledge for any Infrastructure Engineer working the cloud. With this course, developers can transition their code into their cloud pipeline immediately.
Solutions Architect
Solutions Architects design and plan cloud-based solutions for organizations. This course on AWS CDK is beneficial because it provides hands-on experience with Infrastructure as Code, crucial for designing scalable and reliable systems. The course's coverage of AWS services, including API Gateway, Lambda, and DynamoDB, is essential for a Solutions Architect to understand how different components fit together. Learning to use CDK to build serverless applications is extremely valuable, especially because this course also covers CI/CD pipelines using GitHub Actions, which are vital to maintaining a strong cloud-based infrastructure.
Backend Developer
A Backend Developer works on the server-side logic of applications. This course on AWS CDK may be useful, as it provides valuable skills for deploying and managing backend services on AWS. The course covers serverless architectures using API Gateway, Lambda, and DynamoDB, which are fundamental for backend development in modern cloud-based environments. While typical backend roles don't solely focus on infrastructure, the course will be very helpful if the developer does not have a lot of experience in Infrastructure as Code. Furthermore, the course provides concrete examples in both Python and TypeScript which are common amongst backend developers.
Software Developer
A Software Developer writes and maintains software applications. This course may be helpful for a developer seeking to expand their expertise into cloud infrastructure. The course provides an introduction to Infrastructure as Code with AWS CDK, covering topics such as serverless applications, API Gateways, and databases. Although this course is not about application development, it allows a developer to transition their code to the production cloud. The course provides examples in both Python and TypeScript, which are common languages used by software developers.
Cloud Consultant
A Cloud Consultant advises organizations on cloud adoption strategies. This course may be useful, providing practical experience with AWS CDK, a tool often used in cloud migrations. The ability to work with Infrastructure as Code and manage serverless apps are very helpful, particularly when advising clients on their cloud strategy. The course focuses on real-world production code and provides practical knowledge. This approach to instruction is valuable to consultants who need to provide sound advice and best practices to their clients. Because this role is more strategic than technical, this course may be useful.
Technical Project Manager
A Technical Project Manager coordinates and oversees technical projects. This course may be helpful for a technical project manager, providing insight into AWS CDK, and Infrastructure as Code, which is often part of cloud-based projects. The course covers serverless architectures and deployment strategies. While a project manager does not need to practice coding, the manager benefits by speaking the same language as the engineers, and this course will allow a project manager to better support dev teams. This course may be useful as it provides practical knowledge that is vital to cloud based projects.
System Administrator
System Administrators maintain and manage computer systems. This course may be helpful to a system administrator looking to modernize their infrastructure by providing a practical introduction to Infrastructure as Code using AWS CDK. The course covers cloud infrastructure, serverless apps, and other related services, all of which helps administrators maintain a cloud based system. The course is designed to take a student from beginner to production ready, which helps system administrators be prepared to work with their teams on real projects. Because this is a relatively low-level position in terms of design, this course may be helpful.
Database Administrator
Database Administrators manage and maintain database systems. This course may be helpful for a database administrator who wishes to migrate their skills to the cloud, with an emphasis on Infrastructure as Code. This course also covers database technologies, such as DynamoDB, as well as serverless technologies, like AWS Lambda, which provides a modern toolkit for administrators to take on a new and modern role. Because the course focus is on infrastructure, rather than data management, this course may be helpful.
QA Engineer
A QA Engineer ensures the quality and reliability of software. This course may be useful to a QA Engineer, providing them with a deeper understanding of how cloud infrastructure operates. The course is useful because it covers testing strategies, using Pytest and Jest, which provides the QA Engineer valuable information about how the code that they're testing is being deployed. The course covers best practices and how to work with a team in a professional setting as well, which allows a QA Engineer to transition their skills to the cloud.
Data Engineer
Data Engineers design and build systems for data collection and storage. This course may be useful to help a data engineer gain skill in cloud infrastructure. The course covers technologies such as DynamoDB, which is often used in data pipelines as well as serverless technologies which enhance data engineering workflows. The course provides examples in both Python and TypeScript. While this role is more closely related to data, this course may be helpful in transitioning a data engineer to the cloud.
Network Engineer
Network engineers design, implement, and manage computer networks. This course may be useful as it allows network engineers to get up to speed with the cloud, and gain experience with managing networks using Infrastructure as Code. The course covers topics such as serverless applications, API Gateway, and other essential networking components. The course provides examples in both Python and TypeScript so that a network engineer can familiarize themselves with these languages as well. While the course is not a substitute for an advanced degree in networking, the course may be useful.
IT Manager
An IT Manager oversees an organization's information technology operations. This course may be useful to an IT manager, providing insight into the technical details behind cloud infrastructure, particularly the use of Infrastructure as Code using AWS CDK. The course covers modern cloud technologies, which is useful to the IT professional looking to lead an IT team in modern cloud-based environments. The course covers a wide variety of topics, such as serverless architectures, that the IT manager may be interested in tracking for their teams. This course may be useful.
Mobile Developer
A Mobile Developer creates applications for mobile platforms. This course may be helpful as a mobile developer may occasionally need to work with backend services and cloud infrastructure. Having experience with Infrastructure as Code and serverless architectures may be helpful. This course provides examples in both Python and TypeScript, which are useful if the mobile developer is expanding to full-stack work, and needs access to backend services. This course may be useful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in AWS CDK for professionals (Python and TypeScript).
Provides a deep dive into AWS Lambda, a key component of serverless applications. It covers topics such as Lambda function development, deployment, and monitoring. While the book focuses on Java, the concepts are applicable to other languages as well. This book is valuable as additional reading to expand on the serverless aspects of the course.
Provides a broad overview of AWS services and concepts. It is helpful for those who are new to AWS and want to gain a foundational understanding of the platform. While not directly focused on CDK, it provides valuable context for understanding the AWS services that CDK manages. This book is commonly used as a study guide for the AWS Certified Cloud Practitioner exam.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser