Upload
haggai-shachar
View
333
Download
0
Tags:
Embed Size (px)
Citation preview
2
Google App Engine - From Wikipedia, the free encyclopedia
“Google App Engine is a platform for developing and hosting web applications in Google-managed data centers.”
“Google App Engine is cloud computing technology. It virtualizes applications across multiple servers.”
3
Cloud computing
Cloud ComputingWTF ?!
4
Cloud Computing – the motivation
Real world utilization 5%-80%
100% utilization is impossible: • Black Friday sales• Verizon & iPhone campaign
Over-provisioning
Demand
Capacity
t
Re
so
urc
es
Re
so
urc
es
Demand
Capacity
t1 2 3Under-provisioning
Demand
Capacity
t
Re
so
urc
es
On demand, scalable
4
5
To make a long story short – cloud computing is
Develop More
Maintain Less
Force you to write a scalable-by-design applications
6
“Google App Engine enables you to build and host web apps on the same systems that power Google applications”
“App Engine offers fast development and deployment; simple administration, with no need to worry about hardware, patches or backups; and effortless scalability”
7
Google AppEngine – core components
Development tools
Software Development
Kit
“BigTable” like data
store
Scalable Hosting Platform
Admin Console
8
Development Tools
• IDE (IDEA, Eclipse, etc…) plugins • Local Web Server Stub• Local Datastore Stub• Local administration console• Tones of samples
Hello AppEngineServlets & JSPs
9
Google AppEngine SDK & Sandbox
DATASTORE
IMAGE MANIPULATION
MAIL SERVICE
AUTHENTICATION & AUTHORIZATION
TASKING & QUEUING
URL FETCHING
XMPP
CACHING
10
JoinsJoins
DistributedDistributed Key ValueKey Value Shared NothingShared Nothing
GOOGLE APPENGINE DATASTORE
GOOGLE APPENGINE DATASTORE
SQLSQL
11
Scalable Hosting Platform
SCALABLE HOSTING PLATFORM ADMIN CONSOLE
12Active Analytics
Local Data StoreLocal Admin Console
Local Data StoreLocal Admin Console
13
Cloud Computing Landscape / discussion
Infrastructure Cloud
Platform Cloud
Application Cloud
Locked-in Some Portability
Full Portability
Cloud type
Portability
14