AWS Lambda

Uma breve introdução

  1. Introdução
  2. Fundamentos
  3. Aplicações Serveless
  4. Referências

Introdução

pAAS - SERVELESS

História

  1. Datacenter
    • Unidade de escala - Hardware
    • Abstraí servidor físico
  2. IasS
    • Unidade de escala - OS
    • Abstraí Hardware
  3. PaaS
    • Unidade de escala - Aplicação
    • Abastraí OS
  4. Serveless
    • Unidade de escala - Funções
    • Abastraí Runtime

Como tudo começa

lambda

  1. Código Executado
    • Servidor provisionado
    • Gerenciamento de demanda
    • Eventos
  2. Gerenciamento
    • Chamadas Rest API
    • OS
    • Redes
    • Provisionamento (demanda)
  3. Integração
    • Aramazenamento (S3)
    • Serviços complementares
      • Filas

Solução FaaS

Lambda

Serviço

Lambda

  1. Evento
  2. Handler (java main)
    • handler(event, context);
  3. Controller
  4. Service
  5. Dados / Serviços

Estrutura

Lambda

Start up time

Lambda

Frameworks

Serveless

  1. Serviço
    • Coputação
    • Código por demanda
  2. Escreva
    • Propósito único
    • Stateless
  3. Design
    • Fila de eventos
  4.  
  5. Serviços de terceiros
    • Aceita que doí menos

Princípios

Serveless

  1. Sem gerenciamento
  2. Versatil
  3. Escalável
  4. Migração gerenciável
  5. Baixo custo
  6. Menos código

Pros e contras

  1. Cloud Publica
  2. SLA e confiabilidade em requisitos
  3. Customização limitada
  4. Lock in
  5. Alterações descentralizadas

Fundamentos

pAAS - SERVELESS

Arquitetura

BaaS -  Serviços

Arquitetura

Compute as Glue

Arquitetura

  1. Command Patter
  2. Messaging Pattern
  3. Priority Queue Pattern
  4. Fan-out Pattern
  5. Pipes and filters Pattern

Outros tipos

Arquitetura

  1. Command Patter
  2. Messaging Pattern
  3. Priority Queue Pattern
  4. Fan-out Pattern
  5. Pipes and filters Pattern

Outros tipos

Arquitetura

  1. Command Patter
  2. Messaging Pattern
  3. Priority Queue Pattern
  4. Fan-out Pattern
  5. Pipes and filters Pattern

Outros tipos

Arquitetura

  1. Command Patter
  2. Messaging Pattern
  3. Priority Queue Pattern
  4. Fan-out Pattern
  5. Pipes and filters Pattern

Outros tipos

Arquitetura

  1. Command Patter
  2. Messaging Pattern
  3. Priority Queue Pattern
  4. Fan-out Pattern
  5. Pipes and filters Pattern

Outros tipos

Aplicações Serveless

Gerenciando codigo

Deployment

  1. Build
  2. Comprimir (zip)
  3. Upload para S3
  4. Criar/Ataulizar Role
  5. Criar função
  6. Criar REST API
  7. Criar Método
  8. Atualizar Integração
  9. Criar tabela

Passo a passo

AWS SAM

Code

Deployment

Passo a passo

Frameworks

Serveless Frameworks

ORganização

Modelos Repositórios

Testes

Hierarquia

Testes

Mock

  1. DynamoDB Local
  2. LocalStack
  3. Customizados
  4. Não fazer

Integração

Testes

REferências

Links uteis

Fontes

  1. https://github.com/awslabs/aws-serverless-java-container
  2. https://aws.amazon.com/blogs/developer/testing-lambda-functions-using-the-aws-toolkit-for-eclipse/
  3. https://aws.amazon.com/sdk-for-java/

  4. https://freecontent.manning.com/patterns-for-solving-problems-in-serverless-architectures/

  5. https://thenewstack.io/serverless-architecture-five-design-patterns/

  6. https://medium.com/@pekelny/how-to-unit-test-an-aws-lambda-524069d4fe06

  7. https://martinfowler.com/articles/serverless.html

  8. https://www.slideshare.net/AmazonWebServices/serverless-architecturespdf

Links

debbung

Felipe F. Rocha

felipefonsecarocha@gmail.com

 

OBRIGADO!!!

AWS Lambda - Funções e Serveless

By Felipe Fonseca Rocha

AWS Lambda - Funções e Serveless

Uma breve introdução a estrutura serveless da AWS e suas possíbilidades.

  • 143