27
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

Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Embed Size (px)

Citation preview

Page 1: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Proprietary + Confidential

ServerlessUm novo paradigma de arquitetura de aplicações:Exemplos com Firebase e Google Cloud Functions

José PapoGerente de relações com startups e developersGoogle América Latina@josepapo

Page 2: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 3: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 4: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions
Page 5: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Firebase - Arquitetura

Page 6: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Firebase - Sample Code

Page 7: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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)

Page 8: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Google Cloud Functions

Page 9: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Google Cloud Functions - Arquitetura

Cloud servicesemit "events"

1Your Functions

respond to events

2

Functions can write back to the cloud Or call other APIs

3

Page 10: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Google Cloud Functions - Sample Code

Page 11: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Google Cloud Functions - Deploy

Page 12: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 13: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem

Cloud Pub/Sub Machine Learning

Page 14: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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.html

Page 15: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 16: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 17: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 18: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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.html

Page 19: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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/

Page 20: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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/

Page 21: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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/

Page 22: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

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

Page 23: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

g.co/firebase/preso

Page 24: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

cloud.google.com/functions

Page 25: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

g.co/codelabs/preso

Firebase Codelabs

Page 26: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

https://goo.gl/uZFSyz

Google Cloud Functions OCR Tutorial

Page 27: Serverless: Um novo paradigma de arquitetura de aplicações - Exemplos com Firebase e Google Cloud Functions

OBRIGADO!!!slideshare.net/jpapo

José Papo @josepapo