SlideShare une entreprise Scribd logo
1  sur  63
Stefan Horochovec
• Co-Founder e CTO – Kepha Digital Business Experts;
• Co-Founder e Arquiteto de Soluções – Previseme HelpDesk;
• Co-Founder e CTO – Azagros;
• Co-Founder e CTO – Conexiune;
• Especialista em Engenharia de Software e Gestão de Projetos;
• Instrutor/Autor/Palestrante;
• Twitter: @horochovec
• Github: @horochovec
• Blogs: https://www.horochovec.com.br e https://www.horochovec.io
https://bits.citrusbyte.com/images/posts/2015-08-24-microservices-monolith.png
Microservices – Vantagens
• Serviços independentes;
• Implantação automática via Continuous Integration;
• Possibilidade de utilizar a tecnologia certa para cada microservice;
• Arquitetura de fácil compreensão;
• Facilidade na integração com API’s de terceiros;
• Gestão de mudança facilitada;
• Melhor gerenciamento de falhas e de escalabilidade de serviços;
Microservices – Desvantagens
• Serviços distribuídos;
• Infraestrutura de difícil gerenciamento;
• Containers são tão pesados quanto servidores;
• Necessidade de criar uma cultura de DevOps;
Microservices – Infraestrutura
• Qual o tamanho do servidor para executar cada microservices?
• Qual o limite de usuários para cada microservice disponível?
• Quantos servidores devo orçar para o deploy de uma aplicação com 10.000 usuários?
• Quais sistemas operacionais deverão ser executados pelos microservices?
• Quais usuários podem ter acesso aos meus servidores?
• Quem vai manter os servidores atualizados e seguros?
• Como aumento a capacidade dos servidores caso aumente o número de usuários?
“Arquitetura Serverless é uma
maneira de criar e executar
aplicativos e serviços sem ter
que gerenciar a infraestrutura”
Function as a Service (FaaS) Providers
FaaS – Vantagens
• Não há necessidade de provisionamento, manutenção e gerenciamento de servidores;
• Você paga apenas pela execução das funções;
• Escalabilidade automática, controlada pelo consumo de funções;
• PaaS é responsável pela disponibilização do serviço;
• Redundancia Multi-AZ – AWS Services;
• Aumento da produtividade do desenvolvedor;
• Redução do tempo para publicação de soluções;
“Permite que você execute
códigos sem provisionar ou
gerenciar servidores.”
AWS - Lambda
“Permite adicionar cadastros,
login e controle de acesso de
usuários a aplicativos
web e móvel com rapidez.”
AWS - Cognito
“Colete, processe e analise
facilmente streams de vídeo e
dados em tempo real.”
AWS - Kinesis
“Armazenamento de objetos
para armazenar e recuperar
qualquer quantidade de
dados de qualquer local.”
AWS – S3
“Banco de dados não
relacional para aplicativos que
exigem alta performance em
qualquer escala.”
AWS - DynamoDB
“Filas de mensagens
gerenciadas para
microsserviços,
sistemas distribuídos e
arquitetura serverless.”
AWS - SQS
“Permite que você execute
códigos sem provisionar ou
gerenciar servidores.”
AWS – API Management
“Visibilidade completa dos
seus aplicativos e recursos na
nuvem.”
AWS - CloudWatch
“Sistema de dispositivos
onipresentes que conecta o
mundo físico à nuvem.”
AWS - IoT
Lambda Functions
• Configuração de memória disponível para cada função (Limite de até 3GB por função);
• Até 1.000 execuções concorrentes (por default);
• Monitoramento automático de cada função;
• Redução de até 80% no tempo de deploy;
• CI/CD integrado com Github;
• VPC PrivateLink para integrações (Private endpoints);
• Escalabilidade garantida pela AWS;
• Uptime garantido pela AWS;
• Performance garantida pela AWS;
Lambda Functions
Memoria Tempo de Execução Custo
128 MB 11.722965 sec $0.024628
256 MB 6.678945 sec $0.024628
512 MB 3.194954 sec $0.024628
1024 MB 1.465984 sec $0.024628
Estatística de uma função Lambda que calcula 1000 vezes todos os números primos menores ou iguais a 1.000.000
Instalação do framework Serverless
$ npm install serverless -g
Criando um projeto via boilerplate
$ serverless create --template aws-nodejs --path [SERVICE-NAME]
Instalação das dependências
$ npm init
$ npm install aws-sdk -- save
$ npm install uuid -- save
Configuração das credenciais da AWS
$ export AWS_ACCESS_KEY_ID=[AWS_ACCESS_KEY_ID]
$ export AWS_SECRET_ACCESS_KEY=[AWS_SECRET_ACCESS_KEY]
Deploy da aplicação
$ serverless deploy
Deploy da aplicação
Códigos do exemplo
https://github.com/kepha/eres2018
Arquitetura Serverless na AWS

Contenu connexe

Tendances

WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
WSO2
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
GeneXus
 

Tendances (20)

Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
Sobrevoando os serviços do Azure | TDC São Paulo Online 2020
 
Gerenciando Clusters Kubernetes usando Cluster API, Azure Arc e GitOps
Gerenciando Clusters Kubernetes usando Cluster API, Azure Arc e GitOpsGerenciando Clusters Kubernetes usando Cluster API, Azure Arc e GitOps
Gerenciando Clusters Kubernetes usando Cluster API, Azure Arc e GitOps
 
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
Kubernetes de ponta a ponta: do Pod ao Deployment Automatizado | Setembro-2020
 
Exame AZ-900 - Azure Fundamentals | TDC Transformation 2021
Exame AZ-900 - Azure Fundamentals | TDC Transformation 2021Exame AZ-900 - Azure Fundamentals | TDC Transformation 2021
Exame AZ-900 - Azure Fundamentals | TDC Transformation 2021
 
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na PráticaKubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
Kubernetes na Nuvem | Minicurso Gratuito - Azure na Prática
 
Introdução a Cloud Computing utilizando o Azure
Introdução a Cloud Computing utilizando o AzureIntrodução a Cloud Computing utilizando o Azure
Introdução a Cloud Computing utilizando o Azure
 
Azure Labs - Publicando APIs no Azure
Azure Labs - Publicando APIs no AzureAzure Labs - Publicando APIs no Azure
Azure Labs - Publicando APIs no Azure
 
Sobrevoando os serviços do Microsoft Azure | UNIVAG - Agosto-2021
Sobrevoando os serviços do Microsoft Azure | UNIVAG - Agosto-2021Sobrevoando os serviços do Microsoft Azure | UNIVAG - Agosto-2021
Sobrevoando os serviços do Microsoft Azure | UNIVAG - Agosto-2021
 
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |....NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
.NET Core + Serverless: Desenvolvimento Multiplataforma com Azure Functions |...
 
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
Nuvem em 2022: primeiros passos, Azure, tecnologias, carreira | SENAI Santo A...
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
Serverless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na PráticaServerless + Azure Functions | Minicurso Gratuito - Azure na Prática
Serverless + Azure Functions | Minicurso Gratuito - Azure na Prática
 
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na PráticaAzure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
Azure + Desenvolvimento Web | Minicurso Gratuito - Azure na Prática
 
WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
WSO2 API Forum Brazil - Substituindo Servidores de Aplicações por Arquitetura...
 
Acps1 act7 mega
Acps1 act7 megaAcps1 act7 mega
Acps1 act7 mega
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
 
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
TheDevConf - Implantando Arquitetura de Microsserviços em Alta Disponibilidad...
 
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShiftMulticloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
Multicloud APIs Deployment using Azure DevOps, AKS, GKE and OpenShift
 
Acps1 act7 mega
Acps1 act7 megaAcps1 act7 mega
Acps1 act7 mega
 

Similaire à Arquitetura Serverless na AWS

Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
Ryan Padilha
 

Similaire à Arquitetura Serverless na AWS (20)

Melhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud ComputingMelhores práticas para Arquitetura em Cloud Computing
Melhores práticas para Arquitetura em Cloud Computing
 
Microservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud NetflixMicroservices com Spring Boot e Spring Cloud Netflix
Microservices com Spring Boot e Spring Cloud Netflix
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Goldark - Microservices
Goldark - MicroservicesGoldark - Microservices
Goldark - Microservices
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
SATADS 2019 - Desenvolvimento com recursos da AWS
SATADS 2019 - Desenvolvimento com recursos da AWSSATADS 2019 - Desenvolvimento com recursos da AWS
SATADS 2019 - Desenvolvimento com recursos da AWS
 
Um método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviçosUm método para o desenvolvimento de software baseado em microsserviços
Um método para o desenvolvimento de software baseado em microsserviços
 
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
AWS SUMMIT São Paulo - DEV02 AWS e DevOps - Explore e aproveite o melhor dos ...
 
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
DevOps Experience 2022: Build de aplicações Spring Boot utilizando Github Act...
 
Azure blockchain
Azure blockchainAzure blockchain
Azure blockchain
 
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
Deep dive em aceleração de entrega de conteúdo, APIs e Aplicações utilizando ...
 
Architecture performance using micro services
Architecture performance using micro servicesArchitecture performance using micro services
Architecture performance using micro services
 
Introdução a arquitetura Serverless na AWS
Introdução a arquitetura Serverless na AWSIntrodução a arquitetura Serverless na AWS
Introdução a arquitetura Serverless na AWS
 
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
Introdução ao IBM Bluemix - Silvia Matsuora (Solution IT Architect - Ecosyste...
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Opções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e ArquiteturasOpções de Backends para seus apps móveis: Análise e Arquiteturas
Opções de Backends para seus apps móveis: Análise e Arquiteturas
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Microsoft Connect(); Brasil Azure blockchain
Microsoft Connect(); Brasil Azure blockchainMicrosoft Connect(); Brasil Azure blockchain
Microsoft Connect(); Brasil Azure blockchain
 
Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
Computação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicosComputação em Nuvem: conceitos básicos
Computação em Nuvem: conceitos básicos
 

Plus de Stefan Horochovec

Flash plataform em dispositivos móveis
Flash plataform em dispositivos móveisFlash plataform em dispositivos móveis
Flash plataform em dispositivos móveis
Stefan Horochovec
 

Plus de Stefan Horochovec (17)

Lei Geral de Proteção de Dados - LGPD
Lei Geral de Proteção de Dados - LGPDLei Geral de Proteção de Dados - LGPD
Lei Geral de Proteção de Dados - LGPD
 
Desmistificando Progressive Web Apps - PWA
Desmistificando Progressive Web Apps - PWADesmistificando Progressive Web Apps - PWA
Desmistificando Progressive Web Apps - PWA
 
Utilizando Polymer em aplicações móveis
Utilizando Polymer em aplicações móveisUtilizando Polymer em aplicações móveis
Utilizando Polymer em aplicações móveis
 
Android Study Jam - GDG Dois Vizinhos - Primeira Reunião
Android Study Jam - GDG Dois Vizinhos - Primeira ReuniãoAndroid Study Jam - GDG Dois Vizinhos - Primeira Reunião
Android Study Jam - GDG Dois Vizinhos - Primeira Reunião
 
Android Study Jams - GDG Dois Vizinhos
Android Study Jams - GDG Dois VizinhosAndroid Study Jams - GDG Dois Vizinhos
Android Study Jams - GDG Dois Vizinhos
 
Workshop - Ionic + firebase
Workshop - Ionic + firebaseWorkshop - Ionic + firebase
Workshop - Ionic + firebase
 
GDG Dois Vizinhos
GDG Dois VizinhosGDG Dois Vizinhos
GDG Dois Vizinhos
 
Componentizando a Web com Polymer
Componentizando a Web com PolymerComponentizando a Web com Polymer
Componentizando a Web com Polymer
 
Primeiros passos - GIT
Primeiros passos - GITPrimeiros passos - GIT
Primeiros passos - GIT
 
Write once, run "everywhere"
Write once, run "everywhere"Write once, run "everywhere"
Write once, run "everywhere"
 
Introdução ao AngularJS
Introdução ao AngularJSIntrodução ao AngularJS
Introdução ao AngularJS
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetos
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
Plataforma Android
Plataforma AndroidPlataforma Android
Plataforma Android
 
Flash plataform em dispositivos móveis
Flash plataform em dispositivos móveisFlash plataform em dispositivos móveis
Flash plataform em dispositivos móveis
 
Adobe Flex e Playbook
Adobe Flex e PlaybookAdobe Flex e Playbook
Adobe Flex e Playbook
 
FlexMania 2010
FlexMania 2010FlexMania 2010
FlexMania 2010
 

Arquitetura Serverless na AWS

  • 1.
  • 2. Stefan Horochovec • Co-Founder e CTO – Kepha Digital Business Experts; • Co-Founder e Arquiteto de Soluções – Previseme HelpDesk; • Co-Founder e CTO – Azagros; • Co-Founder e CTO – Conexiune; • Especialista em Engenharia de Software e Gestão de Projetos; • Instrutor/Autor/Palestrante; • Twitter: @horochovec • Github: @horochovec • Blogs: https://www.horochovec.com.br e https://www.horochovec.io
  • 3.
  • 4.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12. Microservices – Vantagens • Serviços independentes; • Implantação automática via Continuous Integration; • Possibilidade de utilizar a tecnologia certa para cada microservice; • Arquitetura de fácil compreensão; • Facilidade na integração com API’s de terceiros; • Gestão de mudança facilitada; • Melhor gerenciamento de falhas e de escalabilidade de serviços;
  • 13. Microservices – Desvantagens • Serviços distribuídos; • Infraestrutura de difícil gerenciamento; • Containers são tão pesados quanto servidores; • Necessidade de criar uma cultura de DevOps;
  • 14. Microservices – Infraestrutura • Qual o tamanho do servidor para executar cada microservices? • Qual o limite de usuários para cada microservice disponível? • Quantos servidores devo orçar para o deploy de uma aplicação com 10.000 usuários? • Quais sistemas operacionais deverão ser executados pelos microservices? • Quais usuários podem ter acesso aos meus servidores? • Quem vai manter os servidores atualizados e seguros? • Como aumento a capacidade dos servidores caso aumente o número de usuários?
  • 15. “Arquitetura Serverless é uma maneira de criar e executar aplicativos e serviços sem ter que gerenciar a infraestrutura”
  • 16. Function as a Service (FaaS) Providers
  • 17. FaaS – Vantagens • Não há necessidade de provisionamento, manutenção e gerenciamento de servidores; • Você paga apenas pela execução das funções; • Escalabilidade automática, controlada pelo consumo de funções; • PaaS é responsável pela disponibilização do serviço; • Redundancia Multi-AZ – AWS Services; • Aumento da produtividade do desenvolvedor; • Redução do tempo para publicação de soluções;
  • 18.
  • 19. “Permite que você execute códigos sem provisionar ou gerenciar servidores.” AWS - Lambda
  • 20. “Permite adicionar cadastros, login e controle de acesso de usuários a aplicativos web e móvel com rapidez.” AWS - Cognito
  • 21. “Colete, processe e analise facilmente streams de vídeo e dados em tempo real.” AWS - Kinesis
  • 22. “Armazenamento de objetos para armazenar e recuperar qualquer quantidade de dados de qualquer local.” AWS – S3
  • 23. “Banco de dados não relacional para aplicativos que exigem alta performance em qualquer escala.” AWS - DynamoDB
  • 24. “Filas de mensagens gerenciadas para microsserviços, sistemas distribuídos e arquitetura serverless.” AWS - SQS
  • 25. “Permite que você execute códigos sem provisionar ou gerenciar servidores.” AWS – API Management
  • 26. “Visibilidade completa dos seus aplicativos e recursos na nuvem.” AWS - CloudWatch
  • 27. “Sistema de dispositivos onipresentes que conecta o mundo físico à nuvem.” AWS - IoT
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Lambda Functions • Configuração de memória disponível para cada função (Limite de até 3GB por função); • Até 1.000 execuções concorrentes (por default); • Monitoramento automático de cada função; • Redução de até 80% no tempo de deploy; • CI/CD integrado com Github; • VPC PrivateLink para integrações (Private endpoints); • Escalabilidade garantida pela AWS; • Uptime garantido pela AWS; • Performance garantida pela AWS;
  • 35. Lambda Functions Memoria Tempo de Execução Custo 128 MB 11.722965 sec $0.024628 256 MB 6.678945 sec $0.024628 512 MB 3.194954 sec $0.024628 1024 MB 1.465984 sec $0.024628 Estatística de uma função Lambda que calcula 1000 vezes todos os números primos menores ou iguais a 1.000.000
  • 36.
  • 37. Instalação do framework Serverless $ npm install serverless -g
  • 38. Criando um projeto via boilerplate $ serverless create --template aws-nodejs --path [SERVICE-NAME]
  • 39. Instalação das dependências $ npm init $ npm install aws-sdk -- save $ npm install uuid -- save
  • 40. Configuração das credenciais da AWS $ export AWS_ACCESS_KEY_ID=[AWS_ACCESS_KEY_ID] $ export AWS_SECRET_ACCESS_KEY=[AWS_SECRET_ACCESS_KEY]
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. Deploy da aplicação $ serverless deploy
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.