Introduction to Google Cloud Platform's compute section, Google Compute Engine, Google App Engine. Place these technologies into the cloud service stack, and later show how Google blurs the boundaries of IaaS and PaaS.
3. Cloud platform
• Brief history
• Roles of Google, Amazon, Microsoft, IBM, HP…
• Service levels
4. Service levels
• IaaS: Infrastructure as a Service
• PaaS: Platform as a Service
• SaaS: Software as a Service
SaaS
PaaS
IaaS
5. 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
• Amazon AWS (Amazon Web Services) (+ S3
(Simple Storage Service) + EC2 (Elastic Cloud
Compute))
• Microsoft Azure: VM Role
• Google: GCE - Google Compute Engine*
6. 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
• Google: GAE - Google App Engine*
• Azure Web Role, Worker Role, Reporting Services,
etc.
7. 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
• Usually API (Application Programming Interface)
is available for usage or feature extension
• Example
– Gmail, Google Docs, Google Spreadsheet
– Office 365
9. IaaS / PaaS / SaaS
SaaS
PaaS
IaaS
Level of Control
Level of Abstraction
10. Google Compute Engine (GCE)
• IaaS level mainly
• Minute-by-minute billing (10 minutes minimum)
• Variety of virtual hardware selections (CPU config
and mem size)
• Standard or custom VM images
• Can be accessed through command line and
RESTful API
• Came too late?
11. Demo
• Spinning up a VM
• Selecting VM type
• Selecting OS image
12. Earlier Demo Last Time
• Hadoop cluster with GCE
• Last time we saw a word count example (hello
world of hadoop demos)
• Needs extra work
– Download and preparation of the hadoop distribution
itself
– Applying patches
– Generating keys
• But in the end Google also provides a set of tools
which make life much easier
13. Hadoop
• Hadoop is an open-source software framework
that supports data-intensive distributed
applications
• A Hadooop cluster is composed of a single master
node and multiple worker nodes
• Hadoop is written in Java, utilizes JVMs
• Has two main services:
– Storing large amounts of data: HDFS, Hadoop
Distributed File System
– Processing large amounts of data: implementation of
the MapReduce programming model
14. HDFS
Metadata
Store
Name node
Node 1 Node 2
Block A Block B Block A Block B
Node 3
Block A Block B
Data node Data node Data node
15. Job / task management
Jobtracker
Name node
Heart beat signals and
communication
Tasktracker Tasktracker
Map 1 Reduce 1 Map 2 Reduce 2
Tasktracker
Map 3 Reduce 3
Data node Data node Data node
16. 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)
17. 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*, ….
18. 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)*
– …
19. GAE Example
• High score chart in the cloud
• Java servlets
• Google Datastore (NoSQL) for the data, non
relational
• https://github.com/59DAYSOFCODE/Project-Deal-
ORound/tree/master/cards/server/Server/src/main
• (not open source unfortunately)
23. Google slides
• https://speakerdeck.com/googlecloudplatform/k
eynote-cloud-developer-roadshow-2014
– Flexibility and Automatic Management
– Big Data and Real-Time
• https://speakerdeck.com/googlecloudplatform/ia
as-divide-cloud-developer-roadshow-2014
– Today: cloud as a binary choice
– Blurring the line between IaaS and PaaS with
managed VMs