Post on 08-Jul-2015
description
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
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
➢ 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
by Martin Fowler
IaaS
● 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
● 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
PaaS
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
Compute | App Engine
PaaS para Mobile
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á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
Containers
Containers
image veer.com
image veer.com
VMs Docker
• 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
• 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
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.
Plataforma (GAE) - PaaS
Infraestrutura (GCE) - IaaS
Containers (GKE) - CaaS
Compute spectrumCompute
MBaaS
Mobile
A plataforma realtime para apps
Smart Clients
Firebase
Sync
Firebase
Desenvolvimento ágil
Excelente para mobile
Suporte multi-plataforma
Por queFirebase
● 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
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
Autenticação OAuth com Google no Android
Gravando e lendo dados no Android
Em breveFirebase
Triggers
Integrações com GCP
DEMOS!
Images by Connie Zhou
OBRIGADO!slideshare.net/jpapo
google.com/+DesenvolvedoresGoogle
José Papo @josepapo