Architecture with ECS, DockerHub and RDS

This book is intended for software developers, with or without cloud computing experience, who want to dig deeper into the services offered by AWS. It is also a source of knowledge for administrators and system operators to familiarize themselves with AWS cloud resource creation and administration tools.

The applications taught in this book, as an example of the concepts that will be presented, use modern frameworks and tools such as Spring Boot and Docker. In this way, the reader will learn to work with such technologies in conjunction with cloud computing services.

Architecture with ECS, RDS, SNS, SQS and DynamoDB

This book will use ECS, the Elastic Container Service, which is AWS's container orchestration service. With it is possible to manage the execution of applications based on Docker containers in a robust and scalable way.

All examples have source code available for free access. The following is a brief description of each of them:

Project01: In this example, an application will be built with REST services for product registration, in a store context. Such products will be stored in a MySQL database using AWS RDS. For each product registration, deletion, or change operation, an event will be published to an AWS SNS topic, allowing integration with other applications. This application will also import invoice files through AWS S3.

Architecture with ECS, RDS, SNS and S3

Project02: This project will use an AWS DynamoDB table to persist the events generated by the first application, integrated through an AWS SQS queue.

Lambda01: This will be a simple example of a serverless application using functions with AWS Lambda, demonstrating how to schedule a function to be executed.

Lambda02: In this second example, we will demonstrate how to execute a Lambda function through an event published in the SNS.

Lambda03: Here's how to create a Lambda function to consume imported files in S3 and persist its data to a DynamoDB table.