Cloud Computing
Ivona Brandic, Philipp Leitner Arbeitsgruppe für Verteilte Systeme
Institut für Informationssysteme Technische Universität Wien
Cloud Computing - Definitions
• Cloud computing is a pay-per-use model for enabling convenient, on-demand network access to a shared pool of configurable and reliable computing resources (e.g., networks, servers, storage, applications, services) that can be rapidly provisioned and released with minimal consumer management effort or service provider interaction.
• The cloud model is comprised of five key characteristics, three delivery models, and four deployment models.
3 Source: Peter Mell, Tim Grance NIST, Information Technology Laboratory
5 Cloud Characteristics
• On-demand self-service • Ubiquitous network access • Resource pooling • Rapid elasticity • Pay per use
5
3 Delivery Models
• Cloud Software as a Service (SaaS) – Use provider’s applications over a network – E.g., Salesforce.com,…
• Cloud Platform as a Service (PaaS) – Deploy customer-created applications to a cloud – E.g. Google App Engine, Microsoft Azure, …
• Cloud Infrastructure as a Service (IaaS) – Rent processing, storage, network capacity, and other
fundamental computing resources – E.g. Elastic Computer Cloud (EC3), Simple Storage
Service (S3), Simple DB,….
6
SaaP
• SaaP – Google Application Engine
• Google Mail, Google Calendar, Picasa, Google Talk, Google Docs, ….
7
4 Cloud Deployment Types
• Private cloud – enterprise owned or leased • Community cloud – shared infrastructure for
specific community • Public cloud – Sold to the public, mega-scale
infrastructure • Hybrid cloud – composition of two or more
clouds
8
Cloud Characteristics
Cloud computing often leverages: • Massive scale • Virtualization • Free software • Autonomic computing • Multi-tenancy • Geographically distributed systems • Advanced security technologies
9
Cloud Technologies
• Virtualization • Grid technology • Service Oriented
Architectures • Distributed
Computing • Broadband Networks
• Browser as a platform • Free and Open
Source Software • Autonomic Systems • Web 2.0 • Web application
frameworks • Service Level
Agreements (SLAs)
10
Virtualization
• Host operating system that provides an abstraction layer for running virtual “guest” operating systems
• “hypervisor” or “virtual machine monitor” • Enables guest OSs to run in isolation of other
OSs • Run multiple types of Oss • Increases utilization of physical servers • Enables portability of virtual servers between
physical servers
11
Grid Computing
• Distributed parallel processing across a network • Resouce negotiation • Coordination of independent resources • Virtual Organizations (VO)s • Uses open standards and interfaces • Non trivial Quality of Service • Facilitates interconnection of heterogeneous
computers/host/clusters • Distribution across large geographical
boundaries • Loose coupling of computers 12
Web Application Frameworks
• Enables dynamic web sites • Facilitates web and DB related programming
operations (e.g., web services support) – Creation of Web 2.0 applications – Supported by most major software languages
• Separation of business logic from the user interface
• Authentication, Authorization,…
13
Web Services
• Stateless web interaction • Describe encapsulated units of work which are
available over the network – Interfaces – SOAP, WSDL, … WS-* standards
• Standard based interfaces and protocols – e.g., SOAP, WSDL, WS-Security – Management of stateful Web Services (Web Service
Resource Framework) – WS-Transaction, Choreography, Workflows – Hierarchical web services
• Loosely coupling 14
Multi-tenancy
• Level 1: Ad- Hoc/Custom
• Level 2: Configurable Level 3: Configurable, Multi-Tenant-Efficient
• Level 4: Scalable, Configurable, Multi- Tenant-Efficient
15 Source: Peter Mell, Tim Grance NIST, Information Technology Laboratory
Examples for the Virtualization Middleware • OpenNebula
– Partly developed by the European Union’s Reservoir project
• Zimory – Developed by …
• VMWare Vcloud – Further development of the Globus Tooklits
• Aneka Clouds – University of Melbourne
• VieSLAF – Vienna University of Technology
16
OpenNebula
• Transform a distributed infrastructure into a flexible virtual infrastructure
• Adapt it to the changing demands of the the service workload
• OpenNebula is a distributed virtualization layer
• Decouple the service from the physical infrastructure
17 Ruben S. Montero: OpenNebula: Open Source Virtual Machine Manager for Cluster Computing
Cloud Business Models
• Maximize Return On Investment (ROI), Minimize expenses
• Conversion of fixed costs as the baseline operational expenses of running business into variable costs or costs which are volume-related, as for example in case of pay-per-use models
• Exhibit rather deferring Capital Expenditures (CAPEX), which are expenditures creating future benefits e.g., buying new servers
• Costs are moved towards Operating Expenses (OPEX), which are cost for running products, businesses, or infrastructures. earlier Return of Investment (ROI), especially in case of short-term business goals
20
Cloud-Like Environments Problems / Research Issues
• 5 key cloud characteristics: – On demand self-service, ubiquitos network access, resource
pooling, rapid elasticity, pay per use expected quality
– Frequent user interactions may become an obstacle for the success of Cloud computing application of autonomic computing
• Establishment of SLAs – different SLA protocols
– different negotiation strategies
– different security mechanism
• Non-matching SLA templates
15.06.2009 21 GMAC'09
Managed through an autonomic process
Case Study: Cloud Computing
• Services are configured on demand, reconfigured
• Self-* characteristics • Automatic SLA
management • Self-governance • …
Services
Source: “Buyya, Yeo, Venugopal, Broberg, Brandic. Cloud Computing and Emerging IT Platforms: Vision, Hype and Reality for Delivering Computing as 5th Utility, Elsevier Science 2009.”
Negotiation bootstrapping &
service mediation
Comparison of Cloud platforms
23
System Property
Amazon Elastic Compute Cloud
(EC2)
Google App Engine
Microsoft Azure
Sun Network.com (Sun
Grid)
Manjrasoft Aneka
Focus IaaS IaaS/PaaS IaaS/PaaS IaaS PaaS
Service Type Compute, Storage (Amazon S3) Web application Web and non-web
application Compute Compute
Virtualisation OS Level running on a Xen hypervisor Application container OS level through
Fabric controller
Job management system (Sun Grid Engine)
Resource Manager and Scheduler
Dynamic Negotiation of QoS Parameters
None None None None SLA-based Resource Reservation
User Access Interface
Amazon EC2 Command-line Tools
Web-based Administration Console
Windows Azure portal Job submission scripts, Sun Grid Web portal
Workbench, Web-based portal
Web APIs Yes Yes Yes Yes Yes
Value-added Service Providers Yes No Yes Yes No
Programming Framework
Customizable Linux-based Amazon Machine Image (AMI)
Python .NET framework Solaris OS, Java, C, C++, FORTRAN
APIs supporting different programming models in C# and other .Net supported languages
Source: “Buyya, Yeo, Venugopal, Broberg, Brandic. Cloud Computing and Emerging IT Platforms: Vision, Hype and Reality for Delivering Computing as 5th Utility, Elsevier Science 2009.”
Apps.
Heterogeneity of Grids and Clouds
SLA Template
X
SLA Template
Y
Consumer Provider
How to map between different SLA templates ? DB
DB DB
… Cloud or Grid
Apps. WS
SLA Negotiation Strategy A
Negotiation Strategy B
How to map between different negotiation strategies ?
Autonomic Process
Knowledge
Sensor Actuator
monitoring
analysis planning
execution
QoS Metric Protocol
QoS Metric Protocol
Evaluation
Service Compositions
Mapping Strategies
Negotiation using VieSLAF framework
Autonomic Manager
QoS Example
Vienna Science and Technology Fund (WWTF) Project: FoSII – Foundations of Self-governing ICT Infrastructures
15.06.2009 25
Lifecycle of a self-manageable Cloud Service
Meta Negotiation
Negotiation
Post processing Execution
Self-Management
15.06.2009 26
Autonomic Process for MN and SM
Knowledge
Sensor
Actuator
monitoring
analysis
planning
execution
Definition and publication of meta-negotiation document
Execution of meta negotiation
Evaluation of existing bootstrapping strategies
Application of existing and definition of new
bootstrapping strategies
Execution of bootstrapping
Detection of SLA inconsistencies
Evaluation of existing SLA mappings
Application of existing and definition of new SLA mappings
Application of SLA mappings to fulfill successful SLA contracting
Negotiation Bootstrapping
Service Mediation
Prerequisite
Case Study: MFSS
a) Mapping: „price“ to „usage price“
b) Mapping: $ to €
a) Negotiation terms: begin time, end time, price,
b) Security: GSI c) Negotiation Protocol:
Alternate Offers d) Document Language:
WSLA e) Agreement: third
party arbitrator
activity level
A1
A2 A3
A4
A5
complex activity level
workflow level
Workflow
Scenario for Meta Negotiations
• Pre-requisites – Security issues – Negotiation terms
• Negotiation – Documents – Protocols
• Agreement – Arbitrator
publishing
meta-negotiation matching
negotiation
lookup
Service providers
Service consumer
Sample Meta Negotiation Protocol
<meta-negotiation xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance … > <entity> <ID name="1234"/> … </entity> <pre-requisite> <role name="Consumer"/> <security> <authentication name="GSI"/><authorization name="xy"/> </security> <negotiation-terms> <negotiation-term name="beginTime"/> <negotiation-term name="endTime"/> <negotiation-term name="price"/> </negotiation-terms> </pre-requisite> <negotiation> <document name="WSLA" value="uri" version="1.0”/> <document name="WS-Agreements" value="uri" version="1.0”/> <protocol name="alternateOffers" schema="uri" version="1.0” location="uri"/> </negotiation> <agreement> <confirmation name="confirmator" value="arbitrator”/> </agreement> </meta-negotiation>
Template A: - Service 1 - Service 2 - Service 3 - ... - Service n
Template A: - Service 1 - Service 2 - Service 3 - ... - Service n
Management of SLA Mappings
Template A: - Service 1 - Service 2 - Service 3 - ... - Service n
Service Consumer Service Provider
1. Assign to service category
2. Assign mappings
3. Search services
4. Assign mappings
5. Template adaptation
Service Registry
Example SLA Mapping & Mapping Scenario
<xsl:template match="/ns:SLA/ ns:ServiceDefinition/ ns:WSDLSOAPOperation/ ns:Metric[@name='calculatePrice']/ ns:Function"> <ns:Function xsi:type="Times resultType="float"> <ns:Operand> <xsl:copy> <xsl:copy-of select="@*|node()"/>
</xsl:copy> </ns:Operand> <ns:Operand> <ns:FloatScalar> 0.68096718 </ns:FloatScalar> </ns:Operand> </ns:Function> </xsl:template>
Local WSLA template
Rule From local to remote
Rule From local to remote
Rule from local to remote
XSLT transformation
Remote WSLA template
XSLT transformation
Rule From local to remote
Rule From local to remote
Rule from remote to local
+
+
XSLT transformation
Rule From local to remote
Rule From local to remote
Rule from remote to local
XSLT transformation
Local WSLA template
Rule From local to remote
Rule From local to remote
Rule from local to remote
+
+
Service consumer
Service provider
VieSLAF Framework
Registry
DB
DB DB
MN and SLA Mapping Middelware MN and SLA Mapping
Middelware
Meta-Negotiation Meta-
Negotiation Local SLA Template
Gridbus Broker
Party 2
1. Publishing
Service Consumer Service Provider
2. Publishing, Querying
5. Negotiation
API
WSDL
6. Service Invocation
Local SLA Template
Party 1
Amadeus Workflow
Alternate Offers
Negotiation Strategy
Aneka
Alternate Offers
Negotiation Strategy
4. Session Establishment
3. Matching
Handshaking
…
Measurement Service
Adaptation Service
Lerning functions
Implementation of MN and SLA Mapping Middleware
• Publishing of MN docs
• Integration into existing clients
• Dependency injection • Successfully tested
with Gridbus Broker and Amadeus workflows
• Implemented as a bunch of WCF services
• Based on role model
MN Middleware SLA Mapping Middleware
WCF services
Service Description
RegistryAdministator Provides methods for the manipulation of the database where administrator rights are required e.g., creation of template categories.
Accounting Used for the creation of consumer’s and provider’s accounts.
Provider Used for the management of template categories and to maintain data of already published services.
WSLAMapping Used for the management of SLA mappings by service consumer and service provider. SLA mappings can be specified for SLAAttributes and SLAELements.
WSLAQuerying Service consumers may search for appropriate services through this service and define appropriate SLA-mappings.
Adaptability Used for specification and maintaining of adaptability functions which are used by the parties, service provider and service consumer, to define their requests about adding, updating or even deleting of SLAParameters in some template category.
Monitoring Service
• Starts after publishing into category • SLAs are parsed and it is identified which SLA have to
be monitored and how • Periodically measured parameters vs. measurement on
request – Parameter pool
• Methods: – Knock in – Retrieve measured parameters from parameter pool
• Composite Metrics – Availability, service request time
• Resource Metrics – Service uptime, number of service invocations
Adaptation Service
• Templates should reflect the majority of SLA templates used by consumers and providers
• Remote Templates are adapted based on submitted SLA Mappings
• Registry administrator may define learning functions – E.g., How often a SLA parameter has to occur
• Once an adaptation is done, all SLA templates are assigned to a new revision
• Monitoring is of SLA parameters is restarted
Meta Negotiation and SLA Mapping Middleware
Case Study: Amadeus Workflows & ANEKA
User Interface
Meta Negotiation and SLA Mapping Middleware
SLA Mapping
Local SLA Template
MND
Meta Negotiation and SLA Mapping Middleware
SLA Mapping
Local SLA Template
MND
Participant specific Negotiation and Planning
Component
Workflow Planner
Negotiator
…
XML config file
XML config file
Event Notification Component
Workflow Planning and Execution Tool
SLA Mapping SLA
Mapping
MND MND
WF
ANEKA
Workflow Modeling
Literature
• R. Buyya, C. S. Yeo, S. Venugopal, J. Broberg, and I. Brandic. Cloud Computing and Emerging IT Platforms: Vision, Hype, and Reality for Delivering Computing as the 5th Utility. Future Generation Computer Systems, Volume 25, Issue 6, June 2009, Pages 599-616, 2009. http://dx.doi.org/10.1016/j.future.2008.12.001
• Ivona Brandic, Dejan Music, Schahram Dustdar. Service Mediation and Negotiation Bootstrapping as First Achievements Towards Self-adaptable Grid and Cloud Services. Grids meet Autonomic Computing Workshop 2009 - GMAC09. In conjunction with the 6th International Conference on Autonomic Computing and Communications Barcelona, Spain, June 15-19, 2009.
• Attila Kertész, Gábor Kecskeméti, Ivona Brandic. An SLA-based Resource Virtualization Approach for On-demand Service Provision. VTDC 2009 - The 3rd International Workshop on Virtualization Technologies in Distributed Computing. In conjunction with the 6th International Conference on Autonomic Computing and Communications Barcelona, Spain, June 15-19, 2009.
40
Questions & Contact information
Ivona Brandic Distributed Systems Group
Information Systems Institute Vienna University of Technology
Austria email: [email protected]
http://www.infosys.tuwien.ac.at/staff/ivona/