Google AppEngine Rafael Nunes
Cloud  Computing - SaaS - IaaS - PaaS  - Google App Engine
Cases <ul><li>Alguns cases interessantes no GAE </li></ul>
Por onde começo? Registro, ambiente de execução e desenvolvimento
Registro Uma conta google Um celular Conhecimento em Python ou Java Quotas
QUOTAS <ul><li>Request = 42.300.000 (7.400/minuto)
Banda de saída = 1GB (56Mb/minuto)
Banda de entrada = 1GB (56Mb/minuto)
CPU = 6.5CPU-hrs (15minuto)
Datastore = 1GB (total)
Datastore API Call =  10.000.000 (57.000/min)
Blobstore = 1GB e 140.000.000 req.
Mail = 7.000 chamadas / 2.000 envios </li></ul>
Criando Aplicação <ul><li>Appspot
DNS </li></ul>
Ambiente de execução <ul><li>Servidor web
Mecanismo de persistência
API de serviços
Sandbox
JRE Class White List </li></ul>
Ambiente de execução <ul>O que não pode? <li>EJB
JAX-RPC/JAX-WS
JDBC
JMS
JNDI
RMI </li></ul>
Ambiente de desenvolvimento <ul><li>SDK e linha de comando
Eclipse + Plugin (PyDev)
Upcoming SlideShare
Loading in …5
×

Introdução ao Google AppEngine

1,420 views
1,352 views

Published on

introdução e apresentação do Google AppEngine.

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

No Downloads
Views
Total views
1,420
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Introdução ao Google AppEngine

  1. 1. Google AppEngine Rafael Nunes
  2. 2. Cloud Computing - SaaS - IaaS - PaaS - Google App Engine
  3. 3. Cases <ul><li>Alguns cases interessantes no GAE </li></ul>
  4. 4. Por onde começo? Registro, ambiente de execução e desenvolvimento
  5. 5. Registro Uma conta google Um celular Conhecimento em Python ou Java Quotas
  6. 6. QUOTAS <ul><li>Request = 42.300.000 (7.400/minuto)
  7. 7. Banda de saída = 1GB (56Mb/minuto)
  8. 8. Banda de entrada = 1GB (56Mb/minuto)
  9. 9. CPU = 6.5CPU-hrs (15minuto)
  10. 10. Datastore = 1GB (total)
  11. 11. Datastore API Call = 10.000.000 (57.000/min)
  12. 12. Blobstore = 1GB e 140.000.000 req.
  13. 13. Mail = 7.000 chamadas / 2.000 envios </li></ul>
  14. 14. Criando Aplicação <ul><li>Appspot
  15. 15. DNS </li></ul>
  16. 16. Ambiente de execução <ul><li>Servidor web
  17. 17. Mecanismo de persistência
  18. 18. API de serviços
  19. 19. Sandbox
  20. 20. JRE Class White List </li></ul>
  21. 21. Ambiente de execução <ul>O que não pode? <li>EJB
  22. 22. JAX-RPC/JAX-WS
  23. 23. JDBC
  24. 24. JMS
  25. 25. JNDI
  26. 26. RMI </li></ul>
  27. 27. Ambiente de desenvolvimento <ul><li>SDK e linha de comando
  28. 28. Eclipse + Plugin (PyDev)
  29. 29. Servidor Integrado
  30. 30. API de serviço integrado </li></ul>
  31. 31. Desenvolvimento Web <ul><li>Frameworks Suportador: </li><ul><li>Struts 1, Struts 2
  32. 32. JSF 1.2, JSF 2, Facelets
  33. 33. Spring MVC
  34. 34. GWT
  35. 35. Apache Click
  36. 36. Play Framework
  37. 37. (www.yaw.com.br/open) </li></ul></ul>
  38. 38. Persistência <ul>>Big Table </ul>
  39. 39. Persistência <ul>Datastore não é banco de dados </ul>
  40. 40. Persistência <ul>Datastore não é banco de dados Datastore não é banco de dados </ul>
  41. 41. Persistência <ul>Datastore não é banco de dados Datastore não é banco de dados Datastore não é banco de dados DatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedadosDatastorenãoébancodedados </ul>
  42. 42. Datastore <ul><li>Schemaless
  43. 43. Armazenamento baseado em entidades
  44. 44. JPA e JDO
  45. 45. Manipulação direta e GQL
  46. 46. Objectify
  47. 47. Limitações (Unowed relationships, join queries, sum, avg, max, min) </li></ul>
  48. 48. API de Serviços <ul><li>Memcache
  49. 49. URL Fetch
  50. 50. Mail
  51. 51. XMPP
  52. 52. Images
  53. 53. Google Account
  54. 54. TaskQueue/Cron
  55. 55. Blobstore </li></ul>
  56. 56. Memcache <ul><li>Cache distribuído para conteúdo estático
  57. 57. Implementa JSR102
  58. 58. Acesso e manipulação como um Map </li></ul>
  59. 59. XMPP <ul><li>Envio e Recebimento de mensagem
  60. 60. Qualquer cliente com suporte a XMPP(GTalk) </li></ul>
  61. 61. URL Fetch <ul><li>Não é possível Socket no GAE
  62. 62. HTTP/HTTPS Request
  63. 63. java.net.URLConnection
  64. 64. GET/POST/PUT/DELETE
  65. 65. FetchAsync e java.util.concurrent.Future </li></ul>
  66. 66. Mail <ul><li>Envio de e-mail SMTP
  67. 67. javax.mail
  68. 68. Envio e Recebimento </li></ul>
  69. 69. Imagem e Blobstore <ul><li>Manipulação de arquivo binário
  70. 70. Thumbnail
  71. 71. Manipulação de imagens </li></ul>
  72. 72. Users <ul><li>Autenticação com Google Account
  73. 73. Segurança com Google Apps
  74. 74. Segurança para perfil admin/user </li></ul>
  75. 75. Task Queue/Cron <ul><li>Tasks executadas de forma assíncrona
  76. 76. Http Request com parâmetros
  77. 77. PERFORMANCE
  78. 78. Cron UNIX
  79. 79. Executa uma mesma operação a cada x tempo </li></ul>
  80. 80. Outros <ul><li>Multitenancy
  81. 81. Oauth
  82. 82. Channel API </li></ul>
  83. 83. Mão na Massa <ul>Exemplos </ul>
  84. 84. Dúvidas ?
  85. 85. Obrigado [email_address] twitter.com/rafanunes twitter.com/youandwe

×