Pangea - Plataforma digital com Google Cloud Platform

523 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
523
No SlideShare
0
A partir de incorporações
0
Número de incorporações
6
Ações
Compartilhamentos
0
Downloads
10
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

×