Cloud Computing Bootcamp On The Google App Engine v1.2.1

13,794 views

Published on

Google App Engine talk as given by Matthew McCullough to the SEAJUG in Seattle Washington.

Published in: Education, Technology, Business
2 Comments
16 Likes
Statistics
Notes
No Downloads
Views
Total views
13,794
On SlideShare
0
From Embeds
0
Number of Embeds
77
Actions
Shares
0
Downloads
600
Comments
2
Likes
16
Embeds 0
No embeds

No notes for slide

Cloud Computing Bootcamp On The Google App Engine v1.2.1

  1. Cloud Computing boot camp on the Google App Engine by Matthew McCullough of Ambient Ideas, LLC
  2. Twitter @matthewmccull Matthew Blog http://www.ambientideas.com/blog sidebar has all my social media links Email matthewm@ambientideas.com GitHub http://github.com/matthewmccullough
  3. http://flushirts.spreadshirt.com/us/US/Shop/
  4. nd o u g r c k B a y & o r h e T ic e c t r a P
  5. 1960
  6. “computation may someday be organized as a public utility” -John McCarthy
  7. circa 2000
  8. “Cloud Computing” coined
  9. “A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.” -Wikipedia
  10. “Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.” -Wikipedia
  11. What is the Cloud?
  12. Scalable
  13. Dynamic
  14. Pay-per-use
  15. Stateless
  16. Affinity-less
  17. Scale up
  18. Scale down
  19. Grid
  20. Why the Cloud?
  21. Cost of startup
  22. Experimentation
  23. Transition to Production
  24. No licensing fees
  25. Instant availability
  26. What’s the most expensive item on a startup’s balance sheet?
  27. You!
  28. Time savings
  29. Hardware setup time
  30. OS setup time
  31. Database setup time
  32. Web container setup time
  33. Server setup
  34. Server destruction
  35. Cloud Players
  36. From most open to most constrained
  37. Rackspace Cloud Servers (formerly Mosso)
  38. Rackspace Cloud Sites
  39. Amazon EC2
  40. Mor.ph
  41. Google App Engine
  42. Levels of Abstraction
  43. Operating System Images
  44. Predetermined
  45. or abstracted away
  46. Programming languages?
  47. Ruby?
  48. Java?
  49. PHP?
  50. Python?
  51. Anything?
  52. File Systems
  53. Rackspace Cloud Traditional File System
  54. Amazon EC2 S3 Buckets
  55. Amazon EC2 Elastic Block Storage
  56. Mor.ph Traditional File System
  57. Google App Engine BigTable
  58. Databases
  59. Rackspace Cloud Microsoft SQL Server
  60. Rackspace Cloud MySQL
  61. Rackspace Cloud <any db>
  62. Amazon EC2 Simple DB
  63. Amazon EC2 IBM DB2
  64. Mor.ph PostgreSQL
  65. Mor.ph MySQL
  66. Google App Engine Big Table
  67. Operating Systems
  68. Debian, Fedora, Ubuntu on Rackspace Cloud
  69. Windows Server on Amazon EC2
  70. 1000 variants of Linux on Amazon EC2
  71. CentOS Linux on Mor.ph
  72. Custom Linux on Google App Engine
  73. Pricing
  74. Rackspace Cloud
  75. 1.5¢ per hour
  76. Amazon EC2
  77. Mor.ph
  78. Fully supported level $1500/month
  79. Mor.ph Free human inside specially marked boxes!
  80. Google App Engine
  81. We’ll give it away free and make up for it in volume!
  82. Google App Engine
  83. April 8th, 2008
  84. small company
  85. Python!
  86. April 7th, 2009
  87. Java!
  88. But more like
  89. Banned Java
  90. Getting Started with GAE
  91. Free to start
  92. Cell Phone #
  93. Regular Google Account
  94. 10,000: first wave
  95. 95 minutes
  96. 25,000: second wave
  97. Everyone: third wave
  98. Technology Stack
  99. SDK
  100. Shell scripts to manage apps
  101. Source code included
  102. SDK-version-locked by the SDK JARs you include
  103. Subset of JDK 1.6
  104. Custom Class Loaders
  105. “Sandbox”
  106. Whitelist of Classes
  107. Caution!
  108. Can work on desktop, not on GAE
  109. Application ID
  110. Globally Unique
  111. required for deployment
  112. xxxxx.appspot.com
  113. Servlet API
  114. Jetty
  115. JSPs
  116. Java Mail API
  117. Google Web Toolkit
  118. Authentication (2 options)
  119. Integration with Google Accounts
  120. Admin & User Level Permissions
  121. Roll your own (hint: use SpringSecurity)
  122. Memcache (as an alternative to persistent disk storage)
  123. Low level API
  124. JSR-107 / JCache (javax.cache)
  125. BigTable
  126. Relational Database?
  127. Relational Database
  128. Can import from existing DB
  129. JDO
  130. JPA
  131. Limited GORM-JPA
  132. DataNucleus
  133. Logging
  134. java.util.logging
  135. System.out == info System.err == warning
  136. Log4j
  137. a few NOs
  138. No Hibernate
  139. No file writing
  140. No threads
  141. No server affinity
  142. Even for sequential requests
  143. No sockets
  144. But... you can use URLFetch for HTTP/HTTPS resources
  145. No JNI
  146. No more than 30s
  147. Ouch!
  148. Custom timeout response
  149. Admin Console
  150. Statistics
  151. Graphs of Usage
  152. System Health
  153. Logs
  154. Pay for large usage
  155. Daily Budgets
  156. Budget per resource type
  157. Dev Tools
  158. Eclipse
  159. Jetty Demo Container
  160. Bundled with GWT plugin
  161. Ant
  162. Maven
  163. Grails Plugin
  164. Ideas & Demos
  165. http://appengine.google.com/
  166. http://*.appspot.com
  167. Ecosphere
  168. Hyperic
  169. Yup, those guys
  170. CloudStatus.com
  171. Mor.ph
  172. Remember, that layer on top of EC2?
  173. Humans
  174. Cloud Fallout
  175. Large Setups more economical to self-host
  176. Out of your hands
  177. Uptime?
  178. Do you trust the vendor?
  179. Persistence can be weird
  180. Give it a try!
  181. Resources • http://mor.ph • http://appengine.google.com • http://www.rackspacecloud.com/ cloud_hosting_products/servers (formerly http://mosso.com) • http://aws.amazon.com/ec2/

×