Criando microsserviços em Java com AWS ECS Fargate e AWS CDK
What you'll learn
- Criar microsserviços com Spring Boot com o AWS ECS e o Fargate, o Serverless compute for containers da AWS, integrando com outros serviços como SNS, SQS e S3.
- Construir a infraestrutura dos recursos na AWS com o AWS Cloud Development Kit (CDK), modelando e provisionando os recursos utilizando a linguagem Java.
- Persistir eventos utilizando tabela do AWS DynamoDB, configurando-a em modo provisionado com auto scaling e em modo on demand.
- Criar microsserviços Spring boot baseados em containers Docker e utilizar o AWS ECS
- Persistir dados em uma instância do MySQL construída com o AWS RDS
- Publicar eventos em tópicos utilizando o AWS SNS
- Consumir eventos em filas utilizando o AWS SQS
- Construir um mecanismo de importação de arquivos utilizando o AWS S3
- Configurar opções de auto-scaling de tabelas do DynamoDB
- Configurar chaves compostas nas tabelas do DynamoDB
- Criar um application load balancer para dividir o tráfego entre várias instâncias da aplicação
- Monitorar serviços construídos com AWS ECS utilizando CloudWatch Insights
- Monitorar serviços como SQS, ALB e DynamoDB através de seus gráficos e métricas
- Testar aplicações localmente, simulando os serviços da AWS com o LocalStack
Requirements
- Nenhum conhecimento prévio de AWS é necessário
- Programação orientada a objetos
- Serviços REST
- Não será necessário instalar nenhum software pago para acompanhar o curso
- Conta da AWS. Podem haver cobranças pelo uso dos recursos da AWS.
Description
Nesse curso você irá criar dois microservices em Java utilizando Spring Boot em containers Docker, construindo uma aplicação de backend para interagir com recursos da Amazon Web Services, como os citados a seguir. Esses recursos serão criados na AWS utilizando o AWS Cloud Development Kit (CDK), uma forma moderna de modelamento e provisionamento de infraestrutura na AWS. O AWS CDK é um das melhores ferramentas de infraestrutura como código, ou IaC, para a AWS.
AWS ECS: o Elastic Container Service é o serviço de orquestração de containers da AWS. Com ele é possível gerenciar a execução de microsserviços Java baseados em containers Docker de forma robusta e escalável. E com o AWS Fargate, o Serverless compute for containers da Amazon Web Services, não é necessário criar instâncias de máquinas EC2, reduzindo o custo de operação de aplicações de backend baseadas em containers;
AWS RDS: o Relational Database Service é um recurso que permite a criação de instâncias de banco de dados, com serviços como backups automáticos e diretrizes de segurança de acesso;
AWS SNS: o Simple Notification Service é um recurso muito utilizado para criação de mecanismos de notificações para diversas aplicações ou outros serviços;
AWS SQS: o Simple Queue Service é um recurso que permite a criação de filas para entrega de mensagens de forma rápida e confiável, possibilitando a criação de um mecanismo assíncrono de comunicação entre aplicações;
AWS DynamoDB: esse é um poderoso serviço de banco de dados NoSQL, que permite a criação de tabelas, sem a necessidade de se criar um servidor, com características de exclusão automática de dados, escalabilidade e muito mais;
AWS S3: o Simple Storage Service permite a criação de buckets para armazenamento seguro de arquivos. Além disso é possível configurar eventos a serem gerados quando esses arquivos são colocados nesses buckets, fazendo com outras aplicações sejam avisadas desses eventos.
AWS CDK: todos os recursos serão criados na AWS utilizando o AWS Cloud Development Kit - CDK, uma forma moderna de modelagem e criação de infraestrutura na AWS, utilizando a linguagem Java.
Com isso você aprenderá também a utilizar o AWS SDK em Java, que é um conjunto de bibliotecas desenvolvido pela própria Amazon Web Services para utilizar seus serviços. Você também aprenderá como monitorar os serviços através de gráficos e métricas, além de utilizar o CloudWatch Insights, para visualização e pesquisa de logs das aplicações. Aprenda tudo isso com explicações detalhadas e exercícios práticos, onde você poderá testar suas habilidades e aplicar os conceitos aprendidos. Ao final desse curso, você estará confiante para arquitetar e desenvolver serviços na AWS de forma escalável e robusta.
Esses recursos serão criados na AWS utilizando o AWS Cloud Development Kit - CDK, uma forma moderna de modelagem e provisionamento de infraestrutura na AWS, utilizando a linguagem Java. O AWS CDK é ideal se você deseja trabalhar na área de DevOps e Infrastructure as Code.
Se você já possui certificação da AWS e está procurando uma experiência prática, você pode obter isso com esse curso, através dos exercícios que serão oferecidos aqui.
Você também poderá baixar os códigos fontes dos projetos que serão desenvolvidos ao longo do curso.
Esse curso possui um bom balanceamento entre teoria e prática. Então você pode esperar explicações detalhadas com diagramas e implementações bem guiadas, sempre com um propósito bem definido.
Aprenda a testar as aplicações localmente, emulando alguns recursos da Amazon Web Services na sua máquina de desenvolvimento com o LocalStack.
Observação: o intuito desse curso não é te preparar para uma prova de certificação da AWS. Existem outros cursos que são específicos para as certificações da AWS.
O que também está incluído no pacote ao adquirir o curso:
Suporte ao aluno, através da sessão de perguntas e respostas da plataforma;
Código fonte de tudo o que será feito, disponível para download;
15 quizzes para você testar seu conhecimento do que foi ensinado;
9 exercícios práticos para você praticar, com soluções detalhadas feitas pelo instrutor;
Legendas profissionais nos vídeos, corrigidas e adaptadas corretamente pelo próprio instrutor. Não são legendas geradas automaticamente.
Quem sou eu, o instrutor:
Trabalho diariamente com as tecnologias apresentadas nesse curso por quase 4 anos, atuando como desenvolvedor de soluções hospedadas na AWS;
Tenho lecionado disciplinas de cloud computing, principalmente AWS, em curso de pós-graduação há quase 10 anos;
Tenho livros publicados sobre o assunto;
Faço parte da comunidade global AWS Community Builder 2020/2021/2022, criada pela própria Amazon Web Services.
Créditos para as músicas utilizadas no curso: Bensound
Who this course is for:
- Desenvolvedores que queiram aprender sobre criação de microsserviços utilizando AWS ECS
- Iniciantes em cloud computing, com conhecimento prévio ou não, que desejam aprender mais sobre AWS
- Profissionais da área de DevOps que desejam aprender a construir infraestrutura para containers na AWS
- Profissionais com certificações da AWS que queiram obter uma experiência prática nos serviços da AWS
- Profissionais que queiram ter uma experiência prática em infraestrutura como código, ou IaC
Instructor
I am Paulo Siécola, Master of Science in Computer Science by São Paulo University - USP. Backend and mobile developer. Author of books about cloud computing and mobile development. Professor in cloud computing.
I am acting as a software developer, creating microservices with Spring Boot and NodeJS, using Amazon Web Services, for different fields, and also mobile applications to Android and iOS.
Member of AWS Community Builder 2020/2021/2022.