Amazon Web Services: Economia, Inovação e Revolução da Nuvem
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 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
8. 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
9. 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
11. 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
12. 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
14. 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
15. 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
19. 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
20. 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
21. Containers no Google
A cada semana, no Google, nós lançamos mais de
2 bilhões de containers
22. 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
24. 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
25. Um datacenter não é uma coleção de computadores,
um datacenter É um computador.
30. Por que
Firebase
Desenvolvimento ágil
Excelente para mobile
Suporte multi-plataforma
31. 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
32. 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