Opções de Backends 
para seus apps móveis 
Análise e Arquiteturas 
José Papo 
Gerente de relações com startups e developers 
Google América Latina 
@josepapo
Hiper 
Entretido 
PANORAMA 
O vídeo é a plataforma 
de entretenimento 
para os brasileiros e 
ele já é consumido 
multiplataformas. 
Fonte: Think Insights, artigo “O consumidor brasileiro agora é hiper”, Setembro 2014. Google Confidential and Proprietary
Muitas opções para os desenvolvedores de apps 
➢ 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
by Martin Fowler
IaaS
Compute | Compute Engine 
Google Compute Engine - Características 
● 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
Compute | Compute Engine 
Google Compute Engine - Análise 
● Controle total do ambiente 
● Ambientes conhecidos 
● Mais esforço para DevOps 
● Maior complexidade para gestão 
de infra
PaaS
Compute | App Engine 
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 
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
PaaS para Mobile
Compute | App Engine 
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 
Google Cloud Endpoints - Análise 
● 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
Containers
Containers 
image veer.com
image veer.com 
VMs Docker
Porque interessa aos desenvolvedores 
• 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 admins e Ops 
• 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
Containers no Google 
A cada semana, no Google, nós lançamos mais de 
2 bilhões de containers
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
Google Container Engine
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
Um datacenter não é uma coleção de computadores, 
um datacenter É um computador.
Compute 
Compute spectrum 
Plataforma (GAE) - 
PaaS 
Containers (GKE) - CaaS 
Infraestrutura (GCE) - IaaS
MBaaS
Mobile
A plataforma realtime para apps 
Smart Clients 
Firebase 
Sync 
Firebase
Por que 
Firebase 
Desenvolvimento ágil 
Excelente para mobile 
Suporte multi-plataforma
Banco de dados realtime do Firebase 
● 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 
The Firebase Approach
Gestão de usuários e autenticação no Firebase 
Suporte para mecanismo simples de login com: 
● Email & Senha 
● Provedores OAuth 
○ Google 
○ Facebook 
○ Twitter 
○ Github 
● Seus tokes de autenticação próprios 
The Firebase Approach
Autenticação OAuth com Google no Android
Gravando e lendo dados no Android
Firebase 
Em breve 
Triggers 
Integrações com GCP
DEMOS! 
Images by Connie Zhou
OBRIGADO! 
slideshare.net/jpapo 
google.com/+DesenvolvedoresGoogle 
José Papo 
@josepapo

Opções de Backends para seus apps móveis: Análise e Arquiteturas

  • 1.
    Opções de Backends para seus apps móveis Análise e Arquiteturas José Papo Gerente de relações com startups e developers Google América Latina @josepapo
  • 2.
    Hiper Entretido PANORAMA O vídeo é a plataforma de entretenimento para os brasileiros e ele já é consumido multiplataformas. Fonte: Think Insights, artigo “O consumidor brasileiro agora é hiper”, Setembro 2014. Google Confidential and Proprietary
  • 3.
    Muitas opções paraos desenvolvedores de apps ➢ 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
  • 5.
  • 7.
  • 8.
    Compute | ComputeEngine Google Compute Engine - Características ● 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
  • 9.
    Compute | ComputeEngine Google Compute Engine - Análise ● Controle total do ambiente ● Ambientes conhecidos ● Mais esforço para DevOps ● Maior complexidade para gestão de infra
  • 10.
  • 11.
    Compute | AppEngine 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
  • 12.
    Compute | AppEngine 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
  • 13.
  • 14.
    Compute | AppEngine 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
  • 15.
    Compute | AppEngine Google Cloud Endpoints - Análise ● 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
  • 16.
  • 17.
  • 18.
  • 19.
    Porque interessa aosdesenvolvedores • 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
  • 20.
    Porque interessa aosadmins e Ops • 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
  • 21.
    Containers no Google A cada semana, no Google, nós lançamos mais de 2 bilhões de containers
  • 22.
    Kubernetes • Asoluçã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
  • 23.
  • 24.
    Containers no GoogleCloud 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
  • 25.
    Um datacenter nãoé uma coleção de computadores, um datacenter É um computador.
  • 26.
    Compute Compute spectrum Plataforma (GAE) - PaaS Containers (GKE) - CaaS Infraestrutura (GCE) - IaaS
  • 27.
  • 28.
  • 29.
    A plataforma realtimepara apps Smart Clients Firebase Sync Firebase
  • 30.
    Por que Firebase Desenvolvimento ágil Excelente para mobile Suporte multi-plataforma
  • 31.
    Banco de dadosrealtime do Firebase ● 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 The Firebase Approach
  • 32.
    Gestão de usuáriose autenticação no Firebase Suporte para mecanismo simples de login com: ● Email & Senha ● Provedores OAuth ○ Google ○ Facebook ○ Twitter ○ Github ● Seus tokes de autenticação próprios The Firebase Approach
  • 33.
    Autenticação OAuth comGoogle no Android
  • 34.
    Gravando e lendodados no Android
  • 35.
    Firebase Em breve Triggers Integrações com GCP
  • 36.
    DEMOS! Images byConnie Zhou
  • 38.