SlideShare ist ein Scribd-Unternehmen logo
1 von 64
Downloaden Sie, um offline zu lesen
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Thiago Paulino
Enterprise Solutions Architect, AWS
Maycon Bordin
Analista Digital | Woop Sicredi
BDA304
Processamento de dados Serverless em Escala:
Caso de estudo Amazon.com
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
O que esperar dessa sessão?
O que é processamento serverless em tempo real?
Porque Streams, Amazon Kinesis, AWS Lambda?
Amazon FBA Seller Inventory Authority Platform
Amazon Video – Thursday Night Football
Melhores Prátricas e lições aprendidas
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Serverless em tempo
Construa seu processamento de tempo real (ingestão,
processamento e consumo) aplicações e serviços
… Sem gerenciamento de infra-estrutura.
ProcessIngest Consume
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Por que Streams?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Stream
Objetivo:
• Alto-throughput (>1 GB/s)
• Serverless (sem gerenciamento de servidores)
• Tempo-real (pipeline)
Streams
• Limitação de tamanho
• Limitação de tempo
• Acesso a dados recentes
• Limitação de processamento
Batch
• Sem limite de tamanho
• Sem limite de tempo (Sem tempo real)
• Acesso a todo o dado
• Processamento longo (reports)
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Stream
Porque os dados são:
• Gerados continuamente e simultaneamente por centenas de origens de
• Tipicamente pequeno (KBs)
E precisa ser processado:
• Sequêncialmente e incremental
• Ou processamento em janelas
algumas em tempo real
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
O que é Amazon Kinesis?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis: O que é isso?
É um storage
Armazenamento e
retenção de até 7 dias
Local aonde os
dados são
disponibilizados
rapidamente
Menos de 1 segundo
de latência
Possuí ponteiro
de processamento
Suporta multiplos
processadores
concorrentes com
ordenação
Serviço
gerênciado
Atraves de APIs
torna-se fácil
configurar o
processo de PUT e
GET de dados
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Streams
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Firehose
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Data Analytics
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Kinesis Video Streams
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
O que é AWS Lambda?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Lambda: O que é isso?
É uma função
Suas bibliotecas, seu código
sua execução
Com modelo de
programação
Fácil de usar, diversos
tutoriais, e funções
prontas além de
monitoramento e log
Roda stateless
A Infraestrutura é
abstrata, persista seus
dados no Amazon
DynamoDB, Amazon S3
ou Amazon ElastiCache
Modelo de
segurança integrado
Integrado com IAM,
policies e roles,
além de suporte a
VPC
Modelo de recurso
flexivel
Escolha a quantidade
memória e nós
alocamos
proporcionalmente
CPU, rede, banda de
rede e I/O de disco
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Lambda: Como fazer para iniciar isso?
Amazon
S3
Amazon
SNS
Modelo Push Asynchronous
Amazon
Alexa
AWS
IoT
Modelo Synchronous Push
• Mapeie o seu evento de origem
• Triggers (inicie) Lambda via Invoke
APIs
• Acesso aos seus recursos da AWS
baseado em policy de permissões
RequestResponse
invocation
Event Invocation
Como funciona
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Lambda: Como iniciar uma função?
Amazon
DynamoDB
Amazon
Kinesis
Modelo Stream Pull Mapping owned by Lambda
Função Lambda é invocada quando
novos registros são encontrados no
stream
Permissão ao Lambda baseado
em role policy
Polled batch
RequestResponse
invocation
Lambda polls streams
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Lambda
Node.js
Python
Java
C#
FunctionEvent source
AWS
CloudFormation
Amazon
API Gateway
Amazon
SNS
Database
Cloud
service
Anything
Endpoint
Amazon
Kinesis
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Node.js
Python
Java
C#
Function
Kinesis
Endpoint
Database
Cloud
service
Anything
Event source
IoT data
IoT data
Financial
data
Log data
Kinesis
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Stream com Lambda
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Kinesis
Lambda
Amazon
CloudWatch
Amazon
DynamoDB
Lambda
Amazon
ES
Amazon
S3
Processando Stream: Lambda
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Streams: Lambda
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Streams : Lambda
Evento recebido por uma função lambda a partir de um Streaming:
{ "Records": [ {
"kinesis": {
"partitionKey": "partitionKey-3",
"kinesisSchemaVersion": "1.0",
"data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=",
"sequenceNumber":
"49545115243490985018280067714973144582180062593244200961" },
"eventSource": "aws:kinesis",
"eventID": "shardId-
000000000000:49545115243490985018280067714973144582180062593244200961",
"invokeIdentityArn": "arn:aws:iam::account-id:role/testLEBRole",
"eventVersion": "1.0",
"eventName": "aws:kinesis:record",
"eventSourceARN": "arn:aws:kinesis:us-west-
2:35667example:stream/examplestream",
"awsRegion": "us-west-2" } ] }
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Streams: Lambda
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Streams: Lambda
Por shard:
▪ As chamadas Lambdas obtem os registros com o limite de (10k ou 10 MB)
▪ Se não tiver registro, aguarde um tempo (1s)
▪ Sub-batch em memória, formatação dos registros dentro do lambda
▪ Chamada Lambda com chamadas sincronas
… …
Source
Kinesis
Destination 1
Lambda
Destination 2
Shards
Lambda will scale automaticallyScale Kinesis by splitting or merging shards
Waits for responsePolls a batch
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Processamento Streams: Lambda
Retries
As tentativas de processamento terão retry até o objeto expirar
Throttles e erros afetam a duração e diretamente o throughput do shard/Lambda
Best practice
Tente novamente retry with exponential backoff
Effective theoretical throughput with retries
( # shards * batch size (MB) ) / ( function duration (s) * retries until expiry)
…
Source
Kinesis
Destination
1
Lambda
Destination
2
Shards
Polls a batch
Receives success
Receives error
Receives error
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
FBA Seller Inventory Authority Platform
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Como o FBA funciona?
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Desafio da plataforma de dados
• Uma única fonte da verdade para o inventário de vendas
• Reconciliação de inventário
• Acompanhamento de discrepâncias
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Requisitos de design
• Deve receber um alto volume de mensagens (>10000
TPS)
• Deve ser capaz de lidar com Hotkeys nas mensagens de
entrada
• Receber uma mensagem grande para um inventário
grande, muitos itens e/ou mensagem grande
• Deve ser capaz de lidar com duplicidade de mensagens e
for a de ordem
• Manter auditoria para toda e qualquer mudança de
inventário
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Plataforma de autoridade de inventário de vendedores
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Resultados
• 22 semanas de desenvolvimentos poupados, custo de
operação reduzido em 11 vezes
• Lançamento em menos de 4 meses
• Melhoria da precisão dos itens recebidos entre 5% a
10%
• Redução do custo de operação do negócio (Exemplo:
Contatos de vendas)
• Desenvolvedores do time gostaram de utilizar os
serviços gerenciados da AWS
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Amazon Video
Thursday Night Football
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
(Assinatura) Séries
Transacional (Filmes/Locação)
Canais
Went from this … 2016
2017
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Thursday Night Football
• Stream ao vivo para milhões de usuários em 191 países
• 600 dispositivos diferentes
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Thursday Night Football estatísticas
2 milhões de
visualizações simultaneas
191 Países
Média de stream 55
minutes
Países
United States
Mexico
Germany
1
2
3
Estados
California
Texas
New York
1
2
3
Elastic Load Balancing
Processamento de dados
por jogo
Elastic Load Balancing
conexões estabelecidas
por jogo
58 TB 176M
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Lambda
API Gateway
Amazon S3
CloudFront
Elemental
Ad InsertionAmazon Redshift
Amazon DynamoDB
Amazon
CloudWatch
ELK
Kinesis
Load balancers
EC2 instances
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Desafios: Intermitência/Picos
Problem: Thursdays são ótimos! Outros dias não tem tanta
demanda.
Solution: Lambda
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Desafios: Picos
Problem: As propagandas rodam para todos
simultaneamente.
Solution: Amazon Kinesis
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Desafios: Escalabilidade
Problema: Milhões de pessoas assistindo = Milhões de TPS
Solução: Amazon Kinesis shards + processamento batching
… …
Source
Kinesis
Destination 1
Lambda
Destination 2
Shards
Lambda will scale automaticallyScale Kinesis by splitting or merging shards
Waits for responsePolls a batch
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Arquitetura Macro
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Resultados
• Somente 3 meses do papel até lançamento
• Redução do tempo gasto para desenvolvimento,
métricas e alarmes
• Redução da operação do negócio em mais de 90%
• Fácil lidar com mudanças
• Fácil e adaptável/escalável
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Melhores práticas e lições aprendidas
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Eficiência em desenvolver funções
• Evite funções pesadas e mololíticas
• Controle de dependências nos pacotes das
suas funções
• Otimize conforme sua linguagem
• Node – Browserfy, Minify
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
JAVA – Scope your POM file
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>2.10.10</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.10.5</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-dynamodb</artifactId>
<version>1.10.10</version>
</dependency>
<dependencies>
Maven bill of materials
(BOM) module for AWS
SDK
Evite aws-java-sdk todo!
Selecione as
dependências de cada
serviço
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Ambiente de funções sem persistência
• Lambda processa um evento por
container.
• LEMBRE-SE – containers são
reusáveis
• Sem dependências de objetos.
Carregue o objeto sem
dependências.
• Não Carregue o que você não
precisa, pois a iniciação da
função será penalizada
import boto3
client = None
def my_handler(event, context):
global client
if not client:
client =
boto3.client("s3")
# process
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Alocação de recursos inteligente
Encontre a melhor alocação de recurso (até 3 GB)
Defina sua configuração corretamente. O teste abaixo foi baseado em
1000 execuções, execuções totais são milhões.
128 MB 11.722965sec $0.024628
256 MB 6.678945sec $0.028035
512 MB 3.194954sec $0.026830
1024 MB 1.465984sec $0.024638
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Multithreading?
• <1.8 GB continue single core
• Aplicações que demandam não terão ganhos – os processos
compartilham o mesmo recurso
• >1.8 GB rode muti-core
• Aplicações que demandam não terão ganhos, mas precisarão
de multi thread
• I/O Aplicações com uso alto de I/O terão ganhos
• e.x., Execuções em paralelo
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Concorrência vs. Latência
▪ Aumento do número de shards com distribuição da chave aumentará a concorrência
▪ Se o processo de ingestão é maior que a capacidade de rede aumente o número de shards
para aumentar sua capacidade de rede do cluster.
• Calculo da efetividade da função Lambda + capacidade de rede:
( # shards * batch size (MB) ) / (function duration (s) * retries until expiry)
… …
Source
Kinesis
Destination 1
Lambda
Destination 2
Shards
Lambda will scale automaticallyScale
Kinesis by splitting or merging shards
Waits for responsePolls a batch
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Monitoramento
Monitoramento Amazon Kinesis Data Streams
•GetRecords: (effective throughput)
•PutRecord: bytes, latency, records, etc.
•GetRecords.IteratorAgeMilliseconds: how old your last processed
records were
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Monitoramento
Monitoramento de funções Lambda
Invocation count: Quantidade de execuções
•Duration: Execução/Tempo de processamento
•Error count: Número de erros
•Throttle count: Número de execuções com throttled
•Iterator Age: Tempo desde o pedido de execução além o final da
execução
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Outras lições aprendidas
• Otimize o custo fazendo agregações de 25-KB de
tamanho de payload
• Quando re-ajustar o shard, tente escalar em multiplos de
2 ou mais
• Faça compressão de objetos para economizar no
tamanho de banda utilizada no Kinesis
• Otimize o Lambda para obter batchs de dados a serem
processados maiores
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Caso de uso Sicredi | Woop Scredi
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Sicredi | Woop Sicredi | Sobre nós
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
www.woopsicredi.com
“Informações em tempo real com menor esforço”
• Instituição financeira
cooperativa;
• Desde 1902;
• + 3,7 milhões de associados;
• Plataforma 100% digital;
• Lançado em 18/06;
• Novo core bancário na
nuvem;
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
A plataforma da AWS é a fundação de
toda a transformação digital do
Sicredi.
“Escolhemos a AWS por ser a
empresa líder em soluções
para arquiteturas serverless,
com componentes que
integram-se nativamente.”
Desafios
• Responder a mudanças o
mais rápido possível;
• Dados com múltiplas origens
e propósitos;
• Redução de esforços com
manutenção de ambientes;
• Arquitetura escalável;
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Data Lake – Arquitetura Serverless
© 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
Obrigado!
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Por favor, complete a avaliação da sessão no
aplicativo do evento: AWS Summit.
Submit Session Feedback
1. Tap the Schedule icon. 2. Select the session
you attended.
3. Tap Session Evaluation
to submit your feedback.

Weitere ähnliche Inhalte

Was ist angesagt?

Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway - CM...
Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway -  CM...Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway -  CM...
Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway - CM...Amazon Web Services
 
SAP HANA na AWS: Por que migrar para a nuvem? - ENT301 - Sao Paulo Summit
SAP HANA na AWS: Por que migrar para a nuvem? -  ENT301 - Sao Paulo SummitSAP HANA na AWS: Por que migrar para a nuvem? -  ENT301 - Sao Paulo Summit
SAP HANA na AWS: Por que migrar para a nuvem? - ENT301 - Sao Paulo SummitAmazon Web Services
 
Detecção e Mitigação de Ameaças - SID301 - Sao Paulo Summit
Detecção e Mitigação de Ameaças -  SID301 - Sao Paulo SummitDetecção e Mitigação de Ameaças -  SID301 - Sao Paulo Summit
Detecção e Mitigação de Ameaças - SID301 - Sao Paulo SummitAmazon Web Services
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...Amazon Web Services
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasAmazon Web Services LATAM
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo SummitAmazon Web Services
 
Desenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateDesenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateAmazon Web Services LATAM
 
Sem medo de sair do monolito para o sem servidor com Dynatrace - DEM10 - Sao...
Sem medo de sair do monolito para o sem servidor com Dynatrace -  DEM10 - Sao...Sem medo de sair do monolito para o sem servidor com Dynatrace -  DEM10 - Sao...
Sem medo de sair do monolito para o sem servidor com Dynatrace - DEM10 - Sao...Amazon Web Services
 
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários - ARC203 - Sao P...
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários -  ARC203 - Sao P...Escalando do Zero aos seus Primeiros 10 Milhões de Usuários -  ARC203 - Sao P...
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários - ARC203 - Sao P...Amazon Web Services
 
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...Amazon Web Services
 
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Amazon Web Services LATAM
 
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...Amazon Web Services
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Amazon Web Services
 
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Amazon Web Services
 
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem - ...
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem -  ...Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem -  ...
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem - ...Amazon Web Services
 
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo SummitAmazon Web Services
 
É Tudo sobre Dados - ARC202 - Sao Paulo Summit
É Tudo sobre Dados -  ARC202 - Sao Paulo SummitÉ Tudo sobre Dados -  ARC202 - Sao Paulo Summit
É Tudo sobre Dados - ARC202 - Sao Paulo SummitAmazon Web Services
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 

Was ist angesagt? (20)

Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway - CM...
Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway -  CM...Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway -  CM...
Sessão Avançada: Armazenamento Híbrido na Nuvem com AWS Storage Gateway - CM...
 
SAP HANA na AWS: Por que migrar para a nuvem? - ENT301 - Sao Paulo Summit
SAP HANA na AWS: Por que migrar para a nuvem? -  ENT301 - Sao Paulo SummitSAP HANA na AWS: Por que migrar para a nuvem? -  ENT301 - Sao Paulo Summit
SAP HANA na AWS: Por que migrar para a nuvem? - ENT301 - Sao Paulo Summit
 
Detecção e Mitigação de Ameaças - SID301 - Sao Paulo Summit
Detecção e Mitigação de Ameaças -  SID301 - Sao Paulo SummitDetecção e Mitigação de Ameaças -  SID301 - Sao Paulo Summit
Detecção e Mitigação de Ameaças - SID301 - Sao Paulo Summit
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...DevOps na AWS: Construindo Sistemas para Entregas Rápidas -  DEV301 - Sao Pau...
DevOps na AWS: Construindo Sistemas para Entregas Rápidas - DEV301 - Sao Pau...
 
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas RápidasDevOps na AWS: Construindo Sistemas para Entregas Rápidas
DevOps na AWS: Construindo Sistemas para Entregas Rápidas
 
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo SummitConstruindo Data Lakes e Analytics na AWS -  BDA301 - Sao Paulo Summit
Construindo Data Lakes e Analytics na AWS - BDA301 - Sao Paulo Summit
 
Desenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS FargateDesenvolvimento de Aplicações em Container com AWS Fargate
Desenvolvimento de Aplicações em Container com AWS Fargate
 
Sem medo de sair do monolito para o sem servidor com Dynatrace - DEM10 - Sao...
Sem medo de sair do monolito para o sem servidor com Dynatrace -  DEM10 - Sao...Sem medo de sair do monolito para o sem servidor com Dynatrace -  DEM10 - Sao...
Sem medo de sair do monolito para o sem servidor com Dynatrace - DEM10 - Sao...
 
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários - ARC203 - Sao P...
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários -  ARC203 - Sao P...Escalando do Zero aos seus Primeiros 10 Milhões de Usuários -  ARC203 - Sao P...
Escalando do Zero aos seus Primeiros 10 Milhões de Usuários - ARC203 - Sao P...
 
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...Desenvolvimento de Aplicações em Container com AWS Fargate -  DEV302 - Sao Pa...
Desenvolvimento de Aplicações em Container com AWS Fargate - DEV302 - Sao Pa...
 
Rodando Kubernetes com Amazon EKS
Rodando Kubernetes com Amazon EKSRodando Kubernetes com Amazon EKS
Rodando Kubernetes com Amazon EKS
 
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
Segurança - 10 regras que você deve saber antes de migrar sua infraestrutura ...
 
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...Impulsione Inteligência ao IoT Edge com AWS Greengrass -  IOT201 - Sao Paulo ...
Impulsione Inteligência ao IoT Edge com AWS Greengrass - IOT201 - Sao Paulo ...
 
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
Sessão Avançada: Construindo um Data Warehouse Moderno com Amazon Redshift - ...
 
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
Criando o seu Data Center Virtual: Fundamentos de VPC e Opções de Conectivida...
 
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem - ...
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem -  ...Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem -  ...
Componentes de IoT: Dos Dispositivos de Borda a Análise de Dados na Nuvem - ...
 
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
DevOps aplicado à AWS -  DEM07 - Sao Paulo SummitDevOps aplicado à AWS -  DEM07 - Sao Paulo Summit
DevOps aplicado à AWS - DEM07 - Sao Paulo Summit
 
É Tudo sobre Dados - ARC202 - Sao Paulo Summit
É Tudo sobre Dados -  ARC202 - Sao Paulo SummitÉ Tudo sobre Dados -  ARC202 - Sao Paulo Summit
É Tudo sobre Dados - ARC202 - Sao Paulo Summit
 
Construindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWSConstruindo Data Lakes e Analytics na AWS
Construindo Data Lakes e Analytics na AWS
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 

Ähnlich wie Processamento Serverless em Escala

Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]Amazon Web Services
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)Amazon Web Services LATAM
 
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitPerforming real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitAmazon Web Services
 
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS Summit
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS SummitCost-management journey- Where did Nubank start - CMP202 - São Paulo AWS Summit
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS SummitAmazon Web Services
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoAmazon Web Services LATAM
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoAmazon Web Services LATAM
 
AWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAmazon Web Services LATAM
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessAmazon Web Services LATAM
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...Amazon Web Services
 

Ähnlich wie Processamento Serverless em Escala (20)

AWS Financial Management
AWS Financial ManagementAWS Financial Management
AWS Financial Management
 
Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]Data Lakes - EBC on the road Brazil Edition [Portuguese]
Data Lakes - EBC on the road Brazil Edition [Portuguese]
 
Abaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-ServiceAbaas - Advanced Beer-as-a-Service
Abaas - Advanced Beer-as-a-Service
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)
Webinar - Inicie sua jornada de migração para nuvem com a AWS (Português)
 
Microsoft Workloads em Amazon Web Services
Microsoft Workloads em Amazon Web ServicesMicrosoft Workloads em Amazon Web Services
Microsoft Workloads em Amazon Web Services
 
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS SummitPerforming real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
Performing real-time ETL into data lakes - ADB202 - São Paulo AWS Summit
 
Otimizando Amazon EC2 por Diversão e Lucro
Otimizando Amazon EC2 por Diversão e LucroOtimizando Amazon EC2 por Diversão e Lucro
Otimizando Amazon EC2 por Diversão e Lucro
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Webinar Data Lakes & Analytics na AWS
Webinar Data Lakes & Analytics na AWSWebinar Data Lakes & Analytics na AWS
Webinar Data Lakes & Analytics na AWS
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS Summit
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS SummitCost-management journey- Where did Nubank start - CMP202 - São Paulo AWS Summit
Cost-management journey- Where did Nubank start - CMP202 - São Paulo AWS Summit
 
Encontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de TrabalhoEncontre o Banco de Dados certo para sua Carga de Trabalho
Encontre o Banco de Dados certo para sua Carga de Trabalho
 
Arquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geraçãoArquiteturas de E Commerce da próxima geração
Arquiteturas de E Commerce da próxima geração
 
[Webinar] AWS Storage Day - Português
[Webinar] AWS Storage Day - Português[Webinar] AWS Storage Day - Português
[Webinar] AWS Storage Day - Português
 
Webinar: Containers
Webinar: ContainersWebinar: Containers
Webinar: Containers
 
AWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWSAWS Initiate - Construindo Data Lakes e Analytics com AWS
AWS Initiate - Construindo Data Lakes e Analytics com AWS
 
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverlessFSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
FSI Roundtable - Cultura de Inovação com DevOps, microserviços e serverless
 
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...A culture of rapid innovation with DevOps, microservices, and serverless - MA...
A culture of rapid innovation with DevOps, microservices, and serverless - MA...
 

Mehr von Amazon Web Services

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Amazon Web Services
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Amazon Web Services
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateAmazon Web Services
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSAmazon Web Services
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Amazon Web Services
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Amazon Web Services
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...Amazon Web Services
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsAmazon Web Services
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareAmazon Web Services
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSAmazon Web Services
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAmazon Web Services
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareAmazon Web Services
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWSAmazon Web Services
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckAmazon Web Services
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without serversAmazon Web Services
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...Amazon Web Services
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceAmazon Web Services
 

Mehr von Amazon Web Services (20)

Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
Come costruire servizi di Forecasting sfruttando algoritmi di ML e deep learn...
 
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
Big Data per le Startup: come creare applicazioni Big Data in modalità Server...
 
Esegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS FargateEsegui pod serverless con Amazon EKS e AWS Fargate
Esegui pod serverless con Amazon EKS e AWS Fargate
 
Costruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWSCostruire Applicazioni Moderne con AWS
Costruire Applicazioni Moderne con AWS
 
Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot Come spendere fino al 90% in meno con i container e le istanze spot
Come spendere fino al 90% in meno con i container e le istanze spot
 
Open banking as a service
Open banking as a serviceOpen banking as a service
Open banking as a service
 
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
Rendi unica l’offerta della tua startup sul mercato con i servizi Machine Lea...
 
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...OpsWorks Configuration Management: automatizza la gestione e i deployment del...
OpsWorks Configuration Management: automatizza la gestione e i deployment del...
 
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows WorkloadsMicrosoft Active Directory su AWS per supportare i tuoi Windows Workloads
Microsoft Active Directory su AWS per supportare i tuoi Windows Workloads
 
Computer Vision con AWS
Computer Vision con AWSComputer Vision con AWS
Computer Vision con AWS
 
Database Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatareDatabase Oracle e VMware Cloud on AWS i miti da sfatare
Database Oracle e VMware Cloud on AWS i miti da sfatare
 
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJSCrea la tua prima serverless ledger-based app con QLDB e NodeJS
Crea la tua prima serverless ledger-based app con QLDB e NodeJS
 
API moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e webAPI moderne real-time per applicazioni mobili e web
API moderne real-time per applicazioni mobili e web
 
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatareDatabase Oracle e VMware Cloud™ on AWS: i miti da sfatare
Database Oracle e VMware Cloud™ on AWS: i miti da sfatare
 
Tools for building your MVP on AWS
Tools for building your MVP on AWSTools for building your MVP on AWS
Tools for building your MVP on AWS
 
How to Build a Winning Pitch Deck
How to Build a Winning Pitch DeckHow to Build a Winning Pitch Deck
How to Build a Winning Pitch Deck
 
Building a web application without servers
Building a web application without serversBuilding a web application without servers
Building a web application without servers
 
Fundraising Essentials
Fundraising EssentialsFundraising Essentials
Fundraising Essentials
 
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
AWS_HK_StartupDay_Building Interactive websites while automating for efficien...
 
Introduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container ServiceIntroduzione a Amazon Elastic Container Service
Introduzione a Amazon Elastic Container Service
 

Processamento Serverless em Escala

  • 1. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Thiago Paulino Enterprise Solutions Architect, AWS Maycon Bordin Analista Digital | Woop Sicredi BDA304 Processamento de dados Serverless em Escala: Caso de estudo Amazon.com
  • 2. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. O que esperar dessa sessão? O que é processamento serverless em tempo real? Porque Streams, Amazon Kinesis, AWS Lambda? Amazon FBA Seller Inventory Authority Platform Amazon Video – Thursday Night Football Melhores Prátricas e lições aprendidas
  • 3. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Serverless em tempo Construa seu processamento de tempo real (ingestão, processamento e consumo) aplicações e serviços … Sem gerenciamento de infra-estrutura. ProcessIngest Consume
  • 4. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Por que Streams?
  • 5. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Stream Objetivo: • Alto-throughput (>1 GB/s) • Serverless (sem gerenciamento de servidores) • Tempo-real (pipeline) Streams • Limitação de tamanho • Limitação de tempo • Acesso a dados recentes • Limitação de processamento Batch • Sem limite de tamanho • Sem limite de tempo (Sem tempo real) • Acesso a todo o dado • Processamento longo (reports)
  • 6. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Stream Porque os dados são: • Gerados continuamente e simultaneamente por centenas de origens de • Tipicamente pequeno (KBs) E precisa ser processado: • Sequêncialmente e incremental • Ou processamento em janelas algumas em tempo real
  • 7. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. O que é Amazon Kinesis?
  • 8. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis: O que é isso? É um storage Armazenamento e retenção de até 7 dias Local aonde os dados são disponibilizados rapidamente Menos de 1 segundo de latência Possuí ponteiro de processamento Suporta multiplos processadores concorrentes com ordenação Serviço gerênciado Atraves de APIs torna-se fácil configurar o processo de PUT e GET de dados
  • 9. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Streams
  • 10. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Firehose
  • 11. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Data Analytics
  • 12. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Kinesis Video Streams
  • 13. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. O que é AWS Lambda?
  • 14. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Lambda: O que é isso? É uma função Suas bibliotecas, seu código sua execução Com modelo de programação Fácil de usar, diversos tutoriais, e funções prontas além de monitoramento e log Roda stateless A Infraestrutura é abstrata, persista seus dados no Amazon DynamoDB, Amazon S3 ou Amazon ElastiCache Modelo de segurança integrado Integrado com IAM, policies e roles, além de suporte a VPC Modelo de recurso flexivel Escolha a quantidade memória e nós alocamos proporcionalmente CPU, rede, banda de rede e I/O de disco
  • 15. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Lambda: Como fazer para iniciar isso? Amazon S3 Amazon SNS Modelo Push Asynchronous Amazon Alexa AWS IoT Modelo Synchronous Push • Mapeie o seu evento de origem • Triggers (inicie) Lambda via Invoke APIs • Acesso aos seus recursos da AWS baseado em policy de permissões RequestResponse invocation Event Invocation Como funciona
  • 16. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Lambda: Como iniciar uma função? Amazon DynamoDB Amazon Kinesis Modelo Stream Pull Mapping owned by Lambda Função Lambda é invocada quando novos registros são encontrados no stream Permissão ao Lambda baseado em role policy Polled batch RequestResponse invocation Lambda polls streams
  • 17. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Lambda Node.js Python Java C# FunctionEvent source AWS CloudFormation Amazon API Gateway Amazon SNS Database Cloud service Anything Endpoint Amazon Kinesis
  • 18. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Node.js Python Java C# Function Kinesis Endpoint Database Cloud service Anything Event source IoT data IoT data Financial data Log data Kinesis
  • 19. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Stream com Lambda
  • 20. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Kinesis Lambda Amazon CloudWatch Amazon DynamoDB Lambda Amazon ES Amazon S3 Processando Stream: Lambda
  • 21. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Streams: Lambda
  • 22. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Streams : Lambda Evento recebido por uma função lambda a partir de um Streaming: { "Records": [ { "kinesis": { "partitionKey": "partitionKey-3", "kinesisSchemaVersion": "1.0", "data": "SGVsbG8sIHRoaXMgaXMgYSB0ZXN0IDEyMy4=", "sequenceNumber": "49545115243490985018280067714973144582180062593244200961" }, "eventSource": "aws:kinesis", "eventID": "shardId- 000000000000:49545115243490985018280067714973144582180062593244200961", "invokeIdentityArn": "arn:aws:iam::account-id:role/testLEBRole", "eventVersion": "1.0", "eventName": "aws:kinesis:record", "eventSourceARN": "arn:aws:kinesis:us-west- 2:35667example:stream/examplestream", "awsRegion": "us-west-2" } ] }
  • 23. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Streams: Lambda
  • 24. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Streams: Lambda Por shard: ▪ As chamadas Lambdas obtem os registros com o limite de (10k ou 10 MB) ▪ Se não tiver registro, aguarde um tempo (1s) ▪ Sub-batch em memória, formatação dos registros dentro do lambda ▪ Chamada Lambda com chamadas sincronas … … Source Kinesis Destination 1 Lambda Destination 2 Shards Lambda will scale automaticallyScale Kinesis by splitting or merging shards Waits for responsePolls a batch
  • 25. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Processamento Streams: Lambda Retries As tentativas de processamento terão retry até o objeto expirar Throttles e erros afetam a duração e diretamente o throughput do shard/Lambda Best practice Tente novamente retry with exponential backoff Effective theoretical throughput with retries ( # shards * batch size (MB) ) / ( function duration (s) * retries until expiry) … Source Kinesis Destination 1 Lambda Destination 2 Shards Polls a batch Receives success Receives error Receives error
  • 26. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. FBA Seller Inventory Authority Platform
  • 27. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  • 28. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Como o FBA funciona?
  • 29. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  • 30. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Desafio da plataforma de dados • Uma única fonte da verdade para o inventário de vendas • Reconciliação de inventário • Acompanhamento de discrepâncias
  • 31. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Requisitos de design • Deve receber um alto volume de mensagens (>10000 TPS) • Deve ser capaz de lidar com Hotkeys nas mensagens de entrada • Receber uma mensagem grande para um inventário grande, muitos itens e/ou mensagem grande • Deve ser capaz de lidar com duplicidade de mensagens e for a de ordem • Manter auditoria para toda e qualquer mudança de inventário
  • 32. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Plataforma de autoridade de inventário de vendedores
  • 33. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Resultados • 22 semanas de desenvolvimentos poupados, custo de operação reduzido em 11 vezes • Lançamento em menos de 4 meses • Melhoria da precisão dos itens recebidos entre 5% a 10% • Redução do custo de operação do negócio (Exemplo: Contatos de vendas) • Desenvolvedores do time gostaram de utilizar os serviços gerenciados da AWS
  • 34. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Amazon Video Thursday Night Football
  • 35. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. (Assinatura) Séries Transacional (Filmes/Locação) Canais
  • 36. Went from this … 2016
  • 37. 2017
  • 38. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Thursday Night Football • Stream ao vivo para milhões de usuários em 191 países • 600 dispositivos diferentes
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Thursday Night Football estatísticas 2 milhões de visualizações simultaneas 191 Países Média de stream 55 minutes Países United States Mexico Germany 1 2 3 Estados California Texas New York 1 2 3 Elastic Load Balancing Processamento de dados por jogo Elastic Load Balancing conexões estabelecidas por jogo 58 TB 176M
  • 40. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Lambda API Gateway Amazon S3 CloudFront Elemental Ad InsertionAmazon Redshift Amazon DynamoDB Amazon CloudWatch ELK Kinesis Load balancers EC2 instances
  • 41. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Desafios: Intermitência/Picos Problem: Thursdays são ótimos! Outros dias não tem tanta demanda. Solution: Lambda
  • 42. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Desafios: Picos Problem: As propagandas rodam para todos simultaneamente. Solution: Amazon Kinesis
  • 43. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Desafios: Escalabilidade Problema: Milhões de pessoas assistindo = Milhões de TPS Solução: Amazon Kinesis shards + processamento batching … … Source Kinesis Destination 1 Lambda Destination 2 Shards Lambda will scale automaticallyScale Kinesis by splitting or merging shards Waits for responsePolls a batch
  • 44. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Arquitetura Macro
  • 45. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Resultados • Somente 3 meses do papel até lançamento • Redução do tempo gasto para desenvolvimento, métricas e alarmes • Redução da operação do negócio em mais de 90% • Fácil lidar com mudanças • Fácil e adaptável/escalável
  • 46. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved.
  • 47. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Melhores práticas e lições aprendidas
  • 48. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Eficiência em desenvolver funções • Evite funções pesadas e mololíticas • Controle de dependências nos pacotes das suas funções • Otimize conforme sua linguagem • Node – Browserfy, Minify
  • 49. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. JAVA – Scope your POM file <dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>2.10.10</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-s3</artifactId> <version>1.10.5</version> </dependency> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-dynamodb</artifactId> <version>1.10.10</version> </dependency> <dependencies> Maven bill of materials (BOM) module for AWS SDK Evite aws-java-sdk todo! Selecione as dependências de cada serviço
  • 50. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Ambiente de funções sem persistência • Lambda processa um evento por container. • LEMBRE-SE – containers são reusáveis • Sem dependências de objetos. Carregue o objeto sem dependências. • Não Carregue o que você não precisa, pois a iniciação da função será penalizada import boto3 client = None def my_handler(event, context): global client if not client: client = boto3.client("s3") # process
  • 51. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Alocação de recursos inteligente Encontre a melhor alocação de recurso (até 3 GB) Defina sua configuração corretamente. O teste abaixo foi baseado em 1000 execuções, execuções totais são milhões. 128 MB 11.722965sec $0.024628 256 MB 6.678945sec $0.028035 512 MB 3.194954sec $0.026830 1024 MB 1.465984sec $0.024638
  • 52. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Multithreading? • <1.8 GB continue single core • Aplicações que demandam não terão ganhos – os processos compartilham o mesmo recurso • >1.8 GB rode muti-core • Aplicações que demandam não terão ganhos, mas precisarão de multi thread • I/O Aplicações com uso alto de I/O terão ganhos • e.x., Execuções em paralelo
  • 53. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Concorrência vs. Latência ▪ Aumento do número de shards com distribuição da chave aumentará a concorrência ▪ Se o processo de ingestão é maior que a capacidade de rede aumente o número de shards para aumentar sua capacidade de rede do cluster. • Calculo da efetividade da função Lambda + capacidade de rede: ( # shards * batch size (MB) ) / (function duration (s) * retries until expiry) … … Source Kinesis Destination 1 Lambda Destination 2 Shards Lambda will scale automaticallyScale Kinesis by splitting or merging shards Waits for responsePolls a batch
  • 54. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Monitoramento Monitoramento Amazon Kinesis Data Streams •GetRecords: (effective throughput) •PutRecord: bytes, latency, records, etc. •GetRecords.IteratorAgeMilliseconds: how old your last processed records were
  • 55. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Monitoramento Monitoramento de funções Lambda Invocation count: Quantidade de execuções •Duration: Execução/Tempo de processamento •Error count: Número de erros •Throttle count: Número de execuções com throttled •Iterator Age: Tempo desde o pedido de execução além o final da execução
  • 56. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Outras lições aprendidas • Otimize o custo fazendo agregações de 25-KB de tamanho de payload • Quando re-ajustar o shard, tente escalar em multiplos de 2 ou mais • Faça compressão de objetos para economizar no tamanho de banda utilizada no Kinesis • Otimize o Lambda para obter batchs de dados a serem processados maiores
  • 57. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Caso de uso Sicredi | Woop Scredi
  • 58. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Sicredi | Woop Sicredi | Sobre nós
  • 59. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. www.woopsicredi.com “Informações em tempo real com menor esforço” • Instituição financeira cooperativa; • Desde 1902; • + 3,7 milhões de associados; • Plataforma 100% digital; • Lançado em 18/06; • Novo core bancário na nuvem;
  • 60. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. A plataforma da AWS é a fundação de toda a transformação digital do Sicredi. “Escolhemos a AWS por ser a empresa líder em soluções para arquiteturas serverless, com componentes que integram-se nativamente.” Desafios • Responder a mudanças o mais rápido possível; • Dados com múltiplas origens e propósitos; • Redução de esforços com manutenção de ambientes; • Arquitetura escalável;
  • 61. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Data Lake – Arquitetura Serverless
  • 62. © 2018, Amazon Web Services, Inc. or Its Affiliates. All rights reserved. Obrigado!
  • 63. © 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved. Por favor, complete a avaliação da sessão no aplicativo do evento: AWS Summit.
  • 64. Submit Session Feedback 1. Tap the Schedule icon. 2. Select the session you attended. 3. Tap Session Evaluation to submit your feedback.