Cloud Computing Bootcamp On The Google App Engine For Iasa V1.2.4
-
Upload
iasa -
Category
Technology
-
view
746 -
download
1
description
Transcript of Cloud Computing Bootcamp On The Google App Engine For Iasa V1.2.4
a journey to the darker side of
Cloud Computing
by Matthew McCullough
Matthew McCullough
10min
?min
15min
?min
20min
?min
➊A brief History
1960
“computation may someday be organized as a public utility”
-John McCarthy
Shared Time
circa 2006
“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
SaaS
Virtualized Serverswith an API
➋What is the Cloud?
A style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet.
-NIST (draft)
“
[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
“
Scalable
Dynamic
Pay-per-use
Minimal state
Affinity-less
Scale up
Scale down
Grid?
➌Why the Cloud?
Cost of startup
Experimentation
Transition to Production
No licensing fees
Instant availability
What’s the most expensive item on a
startup’s balance sheet?
You!
Time savings
Hardware setup time
OS setup time
Database setup time
Web container setup time
Server setup
Server destruction
❹Cloud Players
From most open to most constrained
Rackspace Cloud SitesRackspace Cloud Servers
Amazon EC2
Google App Engine
Levels of Abstraction
Operating System Images
Predetermined
or abstracted away
Programming languages?
Anything?
PHP?
Python?
Java?
File Systems
Rackspace CloudTraditional File System
Amazon EC2Elastic Block Storage
Mor.phTraditional File System
Google App EngineNone
Datastores
Amazon EC2Simple DB
Google App EngineBig Table
Operating Systems
Debian, Fedora, Ubuntuon Rackspace Cloud
Windows Serveron Amazon EC2
1000 variants of Linuxon Amazon EC2
CentOS Linuxon Mor.ph
Custom Linuxon Google App Engine
Pricing
Rackspace Cloud
1.5¢ per hour
Amazon EC2
Google App Engine
We’ll give it away free and make up for it in
volume!
❺Google App Engine
April 8th, 2008
Google AppEngine
Python
April 7th, 2009
Java!
But more like
Banned
Java⅘
Getting Started with
GAE
Free to start
Cell Phone #
Regular Google Account
10,000: first wave
95 minutes
25,000: second wave
Everyone: third wave
Technology Stack
SDK
Shell scripts to manage apps
Source code included
SDK-version-locked by the SDK JARs you
include
Subset of JDK 1.6
Custom Class Loaders
Sandbox
Whitelist of Classes
Caution!
Might work on desktop,but not on GAE
Application ID
Globally Unique
required for deployment
___.appspot.com
Servlet API
Jetty
JSPs
Java Mail API
Google Web Toolkit
Authentication(2 options)
Integration withGoogle Accounts
Admin & User Level Permissions
Roll your own(hint: use SpringSecurity)
Memcache(as an alternative to persistent disk storage)
Low level API
JSR-107 / JCache(javax.cache)
BigTable
Relational Database?
Relational Database
Can import from existing DB
JDO
JPA
Low level BigTable API
Limited GORM-JPA
DataNucleus
Logging
java.util.logging
System.out == infoSystem.err == warning
Log4j
❻Dark Clouds
a few GAE NOs
No Hibernate
No file writing
No threads
No server affinity
Even for sequential requests
No sockets
But... you can use URLFetchfor HTTP/HTTPS resources
No JNI
No more than 30s
common Concerns
Large Setups more economical to self-host
Out of your hands
Uptime?
Do you trust the vendor?
Databases without foreign keys is a new
frontier
“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
a journey to the darker side of
Cloud Computing
Code Examples http://github.com/matthewmccullough
@matthewmccull
Blog
http://www.ambientideas.com/blog sidebar has my social networking profile links
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/
Resources
• http://www.browsermob.com
• http://highscalability.com/
• http://highscalability.com/useful-cloud-computing-blogs
• http://www.youtube.com/watch?v=ri796Hx8las&feature=channel
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