description and portability of cloud services with usdl and tosca
DESCRIPTION
The provisioning and management of cloud services are major concerns since they bring clear benefits such as elasticity, flexibility, scalability, and high availability of applications for enterprises. Two emerging contributions set semantics and machine-understandable specifications for the description and portability of cloud-based services: USDL and TOSCA. In this talk we will explain how both can be articulated to work in conjunction. The Unified Service Description Language (USDL) was created for describing business or real world services to allow services to become tradable and consumable on marketplaces. On the other hand, the Topology and Orchestration Specification for Cloud Applications (TOSCA) was standardized to enable the portability of complex cloud applications and their management across different cloud providers.TRANSCRIPT
Jorge Cardoso Dept. Engenharia Informatica/CISUC
University of Coimbra Coimbra, Portugal
// 22 August 2012 //
Department of Informatics IT Management & Consulting
University of Hamburg, Germany
2012 1 Genessiz: Center for Large-Scale Service System Research
Description and portability of cloud services with USDL and TOSCA
Topics
• Motivation for business services
• Service modeling with USDL
• Portability of services with TOSCA
• Putting together USDL and TOSCA
2012 Genessiz: Center for Large-Scale Service System Research 2
Research on services
• Software and IT perspective – SOA, ITIL, WSDL…
• Sales, communications and business
models perspective – Marketing, pricing, channels, …
• Design perspective – Blueprinting, personas, customer journey, …
2012 Genessiz: Center for Large-Scale Service System Research 3
Software and IT perspective • Service architectures
– SOA and SoaML
• Best practices – ITIL and CMMI for Services
• Service description languages
– WSDL , OWL-S, and WSMO
• Business-oriented descriptions – e3value, e3service, business models
2012 Genessiz: Center for Large-Scale Service System Research 4
2012 Genessiz: Center for Large-Scale Service System Research 5 e3value
SoaML
OWL-S
ITIL
WSDL Services as _functions_
Services as _business_
_Business services_
Consulting IT Services Cloud services
Manual Semi-automatic Fully Automated
IT Service modeling
• Service Strategy • Service Design • Service Transition • Service Operation • Continual Service
Improvement
2012 Genessiz: Center for Large-Scale Service System Research 7
Project with Portugal Telecom: _Plug-and-Process_ Services driven by ITIL processes
Service Engineering
2012 Genessiz: Center for Large-Scale Service System Research 8
Service Engineering
• Service modeling • People-centric services • Product-centric services • Process-centric services • Service level • X as a Service • Orchestration and
choreography • Service networks • …
2012 Genessiz: Center for Large-Scale Service System Research 9
/2013/ _New Master degree on IS/IT Service Management
Driving forces
2012 Unified Service Description Language 10
Why Standards? General Requirements
Outsourcing Agility
Cost Savings Quality
Vendor Neutrality Interoperability
Standards benefits ⇦ Defined Contracts ⇦ Speed through Reuse ⇦ Insurance against Failure ⇦ State-of-the-Art Services ⇦ Vendor Neutrality ⇦ Interoperability
2012 Genessiz: Center for Large-Scale Service System Research 11
Adapted from Cloud computing, Bala Rajaraman, IBM Distinguished Engineer,
USDL
Seeing services as products?
2012 Genessiz: Center for Large-Scale Service System Research 13
1. Business perspective adopts a service-dominant logic 2. ICT perspective adopts service-oriented modeling to enable automate
_Paradigm shift _Models, _Laws and _Specs
Modeling services • Common vocabulary • Structure for vocabulary • Multidisciplinary • Complex • People, information and technology • Service system • Internal and external
• USDL
– Unified Service Description Language
2012 Genessiz: Center for Large-Scale Service System Research 14
*-USDL family • a-USDL/2009
– Initial version of USDL ready in 2009. – Later renamed to a-USDL (pronounced alpha-USDL). – http://www.genssiz.org/research/service-modeling/alpha-usdl/
• USDL/2011
– A W3C Incubator group was created USDL was adapted and extended based on industry feedback at the end of 2011.
– http://www.w3.org/2005/Incubator/usdl/
• Linked-USDL/-- – In order to make the specification gain a wider acceptance, a version
called Linked-USDL emerged using Semantic Web principles Iits development is still in progress.
– http://linked-usdl.org/
2012 Genessiz: Center for Large-Scale Service System Research 15
WSDL vs USDL
2012 Unified Service Description Language 16
US DLB us ines s
Operational
Tec hnic al
O perationsF unctionality
R es ources…
P roviderC ons umerB undlingMarketingL egal…
P rotocolsAddress
P orts…
WS DL
Tec hnic al
Made for c omputers (S O A) Made for people (IoS )
AddressP ortArgumentsData type… US DL
B us ines s
Operational
Tec hnic alUS DL
B us ines s
Operational
Tec hnic al
O perationsF unctionality
R es ources…
P roviderC ons umerB undlingMarketingL egal…
P rotocolsAddress
P orts…
WS DL
Tec hnic al
WS DL
Tec hnic al
Made for c omputers (S O A) Made for people (IoS )
AddressP ortArgumentsData type…
2012 Genessiz: Center for Large-Scale Service System Research 17 http://www.genssiz.org/research/service-modeling/alpha-usdl/
http://www.genssiz.org
/Data model/ /Schema/
/Vocabulary/
2012 Genessiz: Center for Large-Scale Service System Research 18
2012 Unified Service Description Language 19
www.internet-of-services.com
http://www.linked-usdl.org/
2012 Genessiz: Center for Large-Scale Service System Research 20
2012 Genessiz: Center for Large-Scale Service System Research 21
Example
2012 Genessiz: Center for Large-Scale Service System Research 22
http://aws.amazon.com/ec2/
:pricing_EC2_Small_EU_Windows_ReservedInstance_Light_1yr a price:PricePlan ; dcterms:description "Price plan for a 'Small' EC2 Reserved Instance in Europe with Windows, light utilization and a one year contract duration."@en ; price:hasContractDuration [ a gr:QuantitativeValue ; gr:hasValueInteger "1" ; gr:hasUnitOfMeasurement "ANN" ] ; price:hasBillingCycle [ a gr:QuantitativeValue ; gr:hasValueInteger "1" ; gr:hasUnitOfMeasurement "MON" ] ; price:hasPriceComponent :priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Upfront , :priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Hourly , :priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Upfront a price:PriceComponent ; dcterms:title "General costs upfront"@en ; dcterms:description "One-time fee for general usage of the instance."@en ; price:isLinkedTo … price:hasPrice [ a gr:UnitPriceSpecification ; gr:hasCurrency "USD" ; gr:hasCurrencyValue "69" ; gr:hasUnitOfMeasurement "C62" ] . :priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Hourly a price:PriceComponent ; dcterms:description "Hourly fee for general usage of the instance."@en ; price:isLinkedTo :resource_EC2_DataCentre_EU , :resource_EC2_Windows ; price:hasPrice [ a gr:UnitPriceSpecification ; gr:hasCurrency "USD" ; gr:hasCurrencyValue "0.069" ; gr:hasUnitOfMeasurement "HUR" ] .
@prefix price: <http://www.linked-usdl.org/ns/usdl-pricing#>
2012 Genessiz: Center for Large-Scale Service System Research 24
Core
2012 Genessiz: Center for Large-Scale Service System Research 25
Core
<#service_EC2_Small> a usdl:Service ; dcterms:created "2012-05-18"^^xsd:date ; dcterms:modified "2012-05-22"^^xsd:date ; dcterms:title "EC2 instance 'small'"@en ; usdl:hasNature usdl:Automated ; usdl:hasProvider :provider_Amazon ; usdl:hasLegalCondition :legal_Amazon ; usdl:hasPartMandatory <#service_Support_Basic> ; usdl:hasPartOptional <#service_Support_Bronze> , <#service_Support_Silver> , <#service_Support_Gold> , <#service_Support_Premium> ; gr:quantitativeProductOrServiceProperty :resource_EC2_Small_MainMemory , :resource_EC2_Small_ComputeUnit , :resource_EC2_Small_Storage ; gr:qualitativeProductOrServiceProperty :resource_EC2_Small_IO , :resource_EC2_PrivateIP , :resource_EC2_PublicIP . :resource_EC2_Small_MainMemory a cloud:MainMemory ; gr:hasUnitOfMeasurement "4L" ; gr:hasValue "1700" . :resource_EC2_Small_ComputeUnit a cloud:CPU ; gr:hasUnitOfMeasurement "A86" ; gr:hasMinValue "1.0" ; gr:hasMaxValue "1.2" ; gr:valueReference [ a cloud:NumberOfCores ; gr:hasValue "1" ] .
2012 Genessiz: Center for Large-Scale Service System Research 26
2012 Genessiz: Center for Large-Scale Service System Research 27
SLA
2012 Genessiz: Center for Large-Scale Service System Research 28
SLA
:slp_Support_Silver a usdl:ServiceLevelProfile ; dcterms:title "Bronze support service level profile" ; sla:hasServiceLevel :slo_Support_Silver_ResponseTime . :slo_Support_Silver_ResponseTime a sla:GuaranteedState ; dcterms:title "Response time" ; sla:serviceLevelExpression [ a sla:ServiceLevelExpression ; dcterms:description "Maximum period in which response is sent."@en ; sla:hasVariable :var_Support_Silver_ResponseTime ] . :var_Support_Silver_ResponseTime a sla:Variable ; rdfs:label "Fastest guaranteed response" ; sla:hasDefault [ a support:ResponseTime ; gr:hasValue "4" ; gr:hasUnitOfMeasurement "HUR" ] .
2012 Genessiz: Center for Large-Scale Service System Research 29
:legal_Amazon a legal:TermsAndConditions ; dcterms:title "Amazon Web Services LLC's legal statements"@en ; dcterms:description "Amazon Web Services LLC's legal statements are accessible at 'http://aws.amazon.com/legal/'. Please consult this website for further information"@en ; legal:hasClause [ a legal:Clause ; legal:name "AWS Customer Agreement" ; legal:text "http://aws.amazon.com/agreement"@en ] , [ a legal:Clause ; legal:name "AWS Services" ; legal:text "http://aws.amazon.com/serviceterms"@en ] , [ a legal:Clause ; legal:name "AWS Acceptable Use Policy" ; legal:text "http://aws.amazon.com/aup"@en ] , [ a legal:Clause ; legal:name "AWS Trademark Guidelines" ; legal:text "http://aws.amazon.com/trademark-guidelines"@en ] , [ a legal:Clause ; legal:name "AWS Sites" ; legal:text "http://aws.amazon.com/terms"@en ] , [ a legal:Clause ; legal:name "Privacy Policy" ; legal:text "http://aws.amazon.com/privacy"@en ] , [ a legal:Clause ; legal:name "AWS Tax Help" ; legal:text "http://aws.amazon.com/tax-help"@en ] .
2012 Genessiz: Center for Large-Scale Service System Research 30
@prefix legal: <http://www.linked-usdl.org/ns/usdl-legal#> Legal
Standardization • W3C Standards
– HTML, Ajax, HTTP, XML, WSDL, … – + USDL (?) – http://www.w3.org/
• OASIS Standards – TOSCA, USSI, WS-*, ebXML, … – + USDL (?) – http://www.oasis-open.org/
• OMG Standards
– BPMN, UML, CORBA, XMI , … – + USDL (?) – http://www.omg.org/
2012 Genessiz: Center for Large-Scale Service System Research 31
2012 Genessiz: Center for Large-Scale Service System Research 32
TOSCA
TOSCA Goal
2012 Genessiz: Center for Large-Scale Service System Research 33
TOSCA • Topology and Orchestration Specification for Cloud Applications
• Service Template
– Topology (structure) and the orchestration (invocation and management behaviour) of an IT Service.
• Automation (semi)
– Creation and management of the service
• Decoupling – Supplier creating the service from any particular cloud provider and
the technology hosting that service
• Goal – Compose a service once and play on any cloud
2012 Genessiz: Center for Large-Scale Service System Research 34
Service Template • Node Types
– Building blocks of application – Management functions these
building blocks
• Relationship Types – Relations between these building
blocks
• Plans – Procedures to manage the
application
• Group Template – Collection of node types and
relationship types – For reuse purposes
2012 Genessiz: Center for Large-Scale Service System Research 35
Service Template
2012 Genessiz: Center for Large-Scale Service System Research 36
Prop
ertie
s
Interfaces
Node Template
Topology Template
type for
Node Type
Relationship Template
Node Types
Plans
type for
Prop
ertie
s
Relationship Type Relationship Types
Group Template
Plans » Nodes • Task of a plan refers to
interface of a topology node
• Node specifies all interfaces offered to manage it – Interface is bound to a
concrete implementation
• Implementation – Available at providers side, or – Copied from somewhere, or – Standardized Cloud Interface
(Iaas, PaaS, SaaS) is used, or ...
2012 Genessiz: Center for Large-Scale Service System Research 37
Create Cluster … …
WebSphere Cell …
Script - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Overview
2012 Genessiz: Center for Large-Scale Service System Research 38
How ...
----
----
----
----
----
----
----
----
----
OVF OVF OVF
With ... Scripts Workflows EAR (EJBs,…) BPEL
The images of the middleware (DB2, Websphere,…) required to run the application
The business logic of the application, e.g. EJBs, JSPs, JPEG,…
(Existing) scripts used by task of plans to manage the cloud application
(Existing) workflows used by subprocess-tasks of plans
Topology Orchestration (Plans)
Tobias Kunze, Red Hat, TOSCA & The Government Sector
The Service Template
2012 Genessiz: Center for Large-Scale Service System Research 39
<ServiceTemplate …> <Extensions/>? <Import />* <Types/>? ( <TopologyTemplate/> | <TopologyTemplateReference/> )? <NodeTypes/>? <RelationshipTypes/>? <Plans/>? </ServiceTemplate>
USDL & TOSCA
2012 USDL roadmap 40
The_Goal = /USDL + TOSCA/
2012 Genessiz: Center for Large-Scale Service System Research 41
1. Create
3. Publish
4. Browse and Select
5. Provision 6. Use
Service Template
Service Instance
2. Create
TOSCA and USDL Different conceptual goals
2012 Genessiz: Center for Large-Scale Service System Research 42
TOSCA USDL
Describes the structure of an application and its management (which is executable)
Goal: Portability and full-automated management of applications
Describes the functional and non-functional requirements, capabilities, and interfaces of an application
Goal: Description of the interfaces and properties of an application to make it searchable, comparable, and tradable
TOSCA and USDL Different conceptual goals
2012 Genessiz: Center for Large-Scale Service System Research 43
TOSCA USDL
Topology Management Plans
…
Interfaces & functional
capabilities
Functions
Bindings
Operations
…
Non-functional capabilities
Pricing
Legal
Service Level
TOSCA and USDL Different conceptual goals
2012 Genessiz: Center for Large-Scale Service System Research 44
TOSCA USDL
Topology Management Plans
…
Interfaces & functional
capabilities
Functions
Bindings
Operations
…
Non-functional capabilities
Pricing
Legal
Service Level
„New WSDL“ for any services
„New WS-Policy“ for any services (with
domain-specific Modules: Pricing,…)
TOSCA and USDL Combination of both concepts
2012 45
Topology Management Plans
Interfaces & functional capabilities
…
Functions
Bindings
Operations
Non-functional capabilities
…
Pricing
Legal
Service Level CSAR
TOSCA USDL
TOSCA and USDL Combination of both concepts
2012 46
Topology Management Plans
Interfaces & functional capabilities
…
Functions
Bindings
Operations
Non-functional capabilities
…
Pricing
Legal
Service Level CSAR
TOSCA USDL
Declarative Declarative
Declarative
Imperative
USDL to support TOSCA-based marketplaces
2012 47
Marketplace
Cloud Provider
TOSCA Container
<> rdf:type usdl:ServiceDescription ; rdfs:label "SurgarCRM description" ; dcterms:title "SurgarCRM description" ; dcterms:description "Description of SurgarCRM (www.sugarcrm.com) cloud-based system to show the integration USDL-TOSCA." ; dcterms:contributor [ a foaf:Person ; foaf:name "Jorge Cardoso" ; foaf:firstName "Jorge" ; foaf:lastName "Cardoso" ] ; dcterms:created "2012-08-14"^^xsd:date ; dcterms:modified "2012-08-18"^^xsd:date ; owl:versionInfo "002" . :SugarCRM_Edition a rdfs:Class , skos:Concept ; rdfs:subClassOf gr:QualitativeValue ; skos:prefLabel "SurgarCRM Software Packages Editions" ; skos:editorialNote "SurgarCRM declares their editions as qualitative measure in the categories: Professional, Coporate, Enterprise and Ultimate." ; skos:narrower :SugarCRM_Professional , :SugarCRM_Corporate , :SugarCRM_Enterprise , :SugarCRM_Ultimate . :SugarCRM_Professional a rdfs:Class , skos:Concept ; rdfs:subClassOf gr:QualitativeValue ; skos:prefLabel "SurgarCRM Software Packages Edition Corporate" ; skos:broader :SugarCRM_Edition ; skos:narrower :SugarCRM_Corporate .
2012 Genessiz: Center for Large-Scale Service System Research 49
End