Arquitetura com ECS, DockerHub e RDS

Esse livro é destinado a desenvolvedores de software, com ou sem experiência em cloud computing, que desejam se aprofundar nos serviços oferecidos pela AWS. Também é uma fonte de conhecimento para administradores e operadores de sistemas, para se familiarizarem com as ferramentas de criação e administração de recursos de cloud computing da AWS.

Os microsserviços ensinadas nesse livro, como forma de exemplificação dos conceitos que serão apresentados, utilizam frameworks e ferramentas modernas, como Spring Boot e Docker. Dessa forma, o leitor aprenderá a trabalhar com tais tecnologias em conjunto com os serviços de cloud computing.

Arquitetura com ECS, RDS, SNS, SQS e DynamoDB

Durante o livro será utilizado o ECS, o Elastic Container Service, que é o serviço de orquestração de containers da AWS. Com ele é possível gerenciar a execução de microsserviços baseados em containers Docker de forma robusta e escalável.

Todos os exemplos possuem código-fonte disponíveis para acesso gratuito. A seguir uma breve descrição de cada um deles:

Project01: nesse exemplo será construída um microsserviço com serviços REST para cadastro de produtos de uma loja. Tais produtos serão armazenados em um banco de dados MySQL utilizando o AWS RDS. Em cada operação de cadastro, exclusão ou alteração de um produto, um evento será publicado em um tópico do AWS SNS, permitindo a integração com outros microsserviço. Esse microsserviço também fará importação de arquivos de notas fiscais através do AWS S3.

Arquitetura com ECS, RDS, SNS e S3

Project02: esse projeto contará com uma tabela do AWS DynamoDB, para armazenar os eventos gerados pelo microsserviço de cadastro de produtos, integrado através de uma fila do AWS SQS.

Lambda01: esse será um exemplo simples de uma aplicação serverless utilizando funções com o AWS Lambda, demonstrando como agendar a execução de uma função.

Lambda02: nesse segundo exemplo, será demonstrado como executar uma função Lambda através de um evento publicado no SNS.

Lambda03: aqui será apresentado como criar uma função Lambda para consumir arquivos importados no S3 e gravar seus dados em uma tabela do DynamoDB.