When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

Deploy Spring Boot services to AWS ECS Fargate with AWS CDK
Create microservices with AWS ECS, AWS CDK V2, Spring Boot V3 in Java 21. Learn to use SNS, SQS, DynamoDB, S3,AWS SDK V2

This Course Includes
udemy
4.8 (61 reviews )
24h 9m
english
Online - Self Paced
professional certificate
Udemy
About Deploy Spring Boot services to AWS ECS Fargate with AWS CDK
In this course you will create several microservices in
Java 21
, using the
Spring Boot V3
framework and
Docker
containers, building a backend application to interact with Amazon Web Services resources, as the 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 in AWS. The AWS CDK is one of the best
infrastructure as code
, or
IaC
, tools for AWS;
Spring Boot V3
is a powerful
Java
framework to build server-side applications with annotations, controllers, services, request interceptors and much more. This course will cover the following AWS resources and tools with practical exercises:
AWS ECS:
the
Elastic Container Service
is the AWS container orchestration service. With this service it's possible to manage the Docker based microservices containers execution in a robust and scalable way. And with the
AWS Fargate
, the Serverless compute for containers from Amazon Web Services, it isn't necessary create EC2 instances, reducing the operating cost of container based applications;
AWS ECR:
with the Elastic Container Registry from AWS it's possible to create private repositories to store the microservices' container Docker images;
AWS VPC:
with the Virtual Private Cloud it's possible to secure the infrastructure with private subnets and network security policies for inbound and outbound traffic rules;
AWS ALB:
the Application Load Balancer from AWS allows the incoming HTTP traffic to be balanced between all the available application instances, and with the integrated target groups, each instance can be monitored to only receive traffic if it is healthy;
API Gateway REST:
with the AWS
API Gateway
it's possible to protect the application
REST API
, as well as performing query string parameter and requests' body validation;
CloudWatch Logs:
responsible for concentrating applications logs and its metrics. The applications that will be created in this course will generate logs into CloudWatch Logs in a JSON format, using the
log4j2
library. In this way, we can inject parameters in the logs, to be used in queries in the
AWS CloudWatch Logs Insights
console;
CloudWatch Alarms:
with the alarms from
CloudWatch
it will be possible to monitor the abnormal occurrences from the applications and AWS resources;
CloudWatch Container Insights:
with the
Container Insights
it's possible to aggregate monitoring information from the applications running in AWS ECS, including its logs;
DynamoDB:
the
DynamoDB
is a powerful NoSQL and non-relational database managed service. This course presents the usage of the
DynamoDB enhanced client
from the
AWS SDK V2 for Java,
which is a high-level library that allows a way to map client-side classes to DynamoDB tables;
SQS:
the SQS, or
Simple Queue Service
, is a queue service which allows asynchronous communication between applications, in order to exchange messages and events;
SNS:
with the SNS, or
Simple Notification Service
, it's possible to create topics and publish messages to be received by several resources and applications;
S3:
the S3, or
Simple Storage Service
, has a file storage with no server provisioning. Also, the S3 generates notifications when files are added to it;
X-Ray:
the
AWS X-Ray
is a service which allows analysis and debugging of distributed applications;
IAM:
the
Identity and Access Management
from AWS allows roles and permissions management, granted to users and services to access other AWS resources;
AWS Cost Explorer:
with the
Cost Explorer
from AWS it's possible to generate cost graphs about resource consumption, split by resource types and tags, which can identify applications and their parts. These resources will be created on AWS using the AWS Cloud Development Kit - CDK, a modern way of modeling and provisioning infrastructure on AWS using the
Java
language. The AWS CDK is ideal if you want to work in the
DevOps
and in the
infrastructure as code
fields. With this you will also learn how to use the
AWS SDK V2 for Java
, which is a set of libraries developed by AWS itself to use its services. The
AWS SDK V2 for Java
is fully integrated with the
Spring Boot
V3
framework and with
JDK 21
libraries, so it's very easy to access the AWS resources in an elegant way, creating operations to be execute concurrently. If you already have
AWS certification
and are looking for hands-on experience, you can get that 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 buy this course:
Student support
, through the platform questions and answers section;
Project source code
to help you at the beginning of the course;
Quizzes
to test your knowledge about course topics;
Practical exercises
to let you practice, with detailed solutions offered by the instructor;
About the instructor:
I've been worked daily with the presented technologies
in this course since 2016, acting as an AWS hosted solutions developer;
I've been a
profesor in cloud computing and mobile
subjects, including AWS, in a postgraduate course for almost 10 years;
I have
published books
on the subject;
I am part of the AWS Community Builder since 2020, a global community created by
Amazon Web Services.
Credits for the music used in the course presentation: Bensound - License code: 8XYDILY4RHGNN6VB
What You Will Learn?
- Build microservices in Spring Boot V3 and Java 21, with AWS ECS and Fargate, the Serverless compute for containers from AWS, using DynamoDB, SNS, SQS, S3, API; .
- Use AWS Cloud Development Kit (CDK) V2 to model and provision the infrastructure on AWS using Java. The AWS CDK is one of the best infrastructure as code tool; .
- Use AWS SDK V2 for Java to access AWS resources, which is fully integrated with the Spring Boot framework and with JDK libraries to execute jobs concurrently; .
- Build API with AWS API Gateway, with query string parameters and request body validations; .
- AWS CloudFormation and resources organized in stacks; .
- Model and provision resources on AWS with the AWS Cloud Development Kit (CDK) in Java; .
- Create microservices using AWS Fargate without having to create infrastructure such as machine instances; .
- Create clusters with AWS ECS service to control the application tasks' execution; .
- Use AWS S3 to create an event-based file processing mechanism, integrated with AWS ECS services; .
- Balance the requests between the application instances using the AWS Application Load Balancer service; .
- Monitor microservices execution with the AWS X-Ray; .
- Create subnets and network security rules using AWS VPC, to protect the application containers; .
- Monitor application health using the AWS Target Groups, fully integrated with AWS ECS services; .
- Create tables in AWS DynamoDB with a composite primary key; .
- Learn how to query items from AWS DynamoDB tables using a composite primary key; .
- Configure AWS DynamoDB tables in provisioned mode and with auto scaling; .
- Configure AWS DynamoDB tables in on-demand mode; .
- Monitor consumption graphs in AWS DynamoDB console; .
- View logs from the microservices in AWS CloudWatch Insights; .
- Publish messages to topics on AWS SNS via microservices; .
- Consume AWS SQS messages from the microservices in a Spring Boot application; .
- Subscribe AWS SQS queues to AWS SNS topics with message filtering; .
- Import files using AWS S3, consuming its events from AWS SQS queues; .
- Store the application Docker images in private repositories using the AWS ECR; .
- Monitor application logs, parameters, and resource events for alarm generation with AWS CloudWatch Alarms; .
- Create a Dead-Letter Queue engine with AWS SQS; .
- Control costs through resource tags in AWS Cost Explorer; .
- Control access permissions for specific DynamoDB items with AWS IAM policies; Show moreShow less.