SlideShare uma empresa Scribd logo
© 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Renato Barbosa – Enterprise Solutions Architect
Junho - 2016
Arquitetura Serverless e AWS
Lambda
Serverless e AWS Lambda
Deixe de se preocupar com:
• Servidores
• Dimencionamento
• Deployments
• Escalabilidade
• Tolerância a Falhas
• S.O e Updates
• Metricas e Log
E você pode facilmente:
• Executar código em
paralelo
• Trazer seu código e
bibliotecas nativas
• Criar backend, Ações
através de eventos e
sistemas de processamento
• Pagar apenas pelo
necessário
AWS Lambda – Benefícios
ESCALÁVEL POR EVENTOSSERVERLESS BILLING EM
MILISEGUNDOS
AWS Lambda – Integração
Amazon
S3
Amazon
DynamoDB
Amazon
Kinesis
AWS
CloudTrail
Amazon
CloudWatch
Logs
AWS
CloudFormation
Amazon
SNS
Amazon
SWF
Amazon
SES
Amazon
API Gateway
Amazon
Cognito
AWS Lambda – Histórico
re:Invent 2014
Preview Launch
April 2015
GA
Summer 2015 re:Invent 2015
• Node.js
• Event handlers
• CORS
• Mobile
Backends
• Sync calls
• Resource
policies
• Java
• Amazon S3
uploads
• Blueprints
• 1.5 GB
• Tokyo region
• Alexa Skills
• Pyhton
• Controle de
Versão
• Agendador
• Funções de até
5 min
AWS Lambda – Desafio do Demo
• Criar uma arquitetura e execução serverless para:
• Armezenar vídeos de Upload dos usuários
• Pós Upload converter vídeos e armazenar-los
• Pós conversão armazenar em um banco de dados
Metadados do vídeo
• Disponibilizar videos em uma estrutura de CDN Serverless
• Enviar notificação do novo vídeo aos usuários
Solução necessita ser SERVERLESS!
Arquitetura
Arquitetura – Serveless Storage
Arquitetura – Serverless Transcode
Arquitetura - Serverless Database e Notify
Arquitetura – Serveless CDN
AWS Lambda – Desenvolvendo
• Guia a Tira colo:
• http://boto3.readthedocs.io/en/latest/index.html
• Desenhar a solução e trabalhar nas APIs
• Inicio da solução….
1) Lambda pós Upload
##### Instanciando os servicos
s3 = boto3.client('s3')
etranscoder = boto3.client('elastictranscoder')
##### Id da Pipelinepipeline
Id = ('1463433351875-xzcffu')
##### Id do Preset preset
Id = ('1351620000001-000010')
def lambda_handler(event, context):
#print("Received event: " + json.dumps(event, indent=2))
# Get the object from the event and show its content type
bucket = event['Records'][0]['s3']['bucket']['name']
key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8')
try:
##### Obtendo resposta do Evento
response = s3.get_object(Bucket=bucket, Key=key)
1) Lambda pós Upload
##### Realizando o Transcoding do Video
transcoder = etranscoder.create_job(
PipelineId = pipelineId,
Input={
'Key': key
},
Output={
'Key': key,
'PresetId': presetId
}
)
2) Lambda pós Transcode
##### Instanciando os servicos
s3 = boto3.client('s3')
dynamodb = boto3.resource('dynamodb')
sns = boto3.client('sns')
##### Acessando Tabela do DynamoDB
table = dynamodb.Table('Videos')
##### EndPoint do CloudFront
cloudfront = ('http://d397nnvlvhwg5r.cloudfront.net/')
##### ARN do Topic do SNStopic
ARN = ('arn:aws:sns:us-east-1:939664253159:videos')
2) Lambda pós Transcode
def lambda_handler(event, context):
....
##### Inserindo no DynamoDB os dados do acesso ao video e Status.
put_item_dynamo = table.put_item(
Item = {
'Nome': key,
'Info': response['ContentType'],
'Status': '0',
'Link': cloudfront + key
}
)
##### Enviando alerta de video disponivel.
snsPublish = sns.publish(
TopicArn = topicARN,
Message = 'Novo video disponivel. Para acessar o video acessar o Link: '+ cloudfront +
key,
Subject = 'Demo Summit! Tem novidade ai.',
MessageStructure = 'Raw',
)
Demo
#LambdaVoceTambem
Remember to complete
your evaluations!
Obrigado

Mais conteúdo relacionado

PDF
Construindo APIs com Amazon API Gateway e AWS Lambda
PDF
Fazendo seu DR na AWS de maneira prática
PDF
Construindo apps móveis com AWS Mobile Hub
PDF
Infraestrutura como código
PDF
Melhores práticas de workloads Microsoft na AWS
PDF
Criando e conectando seu datacenter virtual
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PDF
Banco de Dados Oracle na AWS: RDS ou EC2
Construindo APIs com Amazon API Gateway e AWS Lambda
Fazendo seu DR na AWS de maneira prática
Construindo apps móveis com AWS Mobile Hub
Infraestrutura como código
Melhores práticas de workloads Microsoft na AWS
Criando e conectando seu datacenter virtual
Construindo APIs com Amazon API Gateway e AWS Lambda
Banco de Dados Oracle na AWS: RDS ou EC2

Mais procurados (20)

PDF
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
PDF
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
PDF
Amazon EC2 avançado
PDF
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
PDF
Explorando o poder do banco de dados com Amazon Aurora
PPTX
Fazendo seu DR na AWS
PPTX
Construindo seu Data Lake na AWS
PPTX
Começando com aplicações serverless na AWS
PDF
Seu primeiro aplicativo de Big Data
PDF
Raising the bar #5 - Melhores práticas de workloads Microsoft
PPTX
Primeiros Passos na AWS
PDF
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
PDF
Escalando para os primeiros 10 milhoes de usuarios
PPTX
Mergulhando em desenvolvimento de aplicações serverless
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PDF
Construindo um Data Lake na AWS
PPTX
Tendências de Big Data
PPTX
Migrando seu workload de Big Data para o Amazon EMR
PPTX
Webinar: Introdução a Big data
PDF
Building blocks #1 - Primeiros passos na Amazon Web Services
Building blocks #4 - Rede de entrega de conteúdo (CDN) na AWS
Usando Amazon CloudFront para aumentar performance, disponibilidade e cache n...
Amazon EC2 avançado
Building blocks #5 - Recuperação de desastres de maneira prática na AWS
Explorando o poder do banco de dados com Amazon Aurora
Fazendo seu DR na AWS
Construindo seu Data Lake na AWS
Começando com aplicações serverless na AWS
Seu primeiro aplicativo de Big Data
Raising the bar #5 - Melhores práticas de workloads Microsoft
Primeiros Passos na AWS
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Escalando para os primeiros 10 milhoes de usuarios
Mergulhando em desenvolvimento de aplicações serverless
Construindo APIs com Amazon API Gateway e AWS Lambda
Construindo um Data Lake na AWS
Tendências de Big Data
Migrando seu workload de Big Data para o Amazon EMR
Webinar: Introdução a Big data
Building blocks #1 - Primeiros passos na Amazon Web Services
Anúncio

Destaque (16)

PDF
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
PPTX
Cloudsolutionday 2016: Opening Remarks
PPTX
Meetup #3: Migrating an Oracle Application from on-premise to AWS
PPTX
Cloud Solution Day 2016: Service Mesh for Kubernetes
PPTX
Cloudsolutionday 2016: Getting Started with Severless Architecture
PDF
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
PPTX
Cloudsolutionday 2016: Compliance and cost controlling on AWS
PDF
Dados tabulares: A Maneira Pythônica
PDF
Meetup#6: AWS-AI & Lambda Serverless
PDF
Padrões de Arquitetura na Nuvem da AWS
PDF
Introdução ao Firebase
PPTX
Marketing Direto - Principais Conceitos e Ferramentas
PDF
Introducing Serverless Computing (20160802)
PDF
AWS初心者向けWebinar AWS上でのDDoS対策
PDF
Cloud Solution Day 2016: Microservices on Mesos & Netflix OSS
PDF
Intro to Serverless AWS Web Apps
Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Fir...
Cloudsolutionday 2016: Opening Remarks
Meetup #3: Migrating an Oracle Application from on-premise to AWS
Cloud Solution Day 2016: Service Mesh for Kubernetes
Cloudsolutionday 2016: Getting Started with Severless Architecture
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: Compliance and cost controlling on AWS
Dados tabulares: A Maneira Pythônica
Meetup#6: AWS-AI & Lambda Serverless
Padrões de Arquitetura na Nuvem da AWS
Introdução ao Firebase
Marketing Direto - Principais Conceitos e Ferramentas
Introducing Serverless Computing (20160802)
AWS初心者向けWebinar AWS上でのDDoS対策
Cloud Solution Day 2016: Microservices on Mesos & Netflix OSS
Intro to Serverless AWS Web Apps
Anúncio

Semelhante a Arquitetura Serverless e AWS Lambda - Demo Session (20)

PPTX
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
PPTX
Iniciando com AWS Lambda e serverless em cloud
PPTX
Construindo APIs com Amazon API Gateway e AWS Lambda
PPTX
PDF
Introdução a arquitetura Serverless na AWS
PDF
Serverless Framework - Creating serverless applications
PDF
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
PDF
SATADS 2019 - Desenvolvimento com recursos da AWS
PDF
Desenvolvendo aplicações móveis na Nuvem
PDF
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
PDF
Mobile Back end as a Service na AWS
PPTX
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
PDF
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
PDF
5. rodando containers docker na aws
PPTX
Foco no app, viva o serverless!
PPTX
Azure Fundamentals
PPTX
Iniciando com AWS Mobile services
PPTX
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
PDF
Infraestrutura como codigo
PDF
Melhores práticas para Arquitetura em Cloud Computing
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Iniciando com AWS Lambda e serverless em cloud
Construindo APIs com Amazon API Gateway e AWS Lambda
Introdução a arquitetura Serverless na AWS
Serverless Framework - Creating serverless applications
Escalabilidade para sua solução na Nuvem da AWS de um para centenas de milhõe...
SATADS 2019 - Desenvolvimento com recursos da AWS
Desenvolvendo aplicações móveis na Nuvem
Rio Cloud Computing Meetup 25/01/2017 - Lançamentos do AWS re:Invent 2016
Mobile Back end as a Service na AWS
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
Webinar Melhores práticas e lições aprendidas com aplicações sem servidor
5. rodando containers docker na aws
Foco no app, viva o serverless!
Azure Fundamentals
Iniciando com AWS Mobile services
Acelerando a entrega de software com as ferramentas de desenvolvimento da AWS
Infraestrutura como codigo
Melhores práticas para Arquitetura em Cloud Computing

Mais de Amazon Web Services LATAM (20)

PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
PPTX
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
PPTX
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
PPTX
Automatice el proceso de entrega con CI/CD en AWS
PPTX
Automatize seu processo de entrega de software com CI/CD na AWS
PPTX
Cómo empezar con Amazon EKS
PPTX
Como começar com Amazon EKS
PPTX
Ransomware: como recuperar os seus dados na nuvem AWS
PPTX
Ransomware: cómo recuperar sus datos en la nube de AWS
PPTX
Ransomware: Estratégias de Mitigação
PPTX
Ransomware: Estratégias de Mitigación
PPTX
Aprenda a migrar y transferir datos al usar la nube de AWS
PPTX
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
PPTX
Cómo mover a un almacenamiento de archivos administrados
PPTX
Simplifique su BI con AWS
PPTX
Simplifique o seu BI com a AWS
PPTX
Os benefícios de migrar seus workloads de Big Data para a AWS
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
AWS para terceiro setor - Sessão 1 - Introdução à nuvem
AWS para terceiro setor - Sessão 2 - Armazenamento e Backup
AWS para terceiro setor - Sessão 3 - Protegendo seus dados.
Automatice el proceso de entrega con CI/CD en AWS
Automatize seu processo de entrega de software com CI/CD na AWS
Cómo empezar con Amazon EKS
Como começar com Amazon EKS
Ransomware: como recuperar os seus dados na nuvem AWS
Ransomware: cómo recuperar sus datos en la nube de AWS
Ransomware: Estratégias de Mitigação
Ransomware: Estratégias de Mitigación
Aprenda a migrar y transferir datos al usar la nube de AWS
Aprenda como migrar e transferir dados ao utilizar a nuvem da AWS
Cómo mover a un almacenamiento de archivos administrados
Simplifique su BI con AWS
Simplifique o seu BI com a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS

Último (19)

PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Apple Pippin Uma breve introdução. - David Glotz
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Aula04-Academia Heri- Tecnologia Geral 2025
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Apple Pippin Uma breve introdução. - David Glotz
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Custos e liquidação no SAP Transportation Management, TM130 Col18
Aula04-Academia Heri- Tecnologia Geral 2025
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Aula 18 - Manipulacao De Arquivos python
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
COBITxITIL-Entenda as diferença em uso governança TI
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Processos na gestão de transportes, TM100 Col18
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx

Arquitetura Serverless e AWS Lambda - Demo Session

  • 1. © 2016, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Renato Barbosa – Enterprise Solutions Architect Junho - 2016 Arquitetura Serverless e AWS Lambda
  • 2. Serverless e AWS Lambda Deixe de se preocupar com: • Servidores • Dimencionamento • Deployments • Escalabilidade • Tolerância a Falhas • S.O e Updates • Metricas e Log E você pode facilmente: • Executar código em paralelo • Trazer seu código e bibliotecas nativas • Criar backend, Ações através de eventos e sistemas de processamento • Pagar apenas pelo necessário
  • 3. AWS Lambda – Benefícios ESCALÁVEL POR EVENTOSSERVERLESS BILLING EM MILISEGUNDOS
  • 4. AWS Lambda – Integração Amazon S3 Amazon DynamoDB Amazon Kinesis AWS CloudTrail Amazon CloudWatch Logs AWS CloudFormation Amazon SNS Amazon SWF Amazon SES Amazon API Gateway Amazon Cognito
  • 5. AWS Lambda – Histórico re:Invent 2014 Preview Launch April 2015 GA Summer 2015 re:Invent 2015 • Node.js • Event handlers • CORS • Mobile Backends • Sync calls • Resource policies • Java • Amazon S3 uploads • Blueprints • 1.5 GB • Tokyo region • Alexa Skills • Pyhton • Controle de Versão • Agendador • Funções de até 5 min
  • 6. AWS Lambda – Desafio do Demo • Criar uma arquitetura e execução serverless para: • Armezenar vídeos de Upload dos usuários • Pós Upload converter vídeos e armazenar-los • Pós conversão armazenar em um banco de dados Metadados do vídeo • Disponibilizar videos em uma estrutura de CDN Serverless • Enviar notificação do novo vídeo aos usuários Solução necessita ser SERVERLESS!
  • 10. Arquitetura - Serverless Database e Notify
  • 12. AWS Lambda – Desenvolvendo • Guia a Tira colo: • http://boto3.readthedocs.io/en/latest/index.html • Desenhar a solução e trabalhar nas APIs • Inicio da solução….
  • 13. 1) Lambda pós Upload ##### Instanciando os servicos s3 = boto3.client('s3') etranscoder = boto3.client('elastictranscoder') ##### Id da Pipelinepipeline Id = ('1463433351875-xzcffu') ##### Id do Preset preset Id = ('1351620000001-000010') def lambda_handler(event, context): #print("Received event: " + json.dumps(event, indent=2)) # Get the object from the event and show its content type bucket = event['Records'][0]['s3']['bucket']['name'] key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']).decode('utf8') try: ##### Obtendo resposta do Evento response = s3.get_object(Bucket=bucket, Key=key)
  • 14. 1) Lambda pós Upload ##### Realizando o Transcoding do Video transcoder = etranscoder.create_job( PipelineId = pipelineId, Input={ 'Key': key }, Output={ 'Key': key, 'PresetId': presetId } )
  • 15. 2) Lambda pós Transcode ##### Instanciando os servicos s3 = boto3.client('s3') dynamodb = boto3.resource('dynamodb') sns = boto3.client('sns') ##### Acessando Tabela do DynamoDB table = dynamodb.Table('Videos') ##### EndPoint do CloudFront cloudfront = ('http://d397nnvlvhwg5r.cloudfront.net/') ##### ARN do Topic do SNStopic ARN = ('arn:aws:sns:us-east-1:939664253159:videos')
  • 16. 2) Lambda pós Transcode def lambda_handler(event, context): .... ##### Inserindo no DynamoDB os dados do acesso ao video e Status. put_item_dynamo = table.put_item( Item = { 'Nome': key, 'Info': response['ContentType'], 'Status': '0', 'Link': cloudfront + key } ) ##### Enviando alerta de video disponivel. snsPublish = sns.publish( TopicArn = topicARN, Message = 'Novo video disponivel. Para acessar o video acessar o Link: '+ cloudfront + key, Subject = 'Demo Summit! Tem novidade ai.', MessageStructure = 'Raw', )