Plataforma Digital
com Google Cloud
Platform
Levando sua arquitetura para
as nuvens!
Collaborate. Innovate. Transform.
André Paulovich
arquiteto de softwares
andrepg@ciandt.com | @andrepaulovich
Collaborate. Innovate. Transform.
MCP | MCTS |...
Vivemos uma nova era...
Nossa noção de “sucesso” mudou
muito…
Fonte: ProgrammableWeb
Clube dos Bilhões
5+ Bilhões de Calls/Dia1+ Bilhões de Calls/Dia
Como é possível?
Manutenível Disponível Escalável
Econômico
Manutenível Disponível Escalável
Econômico
Manutenível Disponível Escalável
Econômico
Manutenível Disponível Escalável
Econômico
Manutenível Disponível Escalável
Econômico
Plataforma Digital
Manutenível Disponível Escalável
Econômico
Porque eu escolheria a Google?
Razão #1 - Estar na mesma infraestrutura do Google
Desenvolver na mesma infra estrutura que permite ao Google responder
a ...
Distribuição Global
Razão #2 - Se concentrar no seu produto
Desenvolver rapidamente, publicar e interagir suas aplicações sem se
preocupar com...
Razão #3 - Grande variedade de serviços
Máquinas virtuais, plataforma gerenciada, blog storage, bancos de
dados NoSQL e re...
Razão #4 - Escalar para milhões de usuários
Aplicações hospedadas na plataforma do Google podem escalar
automaticamente pa...
Tempo
CapacidadedeTI
Carga
Alocação de
capacidades
Desperdício de
capacidades
Falta de
capacidades
Previsão de
carga
Padrã...
Carga
Redução do
investimento inicial
Redução do
excesso de TI
Sem falta de
capacidades
Redução das
capacidades
nos moment...
Razão #5 - Performance garantida
A infraestrutura do Google garante consistência na performance de
CPU, memória e disco se...
Razão #6 - Todo suporte que você precisar
Com uma comunidade que não para de crescer, uma rede de parceiros
e a possibilid...
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...
Evoluindo na nuvem...
Níveis de aderência...
IaaS
Virtualização
Físico Virtual IaaS
Nuvem
PaaS
Virtualização
Físico Virtual IaaS PaaS
Nuvem
Exemplo de Configuração de AutoScaler
Sempre que você disponibiliza uma versão da sua aplicação, o Google
versiona cada deploy e lhe permite inclusive voltar pa...
A SDK não implementa 100% da especificação, mas não se preocupe
muito… já está quase lá.
AppEngine SDK não é JEE
Component...
SaaS
Virtualização
Físico SaaSVirtual IaaS PaaS
Nuvem
Resume aí...
“On the line”
Clickgram
Você é o responsável pela
infraestrutura de um novo aplicativo
chamado Clickgram.
O Clickgram permite que qualquer
pessoa ...
Requisição Resposta
JAVA
MySQLREDIS HD
Requisição Resposta
Servidor 01
JAVA
MySQLREDIS HD
Mas lembre-se de
que precisa ser
escalável!
Servidor 01
JAVA
MySQLREDIS HD
Servidor 02
JAVA
MySQLREDIS HD
Requisição Resposta Requisição Resposta
MySQLREDIS HD
Parece bom, mas as camadas de dados não são
escaláveis simplesmente “dobrando” os servidores.
E agora?!
Requisição Resposta
Servidor 01
JAVA
MySQLREDIS HD
Novamente parece muito bom!
Esta abordagem de montar um servidor mais p...
Voltamos à estaca
zero!
Dica de ouro!
ServidorServidor
ServidorServidor
JAVA
MySQL
REDIS
HD
Isole cada componente da sua aplicação!
Problema: O banco de dados está muito lento.
O que fazer?
Servidor (master)Servidor
ServidorServidor
JAVA
MySQL
REDIS
HD
Um master-slave pode funcionar!
Servidor (slave)
MySQL
Os bancos relacionais,
são “limitados”!
(DBA´s por favor sem polêmica)
ServidorServidor
ServidorServidor
JAVA
NoSQL
REDIS
HD
Mas considere usar bancos NO-SQL
Problema: A quantidade de escritas e leituras no sistema de
arquivos (armazenamento de fotos) precisa aumentar.
O que faze...
ServidorServidor
ServidorServidor
JAVA
NoSQL
REDIS
Storage
Não use um sistema de arquivos convencional.
Problema: O sistema de cache precisa de mais memória.
O que fazer?
ServidorServidor
ServidorServidor
JAVA
NoSQL
REDIS + Memória
Storage
Neste caso, aumentar a memória de um servidor
basta!
Problema: A aplicação não está atendendo todas as requisições
por conta de limitação do processamento.
O que fazer?
Servidor
Servidor
ServidorServidor
JAVA
NoSQL
REDIS + Memória
Storage
Dobramos a aplicação e adicionamos um balanceador
de...
Servidor
Servidor
ServidorServidor
GAE
DataStore
GAE - MEMCACHE
Cloud
Storage
Servidor
GAE
Servidor
Cloud
NetworkingRequis...
Servidor
ServidorServidor
GAE
DataStore
GAE - MEMCACHE
Servidor
GAE
Servidor
Cloud
NetworkingRequisição
Resposta
Indo aind...
THANK
YOU FOR
YOUR
TIME!
Links úteis
● Google Cloud Platform Developers Portal: https://cloud.google.com/developers
● Google Developers Global Port...
Referências
● Google Cloud Platform: Quick Overview - Fethi Dilmi
● Google AppEngine: Desafios da adoção de cloud no merca...
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
Próximos SlideShares
Carregando em…5
×

Pangea - Plataforma digital com Google Cloud Platform

560 visualizações

Publicada em

Palestra que apresenta as tecnologias do Google Cloud Platform como opção para desenvolver sistemas para a nova era digital.

Publicada em: Internet
1 comentário
6 gostaram
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
560
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
12
Comentários
1
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Pangea - Plataforma digital com Google Cloud Platform

  1. 1. Plataforma Digital com Google Cloud Platform Levando sua arquitetura para as nuvens! Collaborate. Innovate. Transform.
  2. 2. André Paulovich arquiteto de softwares andrepg@ciandt.com | @andrepaulovich Collaborate. Innovate. Transform. MCP | MCTS | MCT | MCAD | MCSD.Net | MVP Asp.Net 2011-2014
  3. 3. Vivemos uma nova era...
  4. 4. Nossa noção de “sucesso” mudou muito…
  5. 5. Fonte: ProgrammableWeb Clube dos Bilhões 5+ Bilhões de Calls/Dia1+ Bilhões de Calls/Dia
  6. 6. Como é possível?
  7. 7. Manutenível Disponível Escalável Econômico
  8. 8. Manutenível Disponível Escalável Econômico
  9. 9. Manutenível Disponível Escalável Econômico
  10. 10. Manutenível Disponível Escalável Econômico
  11. 11. Manutenível Disponível Escalável Econômico
  12. 12. Plataforma Digital
  13. 13. Manutenível Disponível Escalável Econômico
  14. 14. Porque eu escolheria a Google?
  15. 15. 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
  16. 16. Distribuição Global
  17. 17. 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
  18. 18. 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
  19. 19. 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)
  20. 20. Tempo CapacidadedeTI Carga Alocação de capacidades Desperdício de capacidades Falta de capacidades Previsão de carga Padrão de Crescimento de Capacidade de TI
  21. 21. Carga Reduçã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 CapacidadedeTI Previsão de carga Escalável
  22. 22. 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
  23. 23. 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.
  24. 24. 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.
  25. 25. Evoluindo na nuvem...
  26. 26. Níveis de aderência...
  27. 27. IaaS Virtualização Físico Virtual IaaS Nuvem
  28. 28. PaaS Virtualização Físico Virtual IaaS PaaS Nuvem
  29. 29. Exemplo de Configuração de AutoScaler
  30. 30. 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
  31. 31. 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
  32. 32. SaaS Virtualização Físico SaaSVirtual IaaS PaaS Nuvem
  33. 33. Resume aí...
  34. 34. “On the line” Clickgram
  35. 35. 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.
  36. 36. Requisição Resposta JAVA MySQLREDIS HD
  37. 37. Requisição Resposta Servidor 01 JAVA MySQLREDIS HD
  38. 38. Mas lembre-se de que precisa ser escalável!
  39. 39. Servidor 01 JAVA MySQLREDIS HD Servidor 02 JAVA MySQLREDIS HD Requisição Resposta Requisição Resposta
  40. 40. MySQLREDIS HD Parece bom, mas as camadas de dados não são escaláveis simplesmente “dobrando” os servidores. E agora?!
  41. 41. 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.
  42. 42. Voltamos à estaca zero!
  43. 43. Dica de ouro!
  44. 44. ServidorServidor ServidorServidor JAVA MySQL REDIS HD Isole cada componente da sua aplicação!
  45. 45. Problema: O banco de dados está muito lento. O que fazer?
  46. 46. Servidor (master)Servidor ServidorServidor JAVA MySQL REDIS HD Um master-slave pode funcionar! Servidor (slave) MySQL
  47. 47. Os bancos relacionais, são “limitados”! (DBA´s por favor sem polêmica)
  48. 48. ServidorServidor ServidorServidor JAVA NoSQL REDIS HD Mas considere usar bancos NO-SQL
  49. 49. Problema: A quantidade de escritas e leituras no sistema de arquivos (armazenamento de fotos) precisa aumentar. O que fazer?
  50. 50. ServidorServidor ServidorServidor JAVA NoSQL REDIS Storage Não use um sistema de arquivos convencional.
  51. 51. Problema: O sistema de cache precisa de mais memória. O que fazer?
  52. 52. ServidorServidor ServidorServidor JAVA NoSQL REDIS + Memória Storage Neste caso, aumentar a memória de um servidor basta!
  53. 53. Problema: A aplicação não está atendendo todas as requisições por conta de limitação do processamento. O que fazer?
  54. 54. Servidor Servidor ServidorServidor JAVA NoSQL REDIS + Memória Storage Dobramos a aplicação e adicionamos um balanceador de carga! Voilá! Servidor JAVA Servidor Load BalancerRequisição Resposta
  55. 55. Servidor Servidor ServidorServidor GAE DataStore GAE - MEMCACHE Cloud Storage Servidor GAE Servidor Cloud NetworkingRequisição Resposta Visão usando a “plataforma digital” do google.
  56. 56. Servidor ServidorServidor GAE DataStore GAE - MEMCACHE Servidor GAE Servidor Cloud NetworkingRequisição Resposta Indo ainda além… pense fora da caixa.
  57. 57. THANK YOU FOR YOUR TIME!
  58. 58. 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
  59. 59. Referências ● Google Cloud Platform: Quick Overview - Fethi Dilmi ● Google AppEngine: Desafios da adoção de cloud no mercado de seguros - Gustavo Concon ● Cloud Computing: De tendencia a realidade - Jose Papo

×