Cloud Computing Bootcamp On The Google App Engine For Iasa V1.2.4

949 views

Published on

October presentation on Cloud Computing at IASA Denver by Matthew McCullough

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

No Downloads
Views
Total views
949
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Cloud Computing Bootcamp On The Google App Engine For Iasa V1.2.4

  1. 1. a journey to the darker side Cloud Computing of by Matthew McCullough
  2. 2. Matthew McCu llough
  3. 3. ? 20 mi n ? mi n 15 min ? min 10 min min
  4. 4. ➊ A brief History
  5. 5. 1960
  6. 6. “computation may someday be organized as a public utility” -John McCarthy
  7. 7. Shared Time
  8. 8. circa 2006
  9. 9. “It starts with the premise that the data services and architecture should be on servers. We call it cloud computing – they should be in a “cloud” somewhere.” -Eric Schmidt
  10. 10. SaaS
  11. 11. Virtualized Servers with an API
  12. 12. ➋ What is the Cloud?
  13. 13. “ A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. -NIST (draft)
  14. 14. “ [Developers] need not have knowledge of, expertise in, or control over the technology infrastructure in the cloud that supports them. -Aggregate of Tim O’Reilly, Luis M.Vaquero
  15. 15. Scalable
  16. 16. Dynamic
  17. 17. Pay-per-use
  18. 18. Minimal state
  19. 19. Affinity-less
  20. 20. Scale up
  21. 21. Scale down
  22. 22. Grid?
  23. 23. ➌ Why the Cloud?
  24. 24. Cost of startup
  25. 25. Experimentation
  26. 26. Transition to Production
  27. 27. No licensing fees
  28. 28. Instant availability
  29. 29. What’s the most expensive item on a startup’s balance sheet?
  30. 30. You!
  31. 31. Time savings
  32. 32. Hardware setup time
  33. 33. OS setup time
  34. 34. Database setup time
  35. 35. Web container setup time
  36. 36. Server setup
  37. 37. Server destruction
  38. 38. ❹ Cloud Players
  39. 39. From most open to most constrained
  40. 40. Rackspace Cloud Sites Rackspace Cloud Servers
  41. 41. Amazon EC2
  42. 42. Google App Engine
  43. 43. Levels of Abstraction
  44. 44. Operating System Images
  45. 45. Predetermined
  46. 46. or abstracted away
  47. 47. Programming languages?
  48. 48. Anything?
  49. 49. PHP?
  50. 50. Python?
  51. 51. Java?
  52. 52. File Systems
  53. 53. Rackspace Cloud Traditional File System
  54. 54. Amazon EC2 Elastic Block Storage
  55. 55. Mor.ph Traditional File System
  56. 56. Google App Engine None
  57. 57. Datastores
  58. 58. Amazon EC2 Simple DB
  59. 59. Google App Engine Big Table
  60. 60. Operating Systems
  61. 61. Debian, Fedora, Ubuntu on Rackspace Cloud
  62. 62. Windows Server on Amazon EC2
  63. 63. 1000 variants of Linux on Amazon EC2
  64. 64. CentOS Linux on Mor.ph
  65. 65. Custom Linux on Google App Engine
  66. 66. Pricing
  67. 67. Rackspace Cloud
  68. 68. 1.5¢ per hour
  69. 69. Amazon EC2
  70. 70. Google App Engine
  71. 71. We’ll give it away free and make up for it in volume!
  72. 72. Google ❺ App Engine
  73. 73. April 8th, 2008
  74. 74. Google AppEngine
  75. 75. Python
  76. 76. April 7th, 2009
  77. 77. Java!
  78. 78. But more like
  79. 79. Banned ⅘ Java
  80. 80. Getting Started with GAE
  81. 81. Free to start
  82. 82. Cell Phone #
  83. 83. Regular Google Account
  84. 84. 10,000: first wave
  85. 85. 95 minutes
  86. 86. 25,000: second wave
  87. 87. Everyone: third wave
  88. 88. Technology Stack
  89. 89. SDK
  90. 90. Shell scripts to manage apps
  91. 91. Source code included
  92. 92. SDK-version-locked by the SDK JARs you include
  93. 93. Subset of JDK 1.6
  94. 94. Custom Class Loaders
  95. 95. Sandbox
  96. 96. Whitelist of Classes
  97. 97. Caution!
  98. 98. Might work on desktop, but not on GAE
  99. 99. Application ID
  100. 100. Globally Unique
  101. 101. required for deployment
  102. 102. ___.appspot.com
  103. 103. Servlet API
  104. 104. Jetty
  105. 105. JSPs
  106. 106. Java Mail API
  107. 107. Google Web Toolkit
  108. 108. Authentication (2 options)
  109. 109. Integration with Google Accounts
  110. 110. Admin & User Level Permissions
  111. 111. Roll your own (hint: use SpringSecurity)
  112. 112. Memcache (as an alternative to persistent disk storage)
  113. 113. Low level API
  114. 114. JSR-107 / JCache (javax.cache)
  115. 115. BigTable
  116. 116. Relational Database?
  117. 117. Relational Database
  118. 118. Can import from existing DB
  119. 119. JDO
  120. 120. JPA
  121. 121. Low level BigTable API
  122. 122. Limited GORM-JPA
  123. 123. DataNucleus
  124. 124. Logging
  125. 125. java.util.logging
  126. 126. System.out == info System.err == warning
  127. 127. Log4j
  128. 128. ❻ Dark Clouds
  129. 129. a few GAE NOs
  130. 130. No Hibernate
  131. 131. No file writing
  132. 132. No threads
  133. 133. No server affinity
  134. 134. Even for sequential requests
  135. 135. No sockets
  136. 136. But... you can use URLFetch for HTTP/HTTPS resources
  137. 137. No JNI
  138. 138. No more than 30s
  139. 139. common Concerns
  140. 140. Large Setups more economical to self-host
  141. 141. Out of your hands
  142. 142. Uptime?
  143. 143. Do you trust the vendor?
  144. 144. Databases without foreign keys is a new frontier
  145. 145. “The interesting thing about cloud computing is that we’ve redefined cloud computing to include everything that we already do... Maybe I’m an idiot, but I have no idea what anyone is talking about... It’s complete gibberish. It’s insane. When is this idiocy going to stop? -Larry Ellison
  146. 146. a journey to the darker side of Cloud Computing
  147. 147. Code Examples http://github.com/matthewmccullough Twitter @matthewmccull Email matthewm@ambientideas.com Blog http://www.ambientideas.com/blog sidebar has my social networking profile links
  148. 148. 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/
  149. 149. Resources • http://www.browsermob.com • http://highscalability.com/ • http://highscalability.com/useful-cloud-computing- blogs • http://www.youtube.com/watch? v=ri796Hx8las&feature=channel
  150. 150. Photo Credits • www.ambientideasphotography.com [clouds] • http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist) • http://www.nga.org/Images/AM07SAT09HIRES.JPG • All others purchased through iStockPhoto.com

×