pangea - plataforma digital com google cloud platform

74
Plataforma Digital com Google Cloud Platform Levando sua arquitetura para as nuvens! Collaborate. Innovate. Transform.

Upload: cit

Post on 12-Apr-2017

553 views

Category:

Internet


0 download

TRANSCRIPT

Page 1: Pangea - Plataforma digital com Google Cloud Platform

Plataforma Digital com Google Cloud PlatformLevando sua arquitetura para as nuvens!

Collaborate. Innovate. Transform.

Page 2: Pangea - Plataforma digital com Google Cloud Platform

André Paulovicharquiteto de softwares

[email protected] | @andrepaulovich

Collaborate. Innovate. Transform.

MCP | MCTS | MCT | MCAD | MCSD.Net | MVP Asp.Net 2011-2014

Page 3: Pangea - Plataforma digital com Google Cloud Platform

Vivemos uma nova era...

Page 4: Pangea - Plataforma digital com Google Cloud Platform
Page 5: Pangea - Plataforma digital com Google Cloud Platform
Page 6: Pangea - Plataforma digital com Google Cloud Platform
Page 7: Pangea - Plataforma digital com Google Cloud Platform
Page 8: Pangea - Plataforma digital com Google Cloud Platform
Page 9: Pangea - Plataforma digital com Google Cloud Platform
Page 10: Pangea - Plataforma digital com Google Cloud Platform

Nossa noção de “sucesso” mudou muito…

Page 11: Pangea - Plataforma digital com Google Cloud Platform

Fonte: ProgrammableWeb

Clube dos Bilhões

5+ Bilhões de Calls/Dia1+ Bilhões de Calls/Dia

Page 12: Pangea - Plataforma digital com Google Cloud Platform

Como é possível?

Page 13: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 14: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 15: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 16: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 17: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 18: Pangea - Plataforma digital com Google Cloud Platform

Plataforma Digital

Page 19: Pangea - Plataforma digital com Google Cloud Platform

Manutenível Disponível Escalável

Econômico

Page 20: Pangea - Plataforma digital com Google Cloud Platform

Porque eu escolheria a Google?

Page 21: Pangea - Plataforma digital com Google Cloud Platform

Razão #1 - Estar na mesma infraestrutura do Google

Desenvolver na mesma infra estrutura que permite ao Google responder a bilhões de pesquisas em segundos.

E que também provê mais de 6 bilhões de horas de vídeo no YouTube por mês, além de garantir um serviço de email a mais de 425 milhões de usuários do Gmail.

● Rede global● Redundância● Infraestrutura inovadora

Page 22: Pangea - Plataforma digital com Google Cloud Platform

Distribuição Global

Page 23: Pangea - Plataforma digital com Google Cloud Platform

Razão #2 - Se concentrar no seu produto

Desenvolver rapidamente, publicar e interagir suas aplicações sem se preocupar com “overheads” de administração. O Google vai gerenciar sua aplicação, base de dados e todos os servidores de armazenamento para você.

● Serviços gerenciados.● SDK para desenvolvedores● Painéis de administração simplificados

Page 24: Pangea - Plataforma digital com Google Cloud Platform

Razão #3 - Grande variedade de serviços

Máquinas virtuais, plataforma gerenciada, blog storage, bancos de dados NoSQL e relacionais (MySQL). Big Data para análise de grandes volumes de dados e tudo isso numa plataforma de serviços que irá oferecer tudo que sua aplicação vai demandar arquiteturalmente.

● Computação● Armazenamento● Serviços

Page 25: Pangea - Plataforma digital com Google Cloud Platform

Razão #4 - Escalar para milhões de usuários

Aplicações hospedadas na plataforma do Google podem escalar automaticamente para garantir a resposta da sua aplicação diretamente proporcional ao tráfego demandado. Então você irá pagar apenas pelo que realmente usar.

● Scale-up (adição de recursos)● Scale-down (remoção de recursos)

Page 26: Pangea - Plataforma digital com Google Cloud Platform

Tempo

Cap

acid

ade

de T

I

Carga

Alocação de capacidades

Desperdício de capacidades

Falta de capacidades

Previsão de carga

Padrão de Crescimento de Capacidade de TI

Page 27: Pangea - Plataforma digital com Google Cloud Platform

CargaRedução do

investimento inicial

Redução do excesso de TI

Sem falta de capacidades

Redução das capacidades

nos momentos de redução da

carga

Tempo

Cap

acid

ade

de T

I

Previsão de carga

Escalável

Page 28: Pangea - Plataforma digital com Google Cloud Platform

Razão #5 - Performance garantida

A infraestrutura do Google garante consistência na performance de CPU, memória e disco sempre! E a rede global de cache irá responder rapidamente aos usuários onde quer que eles estejam no globo.

● CPU, Memória e Disco● Rede Global● Manutenção transparente

Page 29: Pangea - Plataforma digital com Google Cloud Platform

Razão #6 - Todo suporte que você precisar

Com uma comunidade que não para de crescer, uma rede de parceiros e a possibilidade de adquirir um suporte “Premium” o Google, provê uma completa variedade de recursos para ajudá-lo a iniciar e crescer usando os recursos da plataforma.

Page 30: Pangea - Plataforma digital com Google Cloud Platform

Razão #7 - Preço, preço e preço

A precificação dos serviços do Google é muito agressiva. Eles realmente fazem valer a “lei de Moore”. É comum o Google reduzir valores de seus serviços.

Page 31: Pangea - Plataforma digital com Google Cloud Platform

Evoluindo na nuvem...

Page 32: Pangea - Plataforma digital com Google Cloud Platform

Níveis de aderência...

Page 33: Pangea - Plataforma digital com Google Cloud Platform

IaaS

Virtualização

Físico Virtual IaaS

Nuvem

Page 34: Pangea - Plataforma digital com Google Cloud Platform
Page 35: Pangea - Plataforma digital com Google Cloud Platform
Page 36: Pangea - Plataforma digital com Google Cloud Platform

PaaS

Virtualização

Físico Virtual IaaS PaaS

Nuvem

Page 37: Pangea - Plataforma digital com Google Cloud Platform
Page 38: Pangea - Plataforma digital com Google Cloud Platform
Page 39: Pangea - Plataforma digital com Google Cloud Platform

Exemplo de Configuração de AutoScaler

Page 40: Pangea - Plataforma digital com Google Cloud Platform

Sempre que você disponibiliza uma versão da sua aplicação, o Google versiona cada deploy e lhe permite inclusive voltar para uma versão anterior da aplicação com apenas um click.

● É boa uma prática, relacionar o número do seu build (jenkins) com o nome da versão no “app engine” permitindo uma rastreabilidade.

“DevOps” de lambuja

Page 41: Pangea - Plataforma digital com Google Cloud Platform

A SDK não implementa 100% da especificação, mas não se preocupe muito… já está quase lá.

AppEngine SDK não é JEE

Componentes mais comuns suportados

● Java Data Objects (JDO) ● Java Persistence API (JPA) ● Java Server Faces (JSF) 1.1 - 2.0 ● Java Server Pages (JSP) + JSTL ● Java Servlet API 2.4 ● JavaBeans™ Activation Framework (JAF) ● Java Architecture for XML Binding (JAXB) ● Java API for XML Web Services (JAX-WS) ● JavaMail ● XML processing APIs including DOM, SAX, and XSLT

● Enterprise Java Beans (EJB) ● JAX-RPC ● Java Database Connectivity (JDBC) ● Java EE™ Connector Architecture (JCA) ● Java Management Extensions (JMX) ● Java Message Service (JMS) ● Java Naming and Directory Interface (JNDI) ● Remote Method Invocation (RMI)

Tentativa de categorizar o que funciona ou não é compatível:

https://code.google.com/p/googleappengine/wiki/WillItPlayInJava

Componentes mais comuns não suportados

Page 42: Pangea - Plataforma digital com Google Cloud Platform

SaaS

Virtualização

Físico SaaSVirtual IaaS PaaS

Nuvem

Page 43: Pangea - Plataforma digital com Google Cloud Platform
Page 44: Pangea - Plataforma digital com Google Cloud Platform
Page 45: Pangea - Plataforma digital com Google Cloud Platform

Resume aí...

Page 46: Pangea - Plataforma digital com Google Cloud Platform
Page 47: Pangea - Plataforma digital com Google Cloud Platform

“On the line”

Clickgram

Page 48: Pangea - Plataforma digital com Google Cloud Platform

Você é o responsável pela infraestrutura de um novo aplicativo chamado Clickgram.

O Clickgram permite que qualquer pessoa compartilhe uma foto com seus amigos em apenas um clique!

Chegou o momento de você colocar o aplicativo no ar e seu chefe exigiu que não ocorram problemas de escalabilidade ou de disponibilidade.

Page 49: Pangea - Plataforma digital com Google Cloud Platform
Page 50: Pangea - Plataforma digital com Google Cloud Platform

Requisição Resposta

JAVA

MySQLREDIS HD

Page 51: Pangea - Plataforma digital com Google Cloud Platform

Requisição Resposta

Servidor 01

JAVA

MySQLREDIS HD

Page 52: Pangea - Plataforma digital com Google Cloud Platform

Mas lembre-se de que precisa ser

escalável!

Page 53: Pangea - Plataforma digital com Google Cloud Platform

Servidor 01

JAVA

MySQLREDIS HD

Servidor 02

JAVA

MySQLREDIS HD

Requisição Resposta Requisição Resposta

Page 54: Pangea - Plataforma digital com Google Cloud Platform

MySQLREDIS HD

Parece bom, mas as camadas de dados não são escaláveis simplesmente “dobrando” os servidores.

E agora?!

Page 55: Pangea - Plataforma digital com Google Cloud Platform

Requisição Resposta

Servidor 01

JAVA

MySQLREDIS HD

Novamente parece muito bom!

Esta abordagem de montar um servidor mais potente vai funcionar por um tempo, mas tem um limite físico.

Page 56: Pangea - Plataforma digital com Google Cloud Platform

Voltamos à estaca zero!

Page 57: Pangea - Plataforma digital com Google Cloud Platform

Dica de ouro!

Page 58: Pangea - Plataforma digital com Google Cloud Platform
Page 59: Pangea - Plataforma digital com Google Cloud Platform

Servidor Servidor

Servidor Servidor

JAVA

MySQL

REDIS

HD

Isole cada componente da sua aplicação!

Page 60: Pangea - Plataforma digital com Google Cloud Platform

Problema: O banco de dados está muito lento.O que fazer?

Page 61: Pangea - Plataforma digital com Google Cloud Platform

Servidor (master) Servidor

Servidor Servidor

JAVA

MySQL

REDIS

HD

Um master-slave pode funcionar!

Servidor (slave)

MySQL

Page 62: Pangea - Plataforma digital com Google Cloud Platform

Os bancos relacionais, são “limitados”!

(DBA´s por favor sem polêmica)

Page 63: Pangea - Plataforma digital com Google Cloud Platform

Servidor Servidor

Servidor Servidor

JAVA

NoSQL

REDIS

HD

Mas considere usar bancos NO-SQL

Page 64: Pangea - Plataforma digital com Google Cloud Platform

Problema: A quantidade de escritas e leituras no sistema de arquivos (armazenamento de fotos) precisa aumentar.

O que fazer?

Page 65: Pangea - Plataforma digital com Google Cloud Platform

Servidor Servidor

Servidor Servidor

JAVA

NoSQL

REDIS

Storage

Não use um sistema de arquivos convencional.

Page 66: Pangea - Plataforma digital com Google Cloud Platform

Problema: O sistema de cache precisa de mais memória.O que fazer?

Page 67: Pangea - Plataforma digital com Google Cloud Platform

Servidor Servidor

Servidor Servidor

JAVA

NoSQL

REDIS + Memória

Storage

Neste caso, aumentar a memória de um servidor basta!

Page 68: Pangea - Plataforma digital com Google Cloud Platform

Problema: A aplicação não está atendendo todas as requisições por conta de limitação do processamento.

O que fazer?

Page 69: Pangea - Plataforma digital com Google Cloud Platform

Servidor

Servidor

Servidor Servidor

JAVA

NoSQL

REDIS + Memória

Storage

Dobramos a aplicação e adicionamos um balanceador de carga! Voilá!

Servidor

JAVA

Servidor

LoadBalancerRequisição

Resposta

Page 70: Pangea - Plataforma digital com Google Cloud Platform

Servidor

Servidor

Servidor Servidor

GAE

DataStore

GAE - MEMCACHE

Cloud Storage

Servidor

GAE

Servidor

Cloud NetworkingRequisição

Resposta

Visão usando a “plataforma digital” do google.

Page 71: Pangea - Plataforma digital com Google Cloud Platform

Servidor

Servidor Servidor

GAE

DataStore

GAE - MEMCACHE

Servidor

GAE

Servidor

Cloud NetworkingRequisição

Resposta

Indo ainda além… pense fora da caixa.

Page 72: Pangea - Plataforma digital com Google Cloud Platform

THANKYOU FOR

YOURTIME!

Page 73: Pangea - Plataforma digital com Google Cloud Platform

Links úteis

● Google Cloud Platform Developers Portal: https://cloud.google.com/developers● Google Developers Global Portal: https://developers.google.com● Google Cloud Platform Products list: https://cloud.google.com/products/compute-engine● Understanding Google APIs: https://fethidilmi.blogspot.com/2013/01/understandinggoogle-apis.html