Apresentação Frederico Maia Arantes / @fredmaia Programador Java EE Oracle Certified Java SE 6 Programmer (OCJP 6) Inst...
“O conceito de cloud computing refere-se à  utilização da memória e das capacidades de            armazenamento e cálculod...
O que você acha de sua aplicaçãoficar famosa e dobrar os acessos        da noite pro dia?
E se os acessos quadruplicarem?
E se for 10 vezes, 100 vezes maisacessos? Seu servidor aguenta o             tranco?
Seu momento de glória.. Fuu...
Cloud Computing Surgiu por volta de 2008 Também conhecido como Computação em Nuvem Google, IBM e Microsoft foram pionei...
Entendendo a Cloud Computing Estamos acostumados a salvar tudo em nossos computadores físicos, locais Em um ambiente emp...
Entendendo a Cloud Computing... Internet muito acessível e rápida Aplicativos e dados não precisam estar no computador d...
Principais tipos de cloud IaaS - Infrastructure as a Service SaaS – Software as a Service PaaS – Plataform as a Service
Google Docs (SaaS) Serviço na nuvem, onde usuários podem editar textos planilhas, slides e outros, tudo na internet É ne...
DropBox (SaaS) Serviço para armazenamento de arquivos Documentos sincronizados Mantém versões de arquivos anteriores S...
E2C Amazon (IaaS) O cloud IaaS mais conhecido do mundo Fornecimento de infraestrutura Virtualização de servidores e tam...
Google App Engine (PaaS) Plataforma como serviço Ambiente completo para desenvolvimento, configuração e gerenciamento de...
Google App Engine (PaaS) Infraestrutura e qualidade do Google
Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python
Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python Persistência co...
Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python Persistência co...
Vantagens do GAE Escalabilidade infinita
Vantagens do GAE Escalabilidade infinita Elasticidade
Vantagens do GAE Escalabilidade infinita Elasticidade Disponibilidade
Vantagens do GAE Escalabilidade infinita Elasticidade Disponibilidade Mais barato
Mais vantagens do GAE Desenvolvimento fácil, ambiente de desenvolvimento local simulando todos os recursos do GAE Confiá...
Cotas e limites Até 2000 (dois mil) emails por mês 500MB de armazenamento 5 milhões de visualizações por mês Até 10 ap...
É barato mesmo
Ambiente de Desenvolvimento Eclipse + AppEngine SDK + Plugin
Ambiente de Desenvolvimento Eclipse + AppEngine SDK + Plugin One-click deploy
Fácil Gerenciamento
Fácil Gerenciamento
Fácil Gerenciamento
Fácil Gerenciamento
Padronização Servlets 2.5 e JSP 2
Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2
Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net
Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail
Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail Jcache
Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail Jcache JSE 5 e 6
O que podemos utilizar no GAE Struts 2 JSF 1.2 e JSF 2.0 Spring MVC Flex REST VRaptor API de imagens...
Fique atento BigTable não é relacional (Nosql) Acessar BigTable com JPA pode ser complicado Suas aplicações não serão t...
Desvantagens Sem funções de agregação (count, sum, max, min, group by...)
Desvantagens Sem funções de agregação (count, sum, max, min, group by...)
Desvantagens Transações não são comuns
Desvantagens Transações não são comuns Não existem joins
Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA
Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA Startup deve ser oti...
Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA Startup deve ser oti...
Alternativas Usar código específico
Alternativas Usar código específico Datastore Low-level API (muito complexa)
Alternativas Usar código específico Datastore Low-level API (muito complexa) Novos frameworks: Objectify, Twig
Fique atento Datastore read-only (é bom estar preparado) Usar cache de dados e de página
Devemos estar preparados    EntityManager em =      EntityManagerFactory.createEntityManager();try {      em.persist(entid...
Conclusão Existem vantagens e desvantagens como em qualquer tecnologia Perdemos características como BD relacional, poré...
Dúvidas?  fredericomaia10@gmail.com  @fredmaia  @gojava  http://devsexperts.com
Cloud Computing - Java no Google App Engine
Cloud Computing - Java no Google App Engine
Próximos SlideShares
Carregando em…5
×

Cloud Computing - Java no Google App Engine

1.371 visualizações

Publicada em

0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.371
No SlideShare
0
A partir de incorporações
0
Número de incorporações
2
Ações
Compartilhamentos
0
Downloads
42
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Cloud Computing - Java no Google App Engine

  1. 1. Apresentação Frederico Maia Arantes / @fredmaia Programador Java EE Oracle Certified Java SE 6 Programmer (OCJP 6) Instrutor Java (Supera Tecnologia) Membro do grupo Gojava, onde mantém um blog Artigo publicado na Easy Java Magazine 6 http://devsexperts.com
  2. 2. “O conceito de cloud computing refere-se à utilização da memória e das capacidades de armazenamento e cálculode computadores e servidores compartilhados e interligados por meio da Internet, seguindo o princípio da computação em grade.”
  3. 3. O que você acha de sua aplicaçãoficar famosa e dobrar os acessos da noite pro dia?
  4. 4. E se os acessos quadruplicarem?
  5. 5. E se for 10 vezes, 100 vezes maisacessos? Seu servidor aguenta o tranco?
  6. 6. Seu momento de glória.. Fuu...
  7. 7. Cloud Computing Surgiu por volta de 2008 Também conhecido como Computação em Nuvem Google, IBM e Microsoft foram pioneiras Especialistas consideram a nova fronteira da era digital
  8. 8. Entendendo a Cloud Computing Estamos acostumados a salvar tudo em nossos computadores físicos, locais Em um ambiente empresarial pode ser diferente, podemos acessar arquivos e aplicações em um servidor Uma vantangem é não precisar da internet
  9. 9. Entendendo a Cloud Computing... Internet muito acessível e rápida Aplicativos e dados não precisam estar no computador do usuário ou em um servidor próximo Este conteúdo fica nas “nuvens”, na internet
  10. 10. Principais tipos de cloud IaaS - Infrastructure as a Service SaaS – Software as a Service PaaS – Plataform as a Service
  11. 11. Google Docs (SaaS) Serviço na nuvem, onde usuários podem editar textos planilhas, slides e outros, tudo na internet É necessário apenas um browser Não importa o SO ou o computador Sem necessidade de nada instalado no computador
  12. 12. DropBox (SaaS) Serviço para armazenamento de arquivos Documentos sincronizados Mantém versões de arquivos anteriores Semelhante ao SVN usado por desenvolvedores
  13. 13. E2C Amazon (IaaS) O cloud IaaS mais conhecido do mundo Fornecimento de infraestrutura Virtualização de servidores e também pode envolver DNS, Redes, Firewall, E-mail e etc... O propósito é algo como substituir o seu servidor local
  14. 14. Google App Engine (PaaS) Plataforma como serviço Ambiente completo para desenvolvimento, configuração e gerenciamento de suas aplicações Simulação do ambiente (sandbox) Outro exemplo: Windows Azure
  15. 15. Google App Engine (PaaS) Infraestrutura e qualidade do Google
  16. 16. Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python
  17. 17. Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python Persistência com Big Table (NoSQL)
  18. 18. Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (Ruby, Groovy...) e Python Persistência com Big Table (NoSQL) Pague apenas pelo que usar
  19. 19. Vantagens do GAE Escalabilidade infinita
  20. 20. Vantagens do GAE Escalabilidade infinita Elasticidade
  21. 21. Vantagens do GAE Escalabilidade infinita Elasticidade Disponibilidade
  22. 22. Vantagens do GAE Escalabilidade infinita Elasticidade Disponibilidade Mais barato
  23. 23. Mais vantagens do GAE Desenvolvimento fácil, ambiente de desenvolvimento local simulando todos os recursos do GAE Confiável, mesmo com uma carga pesada e grandes quantidades de dados Ajuste e balanceamento de carga automático APIs para autenticação de usuários e envio de email usando as contas do Google
  24. 24. Cotas e limites Até 2000 (dois mil) emails por mês 500MB de armazenamento 5 milhões de visualizações por mês Até 10 aplicativos por cada conta do Google Resposta em no máximo 30 segundos Consulta pode retornar no máximo 1000 resultados
  25. 25. É barato mesmo
  26. 26. Ambiente de Desenvolvimento Eclipse + AppEngine SDK + Plugin
  27. 27. Ambiente de Desenvolvimento Eclipse + AppEngine SDK + Plugin One-click deploy
  28. 28. Fácil Gerenciamento
  29. 29. Fácil Gerenciamento
  30. 30. Fácil Gerenciamento
  31. 31. Fácil Gerenciamento
  32. 32. Padronização Servlets 2.5 e JSP 2
  33. 33. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2
  34. 34. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net
  35. 35. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail
  36. 36. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail Jcache
  37. 37. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail Jcache JSE 5 e 6
  38. 38. O que podemos utilizar no GAE Struts 2 JSF 1.2 e JSF 2.0 Spring MVC Flex REST VRaptor API de imagens...
  39. 39. Fique atento BigTable não é relacional (Nosql) Acessar BigTable com JPA pode ser complicado Suas aplicações não serão tão portáveis
  40. 40. Desvantagens Sem funções de agregação (count, sum, max, min, group by...)
  41. 41. Desvantagens Sem funções de agregação (count, sum, max, min, group by...)
  42. 42. Desvantagens Transações não são comuns
  43. 43. Desvantagens Transações não são comuns Não existem joins
  44. 44. Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA
  45. 45. Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA Startup deve ser otimizado
  46. 46. Desvantagens Transações não são comuns Não existem joins Código específico (JPQL, JDOQL) para JPA Startup deve ser otimizado Não pode gravar no sist. de arquivos, apenas ler
  47. 47. Alternativas Usar código específico
  48. 48. Alternativas Usar código específico Datastore Low-level API (muito complexa)
  49. 49. Alternativas Usar código específico Datastore Low-level API (muito complexa) Novos frameworks: Objectify, Twig
  50. 50. Fique atento Datastore read-only (é bom estar preparado) Usar cache de dados e de página
  51. 51. Devemos estar preparados EntityManager em = EntityManagerFactory.createEntityManager();try { em.persist(entidade); em.close();}catch(CapabilityDisabledException e) {// informa que o Datastore está em modo read-only.// Tente novamente mais tarde.}
  52. 52. Conclusão Existem vantagens e desvantagens como em qualquer tecnologia Perdemos características como BD relacional, porém ganhamos em outras Preocupação com coisas novas É preciso confiar no seu fornecedor
  53. 53. Dúvidas? fredericomaia10@gmail.com @fredmaia @gojava http://devsexperts.com

×