6. Cloud Service Levels
IaaS: Infrastructure as a Service
PaaS: Platform as a Service
SaaS: Software as a Service SaaS
PaaS
IaaS
7. Infrastructure as a Service
• Simplest form: leasing a physical or virtual
server box: RackSpace, SoftLayer
• Includes
• Hardware: servers, network, routers, load
balancers,…
• Software: operating systems, databases (storage),
application servers
8. Infrastructure as a Service
Amazon AWS (Amazon Web Services) (+ S3
(Simple Storage Service) + EC2 (Elastic Cloud
Compute))
Microsoft Azure: VM Role
Google: Google Compute Engine (GCE)*
9. Platform as a Service
• The provider takes care some higher level
functions in the service stack
• Instead of getting servers, you get an
application framework
• Less control over the lower level service
elements, but the abstraction should result in
less hassle and more focus on the goal
10. Platform as a Service
• Google: Google App Engine (GAE)*
• Azure Web Role, Worker Role, Reporting
Services, etc.
11. Software as a Service
• Software deployed on the internet
• Designed for end-users
• Delivered through the web
• The back-end automatically scales, fault-tolerant
persistence
12. Software as a Service
• Usually API (Application Programming
Interface) is available for usage or feature
extension
• Example
• Gmail, Google Docs, Google Spreadsheet
• Office 365
13. IaaS / PaaS / SaaS
SaaS
PaaS
IaaS
Level of Control
Level of Abstraction
18. Google App Engine
• PaaS level member of Google Cloud
Platform
• It’s for developing, hosting, and scaling out
web applications
• Supported languages:
• Python
• Java (+ JVM langs Groovy, JRuby, Scala, Clojure)
• Go (experimental), PHP (experimental)
19. Google App Engine
Python
• Django, CherryPy, Pyramid, Flask, web2py, webapp2,
and more
• CGI adapters
Java
• Servlet 2.5 technology, Jetty Web Server
• JSP, Java Server Faces, JPA, JDO, Spring Framework,
Struts 2*, Grails*, …
20. Google App Engine
Restrictions:
• Can only execute code which respond to HTTP requests
• Answer cannot take longer than 60 seconds!
• Normally only pure Python modules (no C or Pyrex)*
• …
21.
22. GAE Demo
• Hosting a website using App Engine:
http://www.labnol.org/internet/host-website-on-
google-app-engine/18801/
• Google Maps and Google App Engine
Demo:
http://wtp2.appspot.com/AppEngineMapDem
o.htm
23. GAE Demo
• Java Servlet Endpoints hosted by App
Engine for an multi platform card game:
https://github.com/59DAYSOFCODE/Project
-Deal-ORound/tree/master/cards/server