38
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

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

Embed Size (px)

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

Citation preview

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

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

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

➢ 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
Page 5: Opções de Backends para seus apps móveis: Análise e Arquiteturas

by Martin Fowler

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

IaaS

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

● 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

● 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

PaaS

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

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

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

PaaS para Mobile

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

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

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

Containers

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

Containers

image veer.com

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

image veer.com

VMs Docker

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

• 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

• 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

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

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

Google Container Engine

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

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

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

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

MBaaS

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

Mobile

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

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

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

● 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

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

Autenticação OAuth com Google no Android

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

Gravando e lendo dados no Android

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

Em breveFirebase

Triggers

Integrações com GCP

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

DEMOS!

Images by Connie Zhou

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

OBRIGADO!slideshare.net/jpapo

google.com/+DesenvolvedoresGoogle

José Papo @josepapo