Cloud Computing Bootcamp On The Google App Engine For Iasa V1.2.4 - Presentation Transcript
a journey to the darker side
Cloud Computing
of
by Matthew McCullough
Matthew
McCu llough
?
20 mi n
? mi n
15 min
? min
10 min
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 Servers
with 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 Sites
Rackspace 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 Cloud
Traditional File System
Amazon EC2
Elastic Block Storage
Mor.ph
Traditional File System
Google App Engine
None
Datastores
Amazon EC2
Simple DB
Google App Engine
Big Table
Operating
Systems
Debian, Fedora, Ubuntu
on Rackspace Cloud
Windows Server
on Amazon EC2
1000 variants of Linux
on Amazon EC2
CentOS Linux
on Mor.ph
Custom Linux
on 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 with
Google 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 == info
System.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 URLFetch
for 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
Twitter
@matthewmccull
Email
matthewm@ambientideas.com
Blog
http://www.ambientideas.com/blog
sidebar has my social networking profile links
0 comments
Post a comment