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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Java no Google App Engine - TDC2011

  • 524 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
524
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
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