opções de backends para seus apps móveis: análise e arquiteturas
DESCRIPTION
Opções de Backends para seus apps móveis: Análise e Arquiteturas. Palestra realizada no evento Next Level Apps 2014 . http://www.nextlevelapps.mobiTRANSCRIPT
![Page 1: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/1.jpg)
Opções de Backends para seus apps móveis
Análise e Arquiteturas
José PapoGerente de relações com startups e developersGoogle América Latina@josepapo
![Page 2: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/2.jpg)
Google Confidential and ProprietaryFonte: Think Insights, artigo “O consumidor brasileiro agora é hiper”, Setembro 2014.
PANORAMA
O vídeo é a plataforma
de entretenimento
para os brasileiros e
ele já é consumido
multiplataformas.
Hiper Entretido
![Page 3: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/3.jpg)
➢ Servidores Virtuais, Físicos e/ou Containers
➢ On-Premises ou Nuvem
➢ PaaS, IaaS, CaaS
➢ REST ou HTTPS puro
➢ MBaaS
➢ Bancos de Dados Relacionais, NoSQL ou como serviço
Muitas opções para os desenvolvedores de apps
![Page 4: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/4.jpg)
![Page 5: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/5.jpg)
by Martin Fowler
![Page 6: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/6.jpg)
![Page 7: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/7.jpg)
IaaS
![Page 8: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/8.jpg)
● Infrastructure-as-a-Service
● Máquinas virtuais de alta performance que rodam na infra do próprio Google
● Roda Linux e Windows
● GCE Auto Scaler Beta
Google Compute Engine - CaracterísticasCompute | Compute Engine
![Page 9: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/9.jpg)
● Controle total do ambiente
● Ambientes conhecidos
● Mais esforço para DevOps
● Maior complexidade para gestão de infra
Google Compute Engine - AnáliseCompute | Compute Engine
![Page 10: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/10.jpg)
PaaS
![Page 11: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/11.jpg)
Google App Engine - Características
● Platform-as-a-service
● “Eu escrevo a app, você gerencia meus servidores.”
● Fácil para construir, manter e escalar
● Suporte para Python, Java, PHP, Go e mais linguagens a caminho
Compute | App Engine
![Page 12: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/12.jpg)
Google App Engine - Análise
● Escalabilidade automática sem necessidade de configuração
● Foco no código com deploy simples e servidor local para testes.
● Algumas necessidades de adaptação no código
● Timeouts de 60 segundos para requisições em instancias frontend
Compute | App Engine
![Page 13: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/13.jpg)
PaaS para Mobile
![Page 14: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/14.jpg)
Google Cloud Endpoints - Características
● Facilita a criação de API de backend no App Engine
● Oferece autenticação OAuth
● Fácil para construir, manter e escalar
Compute | App Engine
![Page 15: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/15.jpg)
Google Cloud Endpoints - AnáliseCompute | App Engine
● Possui recursos especiais no Android Studio
● Fácil de criar os backends e os clients para o backend via wizards
● Necessidades de adaptação do código
● Associado ao Google Cloud Platform
![Page 16: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/16.jpg)
Containers
![Page 17: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/17.jpg)
Containers
image veer.com
![Page 18: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/18.jpg)
image veer.com
VMs Docker
![Page 19: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/19.jpg)
• Configuração simples, independente de plataforma
• Criação fácil de ambientes de desenvolvimento e testes
• Composição de aplicações complexas a partir de micro-serviços
Porque interessa aos desenvolvedores
![Page 20: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/20.jpg)
• Instalação de apps se tornam eventos simples
• Altamente portável entre infraestruturas heterogêneas (inclusive entre diferentes Nuvens Públicas e entre nuvem pública e ambientes on-premise)
• APIs dos containers facilitam a criação de scripts para automação de provisionamento, configuração e deploy
Porque interessa aos admins e Ops
![Page 21: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/21.jpg)
Containers no Google
A cada semana, no Google, nós lançamos mais de 2 bilhões de containers
![Page 22: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/22.jpg)
Kubernetes
• A solução que permite a gestão de frotas de containers de forma simples
• Open source: o Google acredita que uma solução como essa não pode ser proprietária
![Page 23: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/23.jpg)
Google Container Engine
![Page 24: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/24.jpg)
Containers no Google Cloud Platform com GCE
• Cria clusters de VMs criados especialmente para rodar containers
• Qualquer arquivo Docker pode ser instalado em todo o cluster em um único comando
• Instala software e código nos containers de forma simples
![Page 25: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/25.jpg)
Um datacenter não é uma coleção de computadores,um datacenter É um computador.
![Page 26: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/26.jpg)
Plataforma (GAE) - PaaS
Infraestrutura (GCE) - IaaS
Containers (GKE) - CaaS
Compute spectrumCompute
![Page 27: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/27.jpg)
MBaaS
![Page 28: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/28.jpg)
Mobile
![Page 29: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/29.jpg)
A plataforma realtime para apps
Smart Clients
Firebase
Sync
Firebase
![Page 30: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/30.jpg)
Desenvolvimento ágil
Excelente para mobile
Suporte multi-plataforma
Por queFirebase
![Page 31: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/31.jpg)
● BD NoSQL, JSON
● Faz push de updates em milisegundos
quando as coisas mudam
● Modelo de segurança permite acesso
direto de dispositivos clientes
● Mapeia cada pedaço de dado a uma URL
Banco de dados realtime do FirebaseThe Firebase Approach
![Page 32: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/32.jpg)
Suporte para mecanismo simples de login com:
● Email & Senha
● Provedores OAuth○ Google○ Facebook○ Twitter○ Github
● Seus tokes de autenticação próprios
Gestão de usuários e autenticação no FirebaseThe Firebase Approach
![Page 33: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/33.jpg)
Autenticação OAuth com Google no Android
![Page 34: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/34.jpg)
Gravando e lendo dados no Android
![Page 35: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/35.jpg)
Em breveFirebase
Triggers
Integrações com GCP
![Page 36: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/36.jpg)
DEMOS!
Images by Connie Zhou
![Page 37: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/37.jpg)
![Page 38: Opções de Backends para seus apps móveis: Análise e Arquiteturas](https://reader033.vdocuments.site/reader033/viewer/2022042817/559c5ddf1a28abec3d8b456a/html5/thumbnails/38.jpg)
OBRIGADO!slideshare.net/jpapo
google.com/+DesenvolvedoresGoogle
José Papo @josepapo