In this course, you will create multiple microservices in TypeScript, using the NestJS framework and Dockercontainers, building a backend application to interact with Amazon Web Services resources, such as those mentioned below. These resources will be created in AWS using the AWS Cloud Development Kit (CDK) V2, a modern way to model and provision infrastructure as code (IaC) in AWS. AWS CDK is one of the best infrastructure as code, or IaC, tools for AWS.
NestJS is a powerful NodeJS framework for building server-side applications with annotations, controllers, services, request interceptors, and much more.
The following diagram illustrates the project architecture that will be built in this course:

This course will cover the following AWS resources and tools with practical exercises:
- AWS ECS: the Elastic Container Service is the container orchestration service from AWS. With this service, you can manage the execution of Docker-based microservice containers in a robust and scalable way. And with AWS Fargate, the Serverless compute for containers from Amazon Web Services, there is no need to create EC2 instances, reducing the operational cost of container-based applications;
- AWS ECR: with the Elastic Container Registry from AWS, you can create private repositories to store Docker images of your microservice containers;
- AWS VPC: with the Virtual Private Cloud you can protect your infrastructure with private subnets and network security policies for inbound and outbound traffic rules;
- AWS ALB: the Application Load Balancer allows incoming HTTP traffic to be balanced across all available application instances, and with integrated target groups, each instance can be monitored to receive traffic only if it is healthy;
- API Gateway REST: with Amazon API Gateway you can protect your application REST API and validate query string parameters and request bodies;
- CloudWatch Logs: responsible for centralizing application logs and their metrics. The applications created in this course will generate logs in CloudWatch Logs in JSON format. This way, we can inject parameters into the logs to be used in queries in the AWS CloudWatch Logs Insights console;
- CloudWatch Alarms: with CloudWatch alarms, you can monitor abnormal occurrences in applications and AWS resources;
- CloudWatch Container Insights: with Container Insights, you can aggregate monitoring information from applications running on AWS ECS, including their logs;
- DynamoDB: DynamoDB is a powerful managed NoSQL and non-relational database service;
- SQS: or Simple Queue Service, is a queue service that enables asynchronous communication between applications for exchanging messages and events;
- SNS: with SNS, or Simple Notification Service, you can create topics and publish messages to be received by various resources and applications;
- S3: S3, or Simple Storage Service, provides serverless file storage. Additionally, S3 generates notifications when files are added to it;
- X-Ray: AWS X-Ray is a service that enables analysis and debugging of distributed applications;
- IAM: the Identity and Access Management allows the management of roles and permissions granted to users and services to access other AWS resources;
- AWS Cost Explorer: with the Cost Explorer you can generate cost charts about resource consumption, divided by resource types and tags, which can identify applications and their parts.
These resources will be created in AWS using AWS Cloud Development Kit - CDK V2, a modern way to model and provision infrastructure as code in AWS using TypeScript. AWS CDK is ideal if you want to work as DevOps on the infrastructure of applications hosted on AWS.
With this, you will also learn to use the AWS SDK V3 for JavaScript, which is a set of libraries developed by AWS itself to access its services through applications, such as those that will be developed here using NestJS. So you will learn to integrate AWS SDK V3 into an application built with NestJS.
With the AWS SDK V3 for JavaScript, it is very easy to access AWS resources elegantly, creating operations to be executed concurrently.
If you already have an AWS certification and are looking for practical experience, you can get it with this course through the exercises that will be offered here.
This course has a good balance between theoretical and practical exercises. You can expect detailed explanations with diagrams and well-guided implementations, always with a well-defined purpose.
Note: This course is not intended to prepare you for an AWS certification exam. There are other courses that are specific to AWS certifications.
Also included in the package when you purchase this course:
- Student support through the questions and answers section;
- Project source code to help you get started with the course;
- Quizzes to test your knowledge about the course topics;
- Practical exercises to practice, with detailed solutions provided by the instructor;