Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions
1. Proprietary + Confidential
Serverless
Um novo paradigma de arquitetura de aplicações:
Exemplos com Firebase e Google Cloud Functions
José Papo
Gerente de relações com startups e developers
Google América Latina
@josepapo
2. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
"The Future is going to be Serverless" -
Jeremy Edberg, former Chief Reliability Architect - Netflix
3. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Serverless 1: Backend as a Service (BaaS)
Bancos de dados, serviços de autenticação,
analytics e outros acessíveis diretamente via APIs
4.
5. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Firebase - Arquitetura
6. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Firebase - Sample Code
7. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Serverless 2: Function as a Service (FaaS)
Lógica server-side disparada por eventos e que
executa em containers stateless gerenciados por
um terceiro (provedor do serviço de FaaS)
8. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Google Cloud Functions
9. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Google Cloud Functions - Arquitetura
Cloud services
emit "events"
1
Your Functions
respond to events
2
Functions can write
back to the cloud
Or call other APIs
3
10. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Google Cloud Functions - Sample Code
11. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Google Cloud Functions - Deploy
12. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
DevOps, NoOps e Fully Managed
Movimento em busca de automação de produção
de software e redução(ou eliminação) da
necessidade de tarefas operacionais e recursos
computacionais visíveis
13. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Cloud Pub/Sub Machine Learning
14. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
BaaS e FaaS - Vantagens
● Custos de escalabilidade reduzidos (paga somente por
tempo de execução e memória alocada para a função
ou quantidade de operações e armazenamento)
● Custos operacionais reduzidos ou gratuitos
● Custos de desenvolvimento reduzidos
http://martinfowler.com/articles/serverless.htm
l
15. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
BaaS e Faas - Desvantagens
● Lock-in de provedores Cloud (mitigação através de
frameworks open source como Serverless Framework*)
● Repetição de lógica nas camadas cliente, no caso de
BaaS
● Sempre 'stateless'
*https://github.com/serverless/serverless
16. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Como Serverless é diferente de containers?
Containers ainda são
"pesados" operacionalmente
se comparados com
Serverless. Você precisa de
soluções de gestão como
Kubernetes ou Docker Swarm.
Porém, containers são mais
portáveis
17. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Usando FaaS como serviços HTTP
http://microservices.io/patterns/apigateway.html
18. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Padrões arquiteturais FaaS - BaaS + FaaS + API Gateway
http://martinfowler.com/articles/serverless.htm
l
19. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Padrões arquiteturais FaaS - Nanoservices
http://justserverless.com/blog/nanoservices-microservices-monolith-serverless-architectures-by-example/
20. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Padrões arquiteturais FaaS - Microservices
http://justserverless.com/blog/nanoservices-microservices-monolith-serverless-architectures-by-example/
21. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Padrões arquiteturais FaaS - Monolith
http://justserverless.com/blog/nanoservices-microservices-monolith-serverless-architectures-by-example/
22. Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Padrões arquiteturais FaaS - Event-driven pipelines
https://cloud.google.com/functions/docs/tutorials/ocr