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
Optional Concepts
Optional: AWS CloudFormation - 101
How does CDK Work?
Optional: AWS CLI - 101
AWS CDK CLI

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


References
Developing first CDK App
Tagging
AWS Pre-requisites
[Optional] Setup: AWS CLI
Setup: AWS CDK
Setup: Typescript
Optional: AWS S3 - 101
Quiz: Developing first CDK App
Source Code
Other Courses
Constructs
Optional: AWS Lambda - 101
Demo - Using L1 Constructs
Demo - Using L2 Constructs
Demo - Using L3 Constructs
Creating your own Construct
Quiz: CDK Constructs
Apps & Stacks
Apps
Stacks
Demo: Creating Multiple Tasks
Demo: Grouping Multiple Tasks
Demo: Nested Stacks
Quiz : Apps & Stacks
Stacks API
Environments
Demo: Tag Resources
Demo: Environments using Profiles
Demo: Environments with Code
Demo: Environments with Environment Variables
Quiz: Environments
Resources
Resources & Identifiers
Referencing Resources
Demo: Referencing resources inside the same stack
Demo: Referencing resources in different stacks
Removal Policy
Demo: Removal Policy
Quiz: Resources
Tags
Demo: Tag Resources with Priority
Advanced Tagging
Quiz : Tagging
Assets
Demo: AWS S3 Assets
Demo: Docker Image Assets : Notes
Optional: AWS ECR - 101
Optional: AWS Fargate - 101
Optional: AWS ECS - 101
Demo: Docker Image Assets
Quiz : Assets
Permissions
CDK Permissions: Grants
CDK Grants: Notes
Principal : Notes
CDK Permissions: Roles & Policies
External Resources : Notes
Quiz : CDK Permissions
Context
Context Overview
Demo: Context and Caching
Context for Custom Configuration
Reference
Quiz : Context
Aspects
Testing CDK Applications - Part 1
Demo: Assets
Additional Concepts

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

Escape Hatches
AWS CodeWhisperer and CDK
CDK Migrate
Testing
Testing CDK Applications - Part 2
Demo: Basic Testing
Demo: Testing with Match
Demo: Testing Snapshots
Best Practices
Best Practices: Security
Best Practices: Maintainability
Best Practices : Reliability
Conclusion & References

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses Typescript, a popular language, which can help developers write robust and scalable infrastructure as code for AWS cloud services
Covers AWS Cloud Development Kit (CDK), which allows developers to define cloud infrastructure in familiar programming languages
Explores infrastructure as code (IaC) concepts, which are essential for modern cloud deployments and DevOps practices
Includes sections on testing CDK applications, which is crucial for ensuring the reliability and correctness of infrastructure deployments
Requires familiarity with AWS CLI and Typescript, which may pose a barrier to entry for some beginners
Features optional sections on AWS services like Lambda, S3, ECR, ECS, and Fargate, which may require additional learning outside the scope of the course

Save this course

Save AWS CDK in Typescript | A Comprehensive Guide for Beginners 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 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