Lecture 4 - PaaS Techniques
Lecture 4 - PaaS Techniques
Cloud Computing
Platform as a Service
Agenda
• Introduction
From IaaS to PaaS
What is PaaS
PaaS properties and characteristics
• Cloud Platform
Case studies
From IaaS to PaaS
What is PaaS
PaaS properties and characteristics
INTRODUCTION
What Has IaaS Done
• IaaS provides virtual machines and resources such
that IaaS vendors can segment resources for each
user
• IaaS providers can also make users do not need to
purchase the hardware
• IaaS can make better use of resources
But is it enough?
What IaaS Can Do
• Traditional IT • IaaS
Applications Applications
Data Data
You Manage
Runtime Runtime
Middleware Middleware
You Manage
OS OS
Provider Manage
Virtualization Virtualization
Servers Servers
Storage Storage
Networking Networking
IaaS is Not Enough
• IaaS provides many virtual or physical machines,
but it cannot alter the quantity automatically
• Consumers might
Require automatic make-decisions of dispatching jobs
to available resources
Need a running environment or a development and
testing platform to design their applications or services
More Requirements
• Consumers require more and more…
Large-scale resource abstraction and management
Requirement of large-scale resources on demand
Running and hosting environment
Automatic and autonomous mechanism
Distribution and management of jobs
Access control and authentication
…
More and More…
We need more
services
PaaS Buys It for You
• PaaS provides a series of
properties that can satisfy
user’s requirements
You Manage
Applications Applications Applications
Data Data Data
You Manage
Runtime Runtime Runtime
Middleware Middleware Middleware
You Manage
Provider Manage
OS OS OS
Provider Manage
Virtualization Virtualization Virtualization
Servers Servers Servers
Storage Storage Storage
Networking Networking Networking
From IaaS to PaaS
What is PaaS
PaaS properties and characteristics
INTRODUCTION
Platform as a Service
Platform as a Service (PaaS) is a computing
platform that abstracts the infrastructure, OS, and
middleware to drive developer productivity
Platform as a Service
• Deliver the computing platform as a service
Developing applications using programming languages and tools
supported by the PaaS provider
Deploying consumer-created applications onto the cloud
infrastructure
Enabling Services
provide
Core Platform
abstract
Resource Pool
Resource Pool
The capacities to abstract and control all the
underlying resources
• Resource Pool dynamically
provides an abstraction Enabling Services
and consolidation of large- provide
scale resources
Core Platform
• Consumers can acquire abstract
Core Platform
• Act as a bridge between
consumer and hardware abstract
Resource Pool
Core Platform
• Reduce the responsibility of
the runtime environment
INTRODUCTION
Platform as a Service
• Guarantee some properties and characteristics
Scalability
Availability
Manageability
Performance
Accessibility
Scalability
• PaaS needs to support
dynamic provisioning
that can increase or
decrease resources on
demand
There is no error
Manageability
• PaaS needs to support self-
management for running
applications and services
on the cloud platform
CLOUD PLATFORM
PaaS Players
• PaaS venders
Microsoft Windows Azure
Hadoop
Google App Engine
Microsoft Windows Azure
• Windows Azure platform is one of PaaS vendors
Based on .NET and Microsoft’s supported development tools
• Windows Azure starts general availability at Feb 2010,
and builds the global data center around the world
Windows Azure Platform
• A group of cloud technologies, each providing a
specific set of services to application developers
Major Components
• Windows Azure
Provides a Windows-based environment for running
applications and storing data on servers in Microsoft data
centers
• SQL Azure
Provides data services in the cloud based on SQL Server
• AppFabric
Provides cloud services for connecting applications
running in the cloud or on premises
Windows Azure
SQL Azure
AppFabric
• Compute
• Storage
• Fabric
Windows Azure
Windows Azure - Compute
• In cloud computation,
Windows Azure provides
Variety of services, like web
service or background
computation
A running environment of IIS 7
and .NET
• Four types of compute unit
A basic type provide single-core
1.66 GHz CPU, 1.75 GB of
memory, and 225 GB of instance
storage
Incremental by power of 2
Compute
• A Windows Azure application can have multiple
instances, each executing in its own virtual machine
(VM)
• Each VM is provided by a hypervisor (Hyper-V)
• A developer can create
A hosting account for running applications
A storage account for storing data
or both
• A developer can access
The instance through an interface
The Windows Azure portal through the Web browser
Instance Types
• Windows Azure provides two types of computation
roles
Web role
• A running environment that user can access
• Web application service
Worker role
• An environment runs particular processing
• Ability to handle distributed or complicated tasks
Instance Types
• Any service must include at least one role of either
type, but may consist of any number of web roles
or work roles
• Worker role can communicate with Web role using
the Windows Azure storage queues
• Each VM contains an agent to allow the application
to interact with the Windows Azure fabric
Storage
• Compute
• Storage
• Fabric
Windows Azure
Windows Azure - Storage
• In enterprise, it may need
10GB to 10PB storage
space when company is
growing
• Enterprise does not know
how many disks are
needed at initial
It could be underestimate
or overestimate
Storage
• If underestimate
Violate the contract and does not expand storage in time
• If overestimate
Waste of resource and additional management costs
song. Block1
music mp3
Block2
John Image1.
jpg
photo
Image2.
jpg
Blob Types
• Block Blob
Segment read/write
Identify by Block ID
Maximum size
• 4MB for each block, and up to 50000 block
• Page Blob
Provided a Windows Azure Driver (aka X-Driver)
Random read/write
Identify by a range
Up to 1TB
X-Driver
• The underlying storage
• A mechanism for viewing
persistent storage as if it
were a local drive
• Implemented as a
Windows Azure Page
Blob containing an
NTFS-formatted Virtual
Hard Disk (VHD)
Table
• A simple structural data storage that can store
some structural data
Similar to the EXIF information for describing a photo
• Table can be used as a lightweight database
• Entry is called as a line of data
• Every entry has a particular identifier which
contains Account Key and Table Key
Table
• Account Name and Table Name are used to specify
the account and table
• Partition Key is used to specify the same data on
different partitions
• Row Key is an identifier of row data
Partition Key Row Key Property 1 Property 2
Class Number Score 1 Score 2
Table A
entry
Class A No 1 A A+
Class A No 2 B- B- Partition 1
Class B No 1 B+ A-
Class B No 2 B+ B+ Partition 2
Class B No 3 A A-
Queue
• Queue usually is used between application’s
communication
• A queue consists of some slices
• Each slice contains 8 KB data
• There is a particular process to handle the queue
such that each slice is processed once
Queue
• Compute
• Storage
• Fabric
Windows Azure
Windows Azure - Fabric
• Windows Azure
provides an automatic
and autonomous way to
manage resources
Automatically report and
recode the status of
machines
Provide a control center
to perform failure
recovery when one or
many machines crash
Fabric Types
• Windows Azure supports two fabrics to control and
manage the machines and jobs
• Fabric Agent
Each virtual machine has one fabric agent
Report the status to fabric controller
Provide user’s authentication and defense of attack
• Fabric Controller
Monitor and control the virtual machine by fabric agent
Manage the virtual machines, running environment and
software configuration
Control the work flow
Example of Fabric
• The fabric controller interacts with Windows
Azure applications via the fabric agent
Fabric
• Fabric Agent records the status of machine and
reports to Fabric Controller
Who is
Who is alive?
available?
job
Me
Me Me
Machine
Fabric Agent
Fabric Controller
Windows Azure
SQL Azure
AppFabric
Windows Azure
Cloud Applications
Other Server’s
SQL Azure Fabric
SQL Azure Fabric
Databases
SQL Server
Instance
Other Server’s
Management Service Management Service
Backend Server
• SQL Azure Fabric manages databases that stores
data in many SQL Azure nodes distributively
• SQL Azure Fabric controls the policy and
frequency of data replication
Merge replication
Transactional replication
• Access any one of SQL Azure service can link to the
proper database and get the correct data
Windows Azure
SQL Azure
AppFabric
• Components
Service Bus
• Makes connection simpler by letting an application expose endpoints
that can be accessed by other applications
Access Control
• Provides the ability for applications with authentication and
authorization
Service Bus
• Service provider can register endpoints with Service Bus
• Service consumer can discover and use those endpoints to
access the service
Service Service
Consumer Provider
Service Bus
• AppFabric Service Bus supports two types of
communication mechanisms according to client
application
Message reply
Directly connect
• Client application can set the Hybrid connection
mode
Try to use directly connect
If Service Bus does not detect the direct connection,
use the message reply
Message Reply
Service application
(inside the cloud)
Service Bus
Service Bus
reply message
Service Registry
Client requests
the service by URL
Service application
Client
(outside the cloud)
Directly Connect
Service application
(inside the cloud)
Service Bus
Service application
Client
(outside the cloud)
Access Control
• Access Control service helps applications authenticate and
receive identity information about their client applications
Client Server
Application Application
Access Control
• Access control is a Single Sign-On (SSO) service for
service bus
User accesses the service bus must be authenticated by the
access control
• User only needs a token when access multi-services
The token can be recognized for multi-services in a period
of time
Scenarios
Creating a web application with background
processing
Using cloud storage from an on-premises or
hosted application