We may earn an affiliate commission when you visit our partners.
Lal Verma | AWS Certified Solutions Architect

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. This is changing the way, IaC code was developed, tested or deployed.

CDK framework is available in 6 programming languages including Javascript, Typescript, Python, Java, Go and .Net. As the name suggests

This course provides you a  practical training on The course contains following sections.

1. Introduction - Quick overview of CDK and this course.

Read more

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. This is changing the way, IaC code was developed, tested or deployed.

CDK framework is available in 6 programming languages including Javascript, Typescript, Python, Java, Go and .Net. As the name suggests

This course provides you a  practical training on The course contains following sections.

1. Introduction - Quick overview of CDK and this course.

2.CDK Basics -  Core components, supporting technologies like AWS CloudFormation and CDK CLI.

3.Develop first CDK application - Bare minimum needed to develop any CDK application - Pre-requisites, APIs, code structure and the CLI commands.

4. Constructs - Different types of CDK constructs-L1,L2, L3

5. Stacks - Apps, Stacks, Grouping, Nested Stacks.

6. Environments - Implicit Environments, Explicit Environments

7. Resources - Resource management, Removal policies, Referencing resources.

8. Tags - CDK Tags, Priority, Include/Exclude

9. Assets - AWS S3 Assets and Docker Image Assets.

10. Permissions - Grant methods, Roles & Policies,

11. Context - Context Cache, Feature Flags, Configuration

12. Additional Concepts - Code Whisperer, CDK Migrate, Escape Hatches

13. Testing - Testing CDK Applications, Template, Match,

14.  Best practices - Best practices for Application, Code and Constructs.

15. Conclude - References and Next Steps

Each of the sections are supported with sample demonstrations.  Please note that all the CDK examples are written in Typescript.

Enroll now

What's inside

Learning objectives

  • Cdk basics - core components and supporting technologies - aws cloudformation, cdk cli
  • Develop cdk application - pre-requisites, apis, code structure, cli commands
  • Constructs - different types of cdk constructs-l1,l2, l3
  • Stacks - apps, stacks (multiple, grouping, nested)
  • Environments - implicit environments, explicit environments
  • Resources - resource management, removal policies, referencing resources
  • Tags - cdk tags, priority, include/exclude
  • Assets - aws s3 assets and docker image assets
  • Permissions - grant methods, roles & policies
  • Context - context cache, feature flags, configuration
  • Testing - fine-grained testing, snapshot testing, assertion utilities
  • Best practices - best practices for application, code and constructs
  • Additional concepts - code whisperer, cdk migrate, escape hatches
  • Show more
  • Show less

Syllabus

Introduction

CDK Overview - What does it offer?

Course Overview
Basics
Read more

This quiz validates the  concepts related to AWS CloudFormation, AWS CDK, AWS CLI and CDK CLI.

CDK Pipelines Module : https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.pipelines-readme.html

Create CDK Pipeline (CDK Developer Guide) : https://docs.aws.amazon.com/cdk/v2/guide/cdk_pipeline.html

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Uses Typescript, a popular language, to define cloud infrastructure, which can help developers leverage existing skills and familiarity with the language
Covers core components like constructs and stacks, which are fundamental for building any CDK application, providing a solid foundation for beginners
Includes a section on testing CDK applications, covering fine-grained testing, snapshot testing, and assertion utilities, which are essential for ensuring the reliability of infrastructure code
Discusses best practices for application, code, and constructs, which can help developers write more secure, maintainable, and reliable infrastructure code
Features optional modules on AWS CloudFormation, AWS CLI, AWS S3, AWS Lambda, AWS ECR, AWS Fargate, and AWS ECS, which may be helpful for those new to the AWS ecosystem
Requires familiarity with AWS and Typescript, which may pose a barrier to entry for individuals without prior experience in these areas

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Comprehensive beginner guide to aws cdk

According to students, this course provides a solid foundation in AWS CDK using Typescript. Learners frequently highlight the practical demonstrations and hands-on labs as particularly helpful for understanding core concepts like Constructs and Stacks. While many find the explanations clear and easy to follow, some reviewers note that the pace can be fast for absolute beginners to AWS or Typescript, suggesting that prior knowledge is beneficial. Occasional comments mention minor setup challenges, but overall, it's considered a good starting point for developers looking to learn Infrastructure as Code with CDK.
Instructor explains concepts well.
"The explanations for complex topics like Constructs were very clear."
"Instructor explains things in a way that is easy to understand."
"Concepts are explained clearly with good examples."
"The instructor does a good job of breaking down the topics."
"Clear explanation of concepts."
Provides a good starting point for CDK beginners.
"This course gives a great overview and foundation for starting with CDK."
"I feel much more confident starting my own CDK projects after this course."
"A solid introduction to the core concepts needed to get started with AWS CDK."
"It's a very good course to start learning CDK."
"Provides a good starting point for CDK."
Hands-on labs and demos are valuable.
"The demos are super practical and help solidify the concepts taught."
"I really enjoyed the hands-on examples, they made learning CDK much easier."
"The lab sessions for each module were very helpful."
"The practical examples provided in the course were very useful."
"The demonstrations make understanding complex topics simple."
Some users faced environment setup issues.
"Had some difficulty getting the environment set up correctly initially."
"Encountered minor issues following the setup steps exactly."
"Setting up the local environment required some troubleshooting on my end."
"The initial setup part was a bit tricky."
"Setup could be smoother."
May require prior AWS/TS knowledge.
"Moves a bit fast for someone completely new to AWS or Typescript."
"It helps to have some prior AWS experience before taking this course."
"Sometimes felt rushed, especially in sections with lots of code."
"Some parts assume more familiarity with AWS services than a 'beginner' might have."
"Pace was a bit fast."

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 in Typescript | A Comprehensive Guide for Beginners with these activities:
Review AWS CloudFormation Basics
Reviewing AWS CloudFormation fundamentals will provide a solid foundation for understanding how CDK simplifies infrastructure deployment.
Browse courses on AWS CloudFormation
Show steps
  • Read the AWS CloudFormation documentation.
  • Complete a basic CloudFormation tutorial.
  • Deploy a simple stack using CloudFormation.
Read 'Infrastructure as Code: Managing Servers in the Cloud'
Reading this book will provide a broader understanding of Infrastructure as Code principles, which are essential for effectively using AWS CDK.
Show steps
  • Obtain a copy of 'Infrastructure as Code'.
  • Read the chapters on configuration management.
  • Take notes on key IaC concepts.
Deploy a Simple Web Application using CDK
Building a simple web application using CDK will solidify your understanding of core concepts like stacks, constructs, and resource management.
Show steps
  • Define the infrastructure using CDK constructs.
  • Deploy the application using the CDK CLI.
  • Test the deployed application.
  • Document the deployment process.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Cloud Native Patterns: Designing Change-Tolerant Systems'
Understanding cloud-native patterns will help you design more robust and scalable infrastructure using AWS CDK.
Show steps
  • Obtain a copy of 'Cloud Native Patterns'.
  • Read the chapters on resilience and scalability.
  • Relate the patterns to CDK constructs.
Write a Blog Post on CDK Best Practices
Writing a blog post will force you to synthesize your knowledge and communicate it effectively, reinforcing your understanding of CDK best practices.
Show steps
  • Research CDK best practices.
  • Outline the structure of the blog post.
  • Write the blog post with code examples.
  • Publish the blog post online.
Contribute to a CDK Open Source Project
Contributing to an open-source CDK project will expose you to real-world use cases and allow you to learn from experienced developers.
Show steps
  • Find an open-source CDK project on GitHub.
  • Identify an issue to work on.
  • Submit a pull request with your changes.
  • Respond to feedback from maintainers.
Create a CDK Module for Reusable Infrastructure
Developing a reusable CDK module will demonstrate your ability to abstract complex infrastructure patterns and share them with others.
Show steps
  • Identify a common infrastructure pattern.
  • Design the API for the CDK module.
  • Implement the module using CDK constructs.
  • Write documentation and examples for the module.
  • Publish the module to a package registry.

Career center

Learners who complete AWS CDK in Typescript | A Comprehensive Guide for Beginners will develop knowledge and skills that may be useful to these careers:
Cloud Engineer
A Cloud Engineer designs, builds, and manages cloud infrastructure. This role involves implementing infrastructure as code, a key focus of this course. By understanding core components of the AWS Cloud Development Kit, or CDK, and how it interacts with AWS CloudFormation, a cloud engineer can create robust and scalable cloud environments. This course provides practical training on developing CDK applications, working with constructs, stacks, environments, resources, tags and assets. The course also details permissions, context and testing in CDK, which are all critical to the role of a cloud engineer.
DevOps Engineer
A DevOps Engineer automates and streamlines the software development lifecycle, emphasizing infrastructure as code. This aligns directly with the content of this course, which teaches how to use the AWS CDK to define and manage infrastructure. A DevOps engineer would use the knowledge of CDK constructs, stacks, and environments, taught within this course, to help manage infrastructure. Also, the course’s focus on testing and best practices with CDK provide an understanding of managing critical aspects of DevOps. Understanding permissions, context, and assets also gives the DevOps engineer vital information.
Infrastructure Engineer
An Infrastructure Engineer focuses on the design, deployment, and maintenance of IT infrastructure, often using infrastructure as code. This course, centered on the AWS CDK, gives learners the ability to manage their infrastructure with code. Understanding the fundamentals of how CDK works, from core components to constructs, is paramount for an infrastructure engineers. An infrastructure engineer will be able to apply this knowledge in resource management, tagging, and permission handling, all key aspects of maintaining a working infrastructure. This course teaches these vital skills.
Platform Engineer
A Platform Engineer builds and maintains the underlying platform that applications run on, often using infrastructure as code. This course, with its focus on the AWS CDK and infrastructure as code, directly prepares one for the tasks of a platform engineer. The course covers the development of CDK applications, working with constructs, stacks, and environments. A platform engineer should also understand how to manage resources, permissions and testing within CDK, all aspects covered in this course. This course helps build the necessary foundational skills
Automation Engineer
An Automation Engineer designs and implements automated systems, often using infrastructure as code. This course provides practical training on the AWS CDK, enabling automation engineers to manage cloud infrastructure programmatically. This aligns well with the core tasks of the automation engineer. A detailed understanding of CDK constructs, stacks, and resources, all detailed in this course, is essential for this role. Additionally, the course covers testing and best practices, all of which contribute to more reliable automation using infrastructure as code.
Cloud Architect
A Cloud Architect designs and oversees cloud computing strategies for an organization. This course is useful as it provides practical training on the AWS Cloud Development Kit, or CDK, which is crucial for managing infrastructure as code. A cloud architect should understand how to use CDK for designing and managing resources. The material on constructs, stacks, and environments presented in the course directly aligns with the responsibilities of a cloud architect. The course explains how to implement best practices and manage resources, including assets and tags; this is incredibly valuable for a cloud architect.
Systems Engineer
A Systems Engineer designs and manages complex systems, often involving cloud infrastructure. This course provides a solid understanding of the AWS CDK, and its use in infrastructure as code. This course details a systems engineer's need to build and maintain infrastructure. A systems engineer will find value in learning about CDK constructs, stacks, and resource management. Understanding how to handle permissions, context, and testing with CDK will directly help them contribute to managing a reliable system.
Software Developer
A Software Developer builds and designs applications, and in a cloud-native world, understanding infrastructure is essential. This course teaches the AWS CDK, allowing developers to use infrastructure as code. A software developer will find the sections on developing CDK applications, constructs, and stacks very useful. In addition, understanding permissions and testing covered in this course helps software developers write more robust and secure applications within cloud infrastructure. This course helps build a bridge between applications and the underlying infrastructure.
Solutions Architect
A Solutions Architect designs technical solutions to business problems, often involving cloud infrastructure. This course with its practical training in the AWS CDK can help a solutions architect better design and deploy infrastructure as code. A solutions architect must have an understanding of CDK constructs, stacks and how to manage resources in the cloud. The course's content on permissions, context management, and testing will be useful for building robust and secure solutions. This course supports building a well-rounded skillset.
Site Reliability Engineer
A Site Reliability Engineer, or SRE, ensures systems are reliable, scalable, and efficient. This course on the AWS CDK can help an SRE by providing a practical understanding of infrastructure as code. An SRE can use the skills acquired in this course, learning about CDK applications, constructs, stacks and environments, to help ensure infrastructure is reliable and scalable. The course’s coverage of permissions, context and testing will also assist an SRE seeking to improve system reliability. This course may be useful to an SRE.
Technical Lead
A Technical Lead guides a team of engineers, setting technical direction and ensuring projects are completed effectively. This course, focused on the AWS CDK and infrastructure as code, can help a technical lead understand the technical aspect of their projects. A technical lead will find the course helpful as they work through the development of CDK applications, constructs and stacks. The course also details best practices and helps with an understanding of testing within CDK. This course may be useful for a technical lead.
Data Engineer
A Data Engineer designs, builds and maintains data infrastructure for analytics and machine learning. This course helps a data engineer gain familiarity with AWS CDK, which can be useful in building and managing data pipelines. A data engineer will find sections on resource management, permissions, and best practices using the CDK to be particularly helpful. An understanding of how to use infrastructure as code can benefit any role working with AWS. This course may be useful for a data engineer.
Backend Developer
A Backend Developer builds and maintains the server-side logic of applications. A backend developer can benefit from understanding infrastructure as code, which is the focus of this course. The AWS CDK, covered in this course, allows a backend developer to manage services. This course teaches the core components, constructs and stacks within CDK, which are useful for deploying backends. An understanding of how to manage permissions and resources with the CDK can help a backend developer. This course may be useful to a backend developer.
Technical Project Manager
A Technical Project Manager oversees technical projects, ensuring they are delivered on time and within budget. This course introduces the AWS CDK, and provides a good foundation for managing infrastructure as code. While project managers do not implement infrastructure directly, this course provides an understanding of how this is done. The understanding of constructs, stacks and resource management will help the manager better relate to their teams. This course may be useful for a technical project manager.
IT Manager
An IT Manager oversees the information technology operations of an organization. This course introduces the AWS Cloud Development Kit as a tool for managing infrastructure, which an IT manager may be interested in. While an IT manager may not use the CDK directly, understanding how infrastructure is managed, and especially infrastructure as code, is crucial. While this course focuses on the technical aspects of using the CDK, an IT manager can learn about its benefits for managing cloud resources. This course may be useful for this manager.

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 in Typescript | A Comprehensive Guide for Beginners.
Provides a comprehensive overview of Infrastructure as Code (IaC) principles and practices. It covers various tools and techniques for managing infrastructure in the cloud, including configuration management, server provisioning, and automated deployment. While not specific to AWS CDK, it offers valuable context and best practices applicable to any IaC approach. It is particularly helpful for understanding the broader landscape of IaC and how CDK fits within it.
Explores patterns for building resilient and scalable cloud-native applications. While not directly focused on CDK, it provides valuable insights into designing infrastructure that can adapt to changing requirements. Understanding these patterns will help you make informed decisions when using CDK to define your infrastructure. It is more valuable as additional reading to improve your understanding of cloud-native architectures.

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