SlideShare uma empresa Scribd logo
SATADS
Desenvolvimento com recursos da AWS
Sobre mim
Sobreponha sua imagem
e corte no formato indicado
Anderson de Oliveira Contreira
Líder Técnico e Analista de Sistemas Sênior na Rentcars.com
Experiência: Trabalho na área desde 2009;
Formação Acadêmica:
● Tecnólogo em Sistemas para Internet, Uninter - 2012;
● Pós em Arquitetura de Software Distribuído, PUC Minas (cursando);
Principais empresas que trabalhei:
● Ometz Group (Wise Up e You Move) - 2 anos e 6 meses;
● Rentcars.com - 3 anos e 4 meses;
Principais linguagens de desenvolvimento: PHP, Java, Node.js e Python.
https://www.linkedin.com/in/andersoncontreira
https://github.com/andersoncontreira
Sumário
01 Arquitetura na nuvem da AWS
02 Alguns modelos de arquiteturas
03 Arquitetura serverless
04 Exemplo prático
05 Step-by-step
06 Demonstração
07 Recomendações
08 Códigos fontes
Arquitetura na nuvem da AWS
Uma das mais utilizadas atualmente
Arquitetura na nuvem da AWS
Fonte: https://aws.amazon.com/pt/what-is-cloud-computing/?nc1=f_cc
01
03
02
04
A arquitetura fica separada em
contextos, nos quais você pode realizar
alterações controladas e programadas
sem afetar outras partes de sua
aplicação.
Arquitetura distribuída
Custos sob demanda e sem a
necessidade de manter uma
infraestrutura complexa e cara.
Economia de custos
A Amazon tem data centers em diversas
regiões do mundo, com isso há a
possibilidade de provisionar uma
aplicação nessas regiões de forma
prática.
Alta disponibilidade
Os recursos fornecidos pela Amazon
foram idealizados para serem escaláveis,
através de configurações se obtém esse
resultado.
Escalabilidade
Alguns modelos de arquiteturas
Exemplos de arquiteturas como: serverless, container e EC2
Alguns modelos de arquitetura
Sobreponha sua imagem
e corte no formato indicado
Fonte: https://www.gocd.org/2017/06/26/serverless-architecture-continuous-delivery/
01 Serviço serverless
Lambda + Jenkins CI.
02 Serviço serverless + Serverless framework
Lambda + Serverless framework.
03 Serviço em containers
Docker + Jenkins CI.
04 Serviço em instâncias EC2
Serviço serverless (Lambda + Jenkins CI)
A
B
C
D
E
Os desenvolvedores realizam a
implementação e mantém o código em
um repositório git.
A integração contínua é provida pelo Jenkins
CI.
A configuração dos recursos é realizada pela
equipe de DevOps.
Serviço serverless (Lambda + Serverless framework)
A
B
C
D
E
Os desenvolvedores realizam a
implementação e mantém o código em
um repositório git.
A integração contínua é realizada pelo
próprio desenvolvedor via Serverless
framework.
A configuração da aplicação por meio do
arquivo de configuração gera os recursos via
Cloud Formation.
Serviço em containers (Docker + Jenkins CI)
A
B
C
D
E
Os desenvolvedores realizam a
implementação e mantém o código em
um repositório git.
A integração contínua é provida pelo Jenkins
CI.
A configuração dos recursos é realizada pela
equipe de DevOps.
Serviço em instâncias EC2
A
B
C
D
E
Os desenvolvedores realizam a
implementação e mantém o código em
um repositório git.
.
A integração contínua é provida pelo Jenkins
CI.
A configuração dos recursos é realizada pela
equipe de DevOps.
Arquitetura serverless
Utilizando recursos para criar uma arquitetura distribuída sem servidor
Arquitetura serverless
● Arquitetura orientada a eventos
● Utilização de micro serviços
● Serviços gerenciados
● Processamento paralelizado
Vantagens
● Comunicação via APIs
● Dependência de terceiros
● Escalonamento automático sem
controle do responsável
● Complexidade na arquitetura se
não tiver o devido cuidado
Desvantagens
Arquitetura serverless - Etapas
01 Analisar necessidade
02 Identificar recursos e tecnologias
03 Modelar arquitetura
04 Desenvolver
05 Configurar arquitetura
06 Testar
07 Publicar
08 Aprimorar
Exemplo prático
Definindo uma arquitetura serverless
Exemplo prático - Analisar a necessidade
A teoria é legal, mas e a prática?
● Vou ilustrar a criação de uma arquitetura para um projeto MVP;
● Utilizar alguns dos recursos comuns da AWS;
● Desenvolver um arquitetura serverless.
O que eu preciso?
● Cadastro de usuários e currículos;
● Autenticação;
● Armazenamento de conteúdo;
● Manutenção fácil.
Exemplo prático - Identificar tecnologias
● Vue.js
● Bootstrap
● Hospedagem estática no S3
Frontend
● Node.js + Aws-Express + RESTful
● Framework Serverless
● Api Gateway
● DynamoDB
● Micro serviços
Backend
Exemplo prático - Modelar a arquitetura
Step-by-step
Fotos ilustrativas do passo-a-passo
Step-by-step - Etapas
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Serverless framework
Sobreponha sua imagem
e corte no formato indicado
Instalar e configurar um usuário para o serverless.
Step-by-step - Serverless framework
Sobreponha sua imagem
e corte no formato indicado
Instalar e configurar um usuário para o serverless.
Step-by-step - Serverless framework
Sobreponha sua imagem
e corte no formato indicado
Instalar e configurar um usuário para o serverless.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Step-by-step - Projetos e repositórios
Sobreponha sua imagem
e corte no formato indicado
Criar e configurar os projetos.
Step-by-step - Projetos e repositórios
Sobreponha sua imagem
e corte no formato indicado
Criar e configurar os projetos.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código dos serviços.
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código dos serviços.
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Configurar serverless.
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Step-by-step - Micro serviços e site estático
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Step-by-step - S3
Sobreponha sua imagem
e corte no formato indicado
Criar bucket e configurar o mesmo como static website.
Step-by-step - S3
Sobreponha sua imagem
e corte no formato indicado
Criar bucket e configurar o mesmo como static website.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Step-by-step - CloudFront
Sobreponha sua imagem
e corte no formato indicado
Configurar o CloudFront para distribuir o site.
Step-by-step - CloudFront
Sobreponha sua imagem
e corte no formato indicado
Configurar o CloudFront para distribuir o site.
Step-by-step - CloudFront
Sobreponha sua imagem
e corte no formato indicado
Configurar certificado SSL para o CNAME.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Step-by-step - Api Gateway
Sobreponha sua imagem
e corte no formato indicado
Configurar o Api Gateway para apontar para os micro serviços.
Fonte: Proxima Nova 6pt
Criar e dar acesso
ao usuário do
framework.
Serverless
framework
Desenvolver
micro serviços e
site estático.
Configurar o
serverless.
Micro serviços
e site estático Configurar o
CloudFront para
distribuir o site.
Configurar
certificado SSL
para o CNAME.
CloudFront
Criar repositórios
e estruturas
básicas dos
projetos.
Projetos e
repositórios
Criar bucket e
configurar o
mesmo como
static website.
S3
Configurar o Api
Gateway para
apontar para os
micro serviços.
Api Gateway
Step-by-step - Etapas
Fonte: Proxima Nova 6pt
Configurar os
DNS desejados
para o
CloudFront.
Route 53
Realizar os testes
a fim de garantir o
correto
funcionamento.
Testar
Melhorar o que
for necessário, se
necessário.
Aprimorar
Configurar
credenciais para
disparo de emails.
SES
Publicar e
acompanhar a
aplicação.
Publicar
Step-by-step - Etapas
Step-by-step - Route 53
Sobreponha sua imagem
e corte no formato indicado
Configurar o CloudFront e Api Gateway.
Fonte: Proxima Nova 6pt
Configurar os
DNS desejados
para o
CloudFront.
Route 53
Realizar os testes
a fim de garantir o
correto
funcionamento.
Testar
Melhorar o que
for necessário, se
necessário.
Aprimorar
Configurar
credenciais para
disparo de emails.
SES
Publicar e
acompanhar a
aplicação.
Publicar
Step-by-step - Etapas
Step-by-step - SES
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Step-by-step - SES
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Step-by-step - SES
Sobreponha sua imagem
e corte no formato indicado
Desenvolver código do site estático.
Fonte: Proxima Nova 6pt
Configurar os
DNS desejados
para o
CloudFront.
Route 53
Realizar os testes
a fim de garantir o
correto
funcionamento.
Testar
Melhorar o que
for necessário, se
necessário.
Aprimorar
Configurar
credenciais para
disparo de emails.
SES
Publicar e
acompanhar a
aplicação.
Publicar
Step-by-step - Etapas
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Realizar o deploy dos micro serviços.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Publicar o conteúdo do site estático no S3.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Realizar os testes a fim de garantir o correto funcionamento.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Testar a lambda function.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Testar Api Gateway.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Validar publicação do código no bucket do S3.
Step-by-step - Testar
Sobreponha sua imagem
e corte no formato indicado
Publicar código estático no bucket do S3 e testar.
Fonte: Proxima Nova 6pt
Configurar os
DNS desejados
para o
CloudFront.
Route 53
Realizar os testes
a fim de garantir o
correto
funcionamento.
Testar
Melhorar o que
for necessário, se
necessário.
Aprimorar
Configurar
credenciais para
disparo de emails.
SES
Publicar e
acompanhar a
aplicação.
Publicar
Step-by-step - Etapas
Step-by-step - Publicar
Sobreponha sua imagem
e corte no formato indicado
Publicar serviço e os demais recursos.
Step-by-step - Publicar
Sobreponha sua imagem
e corte no formato indicado
Publicar serviço e os demais recursos.
Step-by-step - Publicar
Sobreponha sua imagem
e corte no formato indicado
Publicar serviço e os demais recursos.
Fonte: Proxima Nova 6pt
Configurar os
DNS desejados
para o
CloudFront.
Route 53
Realizar os testes
a fim de garantir o
correto
funcionamento.
Testar
Melhorar o que
for necessário, se
necessário.
Aprimorar
Configurar
credenciais para
disparo de emails.
SES
Publicar e
acompanhar a
aplicação.
Publicar
Step-by-step - Etapas
Demonstração
Exemplo funcional da arquitetura serverless
Demonstração
Fonte: https://www.gocd.org/2017/06/26/serverless-architecture-continuous-delivery/
Sobreponha sua imagem
e corte no formato indicado
Acesse aqui:
https://satads.hagatus.com.br
Recomendações
Leituras que podem colaborar no seu desenvolvimento
Recomendações
Leituras que podem colaborar no seu desenvolvimento:
● Sobre serverless:
○ https://martinfowler.com/articles/serverless.html
○ http://viniciusgarcia.me/development/o-que-eh-arquitetura-serverless/
○ https://www.infoq.com/serverless/
○ https://medium.com/@fidelissauro/13-coisas-que-aprendi-em-1-ano-usando-serverless-em-produ%C3
%A7%C3%A3o-40e4e5e50470
○ https://medium.com/@dayvsonlima/voc%C3%AA-sabe-o-que-%C3%A9-arquitetura-serverless-1f6dd11
84e5b
● Exemplos de usos do framework serverless:
○ https://github.com/serverless/examples
Códigos fontes
Acesso ao material desenvolvido para o evento
Códigos fontes
Códigos fontes utilizados:
● Esqueleto para lambda function em Node.js:
○ https://github.com/andersoncontreira/aws-node-lambda-serverless-skeleton
● Serviço de autenticação:
○ https://github.com/andersoncontreira/satads-auth-service
● Serviço de dados da pessoa:
○ https://github.com/andersoncontreira/satads-mycv-service
● Site estático:
○ https://github.com/andersoncontreira/satads-mycv-static
● Apresentação:
○ https://github.com/andersoncontreira/satads-mycv-service
○ Obs: Vai estar junto ao projeto.
● Endpoint com a demonstração:
○ https://satads.hagatus.com.br/
Rentcars.com
Nossos canais:
● Site:
○ rentcars.com
● LinkedIn:
○ linkedin.com/company/rentcars
● Instagram:
○ instagram.com/rentcars.com_br
● Twitter:
○ twitter.com/rentcars
● Facebook:
○ facebook.com/rentcars
● Blog:
○ blog.rentcars.com
Agradecimentos e Perguntas
Sobreponha sua imagem
e corte no formato indicado
OBRIGADO!
Perguntas?
Demonstração:
https://satads.hagatus.com.br
Você pode me encontrar por aqui:
https://www.linkedin.com/in/andersoncontreira
https://github.com/andersoncontreira

Mais conteúdo relacionado

PDF
Macro Arquitetura de Software
PPTX
DevOps: desenvolvedores e sysadmins cooperando na prática
PDF
Treinamento Android Nooclix
PPTX
Primeiros passos utilizando o AWS Mobile Hub
PDF
Front7 React Native
PDF
Introdução ao docker
PDF
Jboss eap 6
PDF
Macro Arquitetura de Software
DevOps: desenvolvedores e sysadmins cooperando na prática
Treinamento Android Nooclix
Primeiros passos utilizando o AWS Mobile Hub
Front7 React Native
Introdução ao docker
Jboss eap 6

Mais procurados (20)

PPTX
Automatize seu processo de entrega de software com CI/CD na AWS
PPTX
Como começar com Amazon EKS
PDF
JavaME - Aula 1
PDF
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
PDF
Apresentação na PHP Conference Brasil 2012
PDF
ArcServe in the AWS Cloud - part II
PPTX
O Futuro do ASP.NET
PDF
Webinar: Introdução à Distribuição Contínua na AWS
PPTX
Futuro do ASP.NET vNext - MVP ShowCast
PDF
Microservices com ASP.NET 5
PPTX
3. apresentacao rp tec com 2018 gustavo bernardes
PPTX
Novidades do ASP.NET 5.X
PPT
PPTX
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
PPTX
Mvp show cast2014-it-security-proxyreversowebapplicationproxywindowsserver2012r2
PPSX
Comunicação em Tempo Real com ASP.Net SignalR
PPTX
Bibliotecas de interface rica no jsf 2
PPTX
Campus Party 2014 - Desenvolvimento Web com ASP.NET
PPTX
Estudo de caso ASP.NET MVC e Silverlight
PDF
Vantagens e desvantagens de uma arquitetura microservices
Automatize seu processo de entrega de software com CI/CD na AWS
Como começar com Amazon EKS
JavaME - Aula 1
JBoss Fuse Service Works - O Fuse além da integração - PT-BR
Apresentação na PHP Conference Brasil 2012
ArcServe in the AWS Cloud - part II
O Futuro do ASP.NET
Webinar: Introdução à Distribuição Contínua na AWS
Futuro do ASP.NET vNext - MVP ShowCast
Microservices com ASP.NET 5
3. apresentacao rp tec com 2018 gustavo bernardes
Novidades do ASP.NET 5.X
6. apresentacao rp tec com 2018 igor rozani e felipe muniz
Mvp show cast2014-it-security-proxyreversowebapplicationproxywindowsserver2012r2
Comunicação em Tempo Real com ASP.Net SignalR
Bibliotecas de interface rica no jsf 2
Campus Party 2014 - Desenvolvimento Web com ASP.NET
Estudo de caso ASP.NET MVC e Silverlight
Vantagens e desvantagens de uma arquitetura microservices
Anúncio

Semelhante a SATADS 2019 - Desenvolvimento com recursos da AWS (20)

PPTX
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
PDF
Introdução a arquitetura Serverless na AWS
PDF
Criando Aplicações Serverless
PPTX
PPTX
Foco no app, viva o serverless!
PPTX
Road to serverless
PPTX
Começando com aplicações serverless na AWS
PPTX
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
PPTX
Serverless com python
PDF
Serverless Framework - Creating serverless applications
PDF
Introdução a Microservices com Node.JS
PDF
Transformando a ti com cloud computing e virtualização
PDF
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
PDF
Arquiteturas de Software para o Século XXI
PDF
OpenShift : TaSafoConf 2012
PPTX
2016/08/19 - Uma visão geral da AWS para desenvolvedores
PDF
Microservices - Arquitetura, Ecossistema e Desafios
PPTX
Mergulhando em desenvolvimento de aplicações serverless
PPTX
Introdução S3 e Cloudfront
PDF
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
Usando Containers e Serverless para acelerar o desenvolvimento de aplicações ...
Introdução a arquitetura Serverless na AWS
Criando Aplicações Serverless
Foco no app, viva o serverless!
Road to serverless
Começando com aplicações serverless na AWS
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
Serverless com python
Serverless Framework - Creating serverless applications
Introdução a Microservices com Node.JS
Transformando a ti com cloud computing e virtualização
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Arquiteturas de Software para o Século XXI
OpenShift : TaSafoConf 2012
2016/08/19 - Uma visão geral da AWS para desenvolvedores
Microservices - Arquitetura, Ecossistema e Desafios
Mergulhando em desenvolvimento de aplicações serverless
Introdução S3 e Cloudfront
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
Anúncio

Último (11)

PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Utilizando code blockes por andre backes
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Design - Introdução a Gestalt e teoria das formas
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Manejo integrado de pragas na cultura do algodão
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Utilizando code blockes por andre backes
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Viasol Energia Solar -Soluções para geração e economia de energia
Eng. Software - pontos essenciais para o início
Tipos de servidor em redes de computador.pptx
Arquitetura de computadores - Memórias Secundárias
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Design - Introdução a Gestalt e teoria das formas
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...

SATADS 2019 - Desenvolvimento com recursos da AWS

  • 2. Sobre mim Sobreponha sua imagem e corte no formato indicado Anderson de Oliveira Contreira Líder Técnico e Analista de Sistemas Sênior na Rentcars.com Experiência: Trabalho na área desde 2009; Formação Acadêmica: ● Tecnólogo em Sistemas para Internet, Uninter - 2012; ● Pós em Arquitetura de Software Distribuído, PUC Minas (cursando); Principais empresas que trabalhei: ● Ometz Group (Wise Up e You Move) - 2 anos e 6 meses; ● Rentcars.com - 3 anos e 4 meses; Principais linguagens de desenvolvimento: PHP, Java, Node.js e Python. https://www.linkedin.com/in/andersoncontreira https://github.com/andersoncontreira
  • 3. Sumário 01 Arquitetura na nuvem da AWS 02 Alguns modelos de arquiteturas 03 Arquitetura serverless 04 Exemplo prático 05 Step-by-step 06 Demonstração 07 Recomendações 08 Códigos fontes
  • 4. Arquitetura na nuvem da AWS Uma das mais utilizadas atualmente
  • 5. Arquitetura na nuvem da AWS Fonte: https://aws.amazon.com/pt/what-is-cloud-computing/?nc1=f_cc 01 03 02 04 A arquitetura fica separada em contextos, nos quais você pode realizar alterações controladas e programadas sem afetar outras partes de sua aplicação. Arquitetura distribuída Custos sob demanda e sem a necessidade de manter uma infraestrutura complexa e cara. Economia de custos A Amazon tem data centers em diversas regiões do mundo, com isso há a possibilidade de provisionar uma aplicação nessas regiões de forma prática. Alta disponibilidade Os recursos fornecidos pela Amazon foram idealizados para serem escaláveis, através de configurações se obtém esse resultado. Escalabilidade
  • 6. Alguns modelos de arquiteturas Exemplos de arquiteturas como: serverless, container e EC2
  • 7. Alguns modelos de arquitetura Sobreponha sua imagem e corte no formato indicado Fonte: https://www.gocd.org/2017/06/26/serverless-architecture-continuous-delivery/ 01 Serviço serverless Lambda + Jenkins CI. 02 Serviço serverless + Serverless framework Lambda + Serverless framework. 03 Serviço em containers Docker + Jenkins CI. 04 Serviço em instâncias EC2
  • 8. Serviço serverless (Lambda + Jenkins CI) A B C D E Os desenvolvedores realizam a implementação e mantém o código em um repositório git. A integração contínua é provida pelo Jenkins CI. A configuração dos recursos é realizada pela equipe de DevOps.
  • 9. Serviço serverless (Lambda + Serverless framework) A B C D E Os desenvolvedores realizam a implementação e mantém o código em um repositório git. A integração contínua é realizada pelo próprio desenvolvedor via Serverless framework. A configuração da aplicação por meio do arquivo de configuração gera os recursos via Cloud Formation.
  • 10. Serviço em containers (Docker + Jenkins CI) A B C D E Os desenvolvedores realizam a implementação e mantém o código em um repositório git. A integração contínua é provida pelo Jenkins CI. A configuração dos recursos é realizada pela equipe de DevOps.
  • 11. Serviço em instâncias EC2 A B C D E Os desenvolvedores realizam a implementação e mantém o código em um repositório git. . A integração contínua é provida pelo Jenkins CI. A configuração dos recursos é realizada pela equipe de DevOps.
  • 12. Arquitetura serverless Utilizando recursos para criar uma arquitetura distribuída sem servidor
  • 13. Arquitetura serverless ● Arquitetura orientada a eventos ● Utilização de micro serviços ● Serviços gerenciados ● Processamento paralelizado Vantagens ● Comunicação via APIs ● Dependência de terceiros ● Escalonamento automático sem controle do responsável ● Complexidade na arquitetura se não tiver o devido cuidado Desvantagens
  • 14. Arquitetura serverless - Etapas 01 Analisar necessidade 02 Identificar recursos e tecnologias 03 Modelar arquitetura 04 Desenvolver 05 Configurar arquitetura 06 Testar 07 Publicar 08 Aprimorar
  • 15. Exemplo prático Definindo uma arquitetura serverless
  • 16. Exemplo prático - Analisar a necessidade A teoria é legal, mas e a prática? ● Vou ilustrar a criação de uma arquitetura para um projeto MVP; ● Utilizar alguns dos recursos comuns da AWS; ● Desenvolver um arquitetura serverless. O que eu preciso? ● Cadastro de usuários e currículos; ● Autenticação; ● Armazenamento de conteúdo; ● Manutenção fácil.
  • 17. Exemplo prático - Identificar tecnologias ● Vue.js ● Bootstrap ● Hospedagem estática no S3 Frontend ● Node.js + Aws-Express + RESTful ● Framework Serverless ● Api Gateway ● DynamoDB ● Micro serviços Backend
  • 18. Exemplo prático - Modelar a arquitetura
  • 20. Step-by-step - Etapas Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway
  • 21. Step-by-step - Serverless framework Sobreponha sua imagem e corte no formato indicado Instalar e configurar um usuário para o serverless.
  • 22. Step-by-step - Serverless framework Sobreponha sua imagem e corte no formato indicado Instalar e configurar um usuário para o serverless.
  • 23. Step-by-step - Serverless framework Sobreponha sua imagem e corte no formato indicado Instalar e configurar um usuário para o serverless.
  • 24. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 25. Step-by-step - Projetos e repositórios Sobreponha sua imagem e corte no formato indicado Criar e configurar os projetos.
  • 26. Step-by-step - Projetos e repositórios Sobreponha sua imagem e corte no formato indicado Criar e configurar os projetos.
  • 27. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 28. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Desenvolver código dos serviços.
  • 29. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Desenvolver código dos serviços.
  • 30. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Configurar serverless.
  • 31. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 32. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 33. Step-by-step - Micro serviços e site estático Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 34. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 35. Step-by-step - S3 Sobreponha sua imagem e corte no formato indicado Criar bucket e configurar o mesmo como static website.
  • 36. Step-by-step - S3 Sobreponha sua imagem e corte no formato indicado Criar bucket e configurar o mesmo como static website.
  • 37. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 38. Step-by-step - CloudFront Sobreponha sua imagem e corte no formato indicado Configurar o CloudFront para distribuir o site.
  • 39. Step-by-step - CloudFront Sobreponha sua imagem e corte no formato indicado Configurar o CloudFront para distribuir o site.
  • 40. Step-by-step - CloudFront Sobreponha sua imagem e corte no formato indicado Configurar certificado SSL para o CNAME.
  • 41. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 42. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 43. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 44. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 45. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 46. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 47. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 48. Step-by-step - Api Gateway Sobreponha sua imagem e corte no formato indicado Configurar o Api Gateway para apontar para os micro serviços.
  • 49. Fonte: Proxima Nova 6pt Criar e dar acesso ao usuário do framework. Serverless framework Desenvolver micro serviços e site estático. Configurar o serverless. Micro serviços e site estático Configurar o CloudFront para distribuir o site. Configurar certificado SSL para o CNAME. CloudFront Criar repositórios e estruturas básicas dos projetos. Projetos e repositórios Criar bucket e configurar o mesmo como static website. S3 Configurar o Api Gateway para apontar para os micro serviços. Api Gateway Step-by-step - Etapas
  • 50. Fonte: Proxima Nova 6pt Configurar os DNS desejados para o CloudFront. Route 53 Realizar os testes a fim de garantir o correto funcionamento. Testar Melhorar o que for necessário, se necessário. Aprimorar Configurar credenciais para disparo de emails. SES Publicar e acompanhar a aplicação. Publicar Step-by-step - Etapas
  • 51. Step-by-step - Route 53 Sobreponha sua imagem e corte no formato indicado Configurar o CloudFront e Api Gateway.
  • 52. Fonte: Proxima Nova 6pt Configurar os DNS desejados para o CloudFront. Route 53 Realizar os testes a fim de garantir o correto funcionamento. Testar Melhorar o que for necessário, se necessário. Aprimorar Configurar credenciais para disparo de emails. SES Publicar e acompanhar a aplicação. Publicar Step-by-step - Etapas
  • 53. Step-by-step - SES Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 54. Step-by-step - SES Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 55. Step-by-step - SES Sobreponha sua imagem e corte no formato indicado Desenvolver código do site estático.
  • 56. Fonte: Proxima Nova 6pt Configurar os DNS desejados para o CloudFront. Route 53 Realizar os testes a fim de garantir o correto funcionamento. Testar Melhorar o que for necessário, se necessário. Aprimorar Configurar credenciais para disparo de emails. SES Publicar e acompanhar a aplicação. Publicar Step-by-step - Etapas
  • 57. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Realizar o deploy dos micro serviços.
  • 58. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Publicar o conteúdo do site estático no S3.
  • 59. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Realizar os testes a fim de garantir o correto funcionamento.
  • 60. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Testar a lambda function.
  • 61. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Testar Api Gateway.
  • 62. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Validar publicação do código no bucket do S3.
  • 63. Step-by-step - Testar Sobreponha sua imagem e corte no formato indicado Publicar código estático no bucket do S3 e testar.
  • 64. Fonte: Proxima Nova 6pt Configurar os DNS desejados para o CloudFront. Route 53 Realizar os testes a fim de garantir o correto funcionamento. Testar Melhorar o que for necessário, se necessário. Aprimorar Configurar credenciais para disparo de emails. SES Publicar e acompanhar a aplicação. Publicar Step-by-step - Etapas
  • 65. Step-by-step - Publicar Sobreponha sua imagem e corte no formato indicado Publicar serviço e os demais recursos.
  • 66. Step-by-step - Publicar Sobreponha sua imagem e corte no formato indicado Publicar serviço e os demais recursos.
  • 67. Step-by-step - Publicar Sobreponha sua imagem e corte no formato indicado Publicar serviço e os demais recursos.
  • 68. Fonte: Proxima Nova 6pt Configurar os DNS desejados para o CloudFront. Route 53 Realizar os testes a fim de garantir o correto funcionamento. Testar Melhorar o que for necessário, se necessário. Aprimorar Configurar credenciais para disparo de emails. SES Publicar e acompanhar a aplicação. Publicar Step-by-step - Etapas
  • 69. Demonstração Exemplo funcional da arquitetura serverless
  • 70. Demonstração Fonte: https://www.gocd.org/2017/06/26/serverless-architecture-continuous-delivery/ Sobreponha sua imagem e corte no formato indicado Acesse aqui: https://satads.hagatus.com.br
  • 71. Recomendações Leituras que podem colaborar no seu desenvolvimento
  • 72. Recomendações Leituras que podem colaborar no seu desenvolvimento: ● Sobre serverless: ○ https://martinfowler.com/articles/serverless.html ○ http://viniciusgarcia.me/development/o-que-eh-arquitetura-serverless/ ○ https://www.infoq.com/serverless/ ○ https://medium.com/@fidelissauro/13-coisas-que-aprendi-em-1-ano-usando-serverless-em-produ%C3 %A7%C3%A3o-40e4e5e50470 ○ https://medium.com/@dayvsonlima/voc%C3%AA-sabe-o-que-%C3%A9-arquitetura-serverless-1f6dd11 84e5b ● Exemplos de usos do framework serverless: ○ https://github.com/serverless/examples
  • 73. Códigos fontes Acesso ao material desenvolvido para o evento
  • 74. Códigos fontes Códigos fontes utilizados: ● Esqueleto para lambda function em Node.js: ○ https://github.com/andersoncontreira/aws-node-lambda-serverless-skeleton ● Serviço de autenticação: ○ https://github.com/andersoncontreira/satads-auth-service ● Serviço de dados da pessoa: ○ https://github.com/andersoncontreira/satads-mycv-service ● Site estático: ○ https://github.com/andersoncontreira/satads-mycv-static ● Apresentação: ○ https://github.com/andersoncontreira/satads-mycv-service ○ Obs: Vai estar junto ao projeto. ● Endpoint com a demonstração: ○ https://satads.hagatus.com.br/
  • 75. Rentcars.com Nossos canais: ● Site: ○ rentcars.com ● LinkedIn: ○ linkedin.com/company/rentcars ● Instagram: ○ instagram.com/rentcars.com_br ● Twitter: ○ twitter.com/rentcars ● Facebook: ○ facebook.com/rentcars ● Blog: ○ blog.rentcars.com
  • 76. Agradecimentos e Perguntas Sobreponha sua imagem e corte no formato indicado OBRIGADO! Perguntas? Demonstração: https://satads.hagatus.com.br Você pode me encontrar por aqui: https://www.linkedin.com/in/andersoncontreira https://github.com/andersoncontreira