Introdução a arquitetura
serverless na AWS
Quem sou eu
• Engenheiro Eletrônico e de
Computação – UFRJ
• Desenvolvedor na Kendoo
Solutions
• AWS Certified Associate Developer
• Amante de tecnologia
• Apaixonado por AWS
Rio Cloud Computing Meetup
Desafio Comuns
Esse é o José. Ele quer construir uma aplicação na nuvem
Rio Cloud Computing Meetup
Desafio Comuns
• Complexidade de operação
• ”Eu quero rodar meu código na nuvem”
• ... mas operações são complicadas e eu não quero contratar uma pessoa para cuidar
disso
Rio Cloud Computing Meetup
Desafio Comuns
• Ambientes imutáveis
• ”Eu quero flexibilidade para usar a linguagem que eu gosto”
• ... mas configuração de ambiente? Nem sei por onde começar
Rio Cloud Computing Meetup
Desafio Comuns
• Arquiteturas de fila e polling
• ” Eu quero ter resposta rápida a mudanças em meus dados”
• ... mas é difícil construir uma arquitetura orientada a eventos
Rio Cloud Computing Meetup
Desafio Comuns
• Preocupações com escalabilidade
• ” Meu sistema está recebendo cada vez mais tráfego”
• ... mas eu não quero gastar muito tempo no planejamento de escalabilidade do meu
sistema
Rio Cloud Computing Meetup
Máquinas Virtuais (VMs)
• Servidores virtuais como unidade de escala
• Abstração do hardware
Rio Cloud Computing Meetup
Escalabilidade
Disponibilidade
Patches
Instalação
Backup
Código
Rede
Containers
• Aplicações como unidade de escala
• Abstração do Sistema Operacional
Rio Cloud Computing Meetup
Escalabilidade
Disponibilidade
Patches
Instalação
Backup
Código
Rede
Escalabilidade
Disponibilidade
Backup
Código
Serverless
• Funções como unidade de escala
• Abstração de tudo
Rio Cloud Computing Meetup
Escalabilidade
Disponibilidade
Patches
Instalação
Backup
Código
Rede
Escalabilidade
Disponibilidade
Backup
Código Código
Qual a melhor opção?
• “Eu preciso configurar minha
máquina, armazenamento, rede e
SO”
• “Eu quero rodar servidores,
configurar minhas aplicações e
controlar escalabilidade”
• “Rode meu código”
Rio Cloud Computing Meetup
Serverless & AWS
Serverless & AWS
Lambda API	GatewayStep Functions
S3 DynamoDBSNS
Kinesis CognitoSQS
Serverless & AWS
Lambda API	GatewayStep Functions
S3 DynamoDBSNS
Kinesis CognitoSQS
Por que o AWS Lambda?
• Implementação das regras de negócio.
• Simples.
• Configuração de eventos que irão chamar suas funções Lambda.
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai
dominar o mundo
7 razões pelas quais Serverless vai dominar o mundo
Razão #1: Arquitetura natural de microserviços
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #2: Construção de aplicações totalmente escaláveis
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #3: Sem mais servidores para atualizar e balanceadores de carga
para configurar
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #4: Entrega contínua facilitada
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #5: Você só paga pelo que você realmente usa
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #6: Possibilidade de usar várias linguagens de programação
Rio Cloud Computing Meetup
7 razões pelas quais Serverless vai dominar o mundo
Razão #7: Frameworks everywhere!
Rio Cloud Computing Meetup
Exemplos
Arquitetura Serverless #1: Processamento de dados/arquivos
• “Quero aplicar lógica customizada para processar conteúdos
armazenados no S3”
• Aplicar marca d’água em arquivos PDF
• Processamento de imagem
• Agregação e filtragem de arquivos de log
• Validação de conteúdo de mídia
Rio Cloud Computing Meetup
Arquitetura Serverless #1: Processamento de dados/arquivos
Rio Cloud Computing Meetup
Arquitetura Serverless #2: Processamento Real-time
• “Eu quero aplicar lógica customizada para processar um fluxo de dados
constante”
• Rastreamento de atividades
• Geração de métricas
• Limpeza de dados
• Processamento de log
• IOT
Rio Cloud Computing Meetup
Arquitetura Serverless #2: Processamento Real-time
Rio Cloud Computing Meetup
Arquitetura Serverless #3: Backend de aplicação
• “Eu quero construir uma API para minha aplicação”
• Arquitetura de microserviços
• WebSite estático hospedado no S3
• Proteção contra DDoS
• Autenticação e autorização para uso da API
• Monetização de API
Rio Cloud Computing Meetup
Arquitetura Serverless #3: Backend de aplicação
Rio Cloud Computing Meetup
Demo
Demo
Rio Cloud Computing Meetup
Referências
• Artigo sobre serverless no blog da Kendoo: http://bit.ly/2neAJSx
• Github da demo: http://bit.ly/2ovAao8
• Case Serverless da Coca Cola: https://goo.gl/DgOFXx
Timóteo Alvarenga
desenvolvedor
timóteo.alvarenga@kendoo.com.br
www.kendoo.com.br
+55 21 3549 7625 | +55 21 2221 7242
/company/kendoosolutions /kendoosolutions

Introdução a arquitetura Serverless na AWS

  • 1.
  • 2.
    Quem sou eu •Engenheiro Eletrônico e de Computação – UFRJ • Desenvolvedor na Kendoo Solutions • AWS Certified Associate Developer • Amante de tecnologia • Apaixonado por AWS Rio Cloud Computing Meetup
  • 3.
    Desafio Comuns Esse éo José. Ele quer construir uma aplicação na nuvem Rio Cloud Computing Meetup
  • 4.
    Desafio Comuns • Complexidadede operação • ”Eu quero rodar meu código na nuvem” • ... mas operações são complicadas e eu não quero contratar uma pessoa para cuidar disso Rio Cloud Computing Meetup
  • 5.
    Desafio Comuns • Ambientesimutáveis • ”Eu quero flexibilidade para usar a linguagem que eu gosto” • ... mas configuração de ambiente? Nem sei por onde começar Rio Cloud Computing Meetup
  • 6.
    Desafio Comuns • Arquiteturasde fila e polling • ” Eu quero ter resposta rápida a mudanças em meus dados” • ... mas é difícil construir uma arquitetura orientada a eventos Rio Cloud Computing Meetup
  • 7.
    Desafio Comuns • Preocupaçõescom escalabilidade • ” Meu sistema está recebendo cada vez mais tráfego” • ... mas eu não quero gastar muito tempo no planejamento de escalabilidade do meu sistema Rio Cloud Computing Meetup
  • 8.
    Máquinas Virtuais (VMs) •Servidores virtuais como unidade de escala • Abstração do hardware Rio Cloud Computing Meetup Escalabilidade Disponibilidade Patches Instalação Backup Código Rede
  • 9.
    Containers • Aplicações comounidade de escala • Abstração do Sistema Operacional Rio Cloud Computing Meetup Escalabilidade Disponibilidade Patches Instalação Backup Código Rede Escalabilidade Disponibilidade Backup Código
  • 10.
    Serverless • Funções comounidade de escala • Abstração de tudo Rio Cloud Computing Meetup Escalabilidade Disponibilidade Patches Instalação Backup Código Rede Escalabilidade Disponibilidade Backup Código Código
  • 11.
    Qual a melhoropção? • “Eu preciso configurar minha máquina, armazenamento, rede e SO” • “Eu quero rodar servidores, configurar minhas aplicações e controlar escalabilidade” • “Rode meu código” Rio Cloud Computing Meetup
  • 12.
  • 13.
    Serverless & AWS LambdaAPI GatewayStep Functions S3 DynamoDBSNS Kinesis CognitoSQS
  • 14.
    Serverless & AWS LambdaAPI GatewayStep Functions S3 DynamoDBSNS Kinesis CognitoSQS
  • 15.
    Por que oAWS Lambda? • Implementação das regras de negócio. • Simples. • Configuração de eventos que irão chamar suas funções Lambda. Rio Cloud Computing Meetup
  • 16.
    7 razões pelasquais Serverless vai dominar o mundo
  • 17.
    7 razões pelasquais Serverless vai dominar o mundo Razão #1: Arquitetura natural de microserviços Rio Cloud Computing Meetup
  • 18.
    7 razões pelasquais Serverless vai dominar o mundo Razão #2: Construção de aplicações totalmente escaláveis Rio Cloud Computing Meetup
  • 19.
    7 razões pelasquais Serverless vai dominar o mundo Razão #3: Sem mais servidores para atualizar e balanceadores de carga para configurar Rio Cloud Computing Meetup
  • 20.
    7 razões pelasquais Serverless vai dominar o mundo Razão #4: Entrega contínua facilitada Rio Cloud Computing Meetup
  • 21.
    7 razões pelasquais Serverless vai dominar o mundo Razão #5: Você só paga pelo que você realmente usa Rio Cloud Computing Meetup
  • 22.
    7 razões pelasquais Serverless vai dominar o mundo Razão #6: Possibilidade de usar várias linguagens de programação Rio Cloud Computing Meetup
  • 23.
    7 razões pelasquais Serverless vai dominar o mundo Razão #7: Frameworks everywhere! Rio Cloud Computing Meetup
  • 24.
  • 25.
    Arquitetura Serverless #1:Processamento de dados/arquivos • “Quero aplicar lógica customizada para processar conteúdos armazenados no S3” • Aplicar marca d’água em arquivos PDF • Processamento de imagem • Agregação e filtragem de arquivos de log • Validação de conteúdo de mídia Rio Cloud Computing Meetup
  • 26.
    Arquitetura Serverless #1:Processamento de dados/arquivos Rio Cloud Computing Meetup
  • 27.
    Arquitetura Serverless #2:Processamento Real-time • “Eu quero aplicar lógica customizada para processar um fluxo de dados constante” • Rastreamento de atividades • Geração de métricas • Limpeza de dados • Processamento de log • IOT Rio Cloud Computing Meetup
  • 28.
    Arquitetura Serverless #2:Processamento Real-time Rio Cloud Computing Meetup
  • 29.
    Arquitetura Serverless #3:Backend de aplicação • “Eu quero construir uma API para minha aplicação” • Arquitetura de microserviços • WebSite estático hospedado no S3 • Proteção contra DDoS • Autenticação e autorização para uso da API • Monetização de API Rio Cloud Computing Meetup
  • 30.
    Arquitetura Serverless #3:Backend de aplicação Rio Cloud Computing Meetup
  • 31.
  • 32.
  • 35.
    Referências • Artigo sobreserverless no blog da Kendoo: http://bit.ly/2neAJSx • Github da demo: http://bit.ly/2ovAao8 • Case Serverless da Coca Cola: https://goo.gl/DgOFXx
  • 36.
    Timóteo Alvarenga desenvolvedor timóteo.alvarenga@kendoo.com.br www.kendoo.com.br +55 213549 7625 | +55 21 2221 7242 /company/kendoosolutions /kendoosolutions