Your SlideShare is downloading. ×
0
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Java no Google App Engine - TDC2011
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Java no Google App Engine - TDC2011

547

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
547
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Apresentação Frederico Maia Arantes / @fredmaia Programador Java EE na PC Sistemas Oracle Certified Java SE 6 Programmer (OCJP 6) Instrutor Java na Supera Tecnologia Um dos coordenadores do grupo Gojava Artigo publicado na Easy Java Magazine 6 http://devsexperts.com
  • 2. O conceito de cloud computing refere-se à utilização da memória, armazenamento, processamento e/ou serviços decomputadores e servidores compartilhados einterligados por meio da Internet, seguindo o princípio da computação em grade.
  • 3. O que você acha de sua aplicação ficar famosa e você começar a ter 200 mil acessos por dia? E se ela dobrar estes acessos da noite pro dia?
  • 4. E se os acessos quadruplicarem?
  • 5. E se for 10 vezes, 100 vezes mais acessos?Mas e seu servidor, aguenta o tranco?
  • 6. Seu momento de glória...
  • 7. Cloud Computing Surgiu por volta de 2008 Também conhecido como Computação em Nuvem Google, IBM e Microsoft foram pioneiras Nova fronteira da era digital
  • 8. Entendendo a Cloud Computing Estamos acostumados a salvar tudo em nossos computadores físicos, localmente Em um ambiente empresarial podemos acessar arquivos e aplicações em um servidor Uma vantangem é não precisar da internet
  • 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. Principais tipos de cloud IaaS - Infrastructure as a Service SaaS – Software as a Service PaaS – Plataform as a Service
  • 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. DropBox (SaaS) Serviço para armazenamento de arquivos Documentos sincronizados Mantém versões de arquivos anteriores Semelhante ao SVN usado por desenvolvedores, porém mais simples
  • 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. 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. Google App Engine (PaaS) Infraestrutura e qualidade do Google Ambientes Java (JRuby, Groovy...) e Python Persistência com Big Table (NoSQL) Pague apenas pelo que usar
  • 16. Vantagens do GAE Escalabilidade infinita Elasticidade Disponibilidade Mais barato
  • 17. Mais vantagens do GAE Desenvolvimento fácil Ambiente simulado localmente Confiável, mesmo com uma carga pesada e grandes quantidades de dados Ajuste e balanceamento de carga automático
  • 18. Número de desenvolvedores usando
  • 19. Número de aplicações no GAE
  • 20. APIs de Serviço Cache de memória (implementa JCache) Solicitações HTTP e HTTPS (java.net) Mensagens de email (JavaMail) Manipulação de Imagens Login com contas do Google Cron, ferramenta que agenda tarefas
  • 21. Gostei! Quero começar a usar! Quanto custa?
  • 22. Começe sem pagar!
  • 23. Armazenamento de dados
  • 24. Custo real dos recursos
  • 25. Gostei mais ainda dos preços e das cotas gratuitas! Como começo a desenvolver?
  • 26. Ambiente de Desenvolvimento Eclipse + AppEngine SDK + Plugin One-click deploy
  • 27. Fácil Gerenciamento
  • 28. Fácil Gerenciamento
  • 29. Fácil Gerenciamento
  • 30. Fácil Gerenciamento
  • 31. Padronização Servlets 2.5 e JSP 2 JPA 1 e JDO 2 java.net JavaMail Jcache JSE 5 e 6
  • 32. O que podemos utilizar no GAE Struts 2 JSF 1.2 e JSF 2.0 Spring MVC Flex REST VRaptor
  • 33. Fique atento BigTable não é relacional (Nosql) Acessar BigTable com JPA pode ser complicado Mesmo com JPA suas aplicações podem não ser mais tão portáveis
  • 34. Desvantagens Sem funções de agregação (count, sum, max...) 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
  • 35. Alternativas Usar código específico Datastore Low-level API (muito complexa) Novos frameworks: Objectify, Twig, SimpleDS
  • 36. Objectify Objectify ofy = ObjectifyService.begin(); // Simple create Car porsche = new Car("2FAST", "red"); ofy.put(porsche); assert porsche.id != null; // id was autogenerated // Get it back Car fetched1 = ofy.get(new Key<Car>(Car.class, porsche.id)); Car fetched2 = ofy.get(Car.class, porsche.id); // equivalent assert areEqual(porsche, fetched1, fetched2); // Delete it ofy.delete(porsche);
  • 37. Concluindo Existem vantagens e desvantagens Perdemos características como BD relacional, porém ganhamos em outras Preocupação com coisas novas Em cloud é preciso confiar no seu fornecedor
  • 38. Novidade! Google Cloud SQL Ambiente MySQL com acesso Java via JDBC Backup e escalonamento (quando necessário), são feitos automaticamente pela plataforma. Alta disponibilidade e confiabilidade: dados replicados em múltiplos datacenters; Falhas de hardware em um servidor, rack ou mesmo datacenter inteiro, são gerenciadas pela plataforma
  • 39. Obrigado! fredericomaia10@gmail.com @fredmaia Frederico Maia http://devsexperts.com

×