Cloud Modelling Language (CloudML) · •Scalability •Performance •Availability •Cost . s...

Post on 17-Oct-2020

0 views 0 download

Transcript of Cloud Modelling Language (CloudML) · •Scalability •Performance •Availability •Cost . s...

s Technology for a better society

Cloud Modelling Language (CloudML)

Alessandro Rossini

INF5120

6 May 2013

s Technology for a better society

Alessandro Rossini

s Technology for a better society

Alessandro Rossini

Education

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen Employment

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen Employment • 2007 Software engineer, Integrator, Bergen

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, Universitetet i Bergen

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, Universitetet i Bergen • 2012 Lecturer, Høgskolen i Bergen

s Technology for a better society

Alessandro Rossini

Education • 2004-2006 M.Sc., Università dell'Aquila (Italia) Universitetet i Bergen • 2008-2011 Ph.D., Universitetet i Bergen Employment • 2007 Software engineer, Integrator, Bergen • 2008-2012 Research fellow, Universitetet i Bergen • 2012 Lecturer, Høgskolen i Bergen • 2012- Research scientist, SINTEF, Oslo

s Technology for a better society

Cloud computing

s Technology for a better society

Cloud computing

A computing model enabling ubiquitous network access to a shared and virtualised pool of

computing capabilities (e.g., network, storage, processing, and memory) that can be rapidly provisioned with minimal management effort

source: NIST

s Technology for a better society

source: Graviant

s Technology for a better society

IaaS PaaS SaaS

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

IaaS PaaS SaaS

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

IaaS PaaS SaaS

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

Cons

umer

Pr

ovid

er

IaaS PaaS SaaS

s Technology for a better society

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Applications

Data

Run-time

OS

Virtualisation

Servers

Storage

Network

Cons

umer

Pr

ovid

er

Cons

umer

Pr

ovid

er

Prov

ider

IaaS PaaS SaaS

s Technology for a better society

Benefits

• Scalability

• Performance

• Availability

• Cost

s Technology for a better society

Challenges

• Heterogeneity

• Incompatibility

• Lack of standards

• Lack of methodologies

s Technology for a better society

CloudML

s Technology for a better society

Amazon AWS Rackspace

IBM SmartCloud Terramark

s Technology for a better society

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Stacks

s Technology for a better society

jclouds Simple Cloud Deltacloud

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Libraries

Stacks

s Technology for a better society

Cloudify Cloud Foundry Scalr

jclouds Simple Cloud Deltacloud

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Frameworks

Libraries

Stacks

s Technology for a better society

Cloudify Cloud Foundry Scalr

jclouds Simple Cloud Deltacloud

Amazon AWS OpenStack vCloud

Amazon AWS Rackspace

IBM SmartCloud Terramark

Frameworks

Libraries

Stacks

PaaS

IaaS

s Technology for a better society

CloudML

• Domain-specific language (DSL) for modelling the provisioning and deployment of multi-cloud systems at design-time

• Models@run-time environment for enacting the provisioning and deployment of these systems at run-time

s Technology for a better society

EU Projects

• MODAClouds

• PaaSage

• REMICS

s Technology for a better society

Resources

• http://cloudml.org (overhaul coming soon)

• https://github.com/SINTEF-9012/cloudml/

s Technology for a better society

Design-time

s Technology for a better society

Cloud Provider-Independent Model (CPIM)

s Technology for a better society

CPIM

• Generic provisioning and deployment model that is independent of the cloud provider

s Technology for a better society

CPIM

• Generic provisioning and deployment model that is independent of the cloud provider

• Consists of node types and artefacts types

s Technology for a better society

Node type

• Generic virtual machine – a virtual machine running GNU/Linux

s Technology for a better society

Node type

• Provisioning requirements – 2 cores ≤ compute ≤ 4 cores

– 2 GiB ≤ memory ≤ 4 GiB

– storage ≥ 10 GiB

– location = Europe

s Technology for a better society

Node type example (JSON) "nodeTypes": [

{

"id": "SmallGNULinux",

"os": "GNULinux",

"compute": [ 2, 4 ],

"memory": [ 2048, 4096 ],

"storage": [ 10240 ],

"location": "eu",

"provides": [

{ "id": "SSHCapability" }

]

}

]

s Technology for a better society

Artefact types

• Generic component of the application – a Java servlet of an application for document

collaboration

– a Jetty container

– a MongoDB database

s Technology for a better society

Artefact types

• Deployment commands – retrieve the Java servlet from cloudml.org

– configure it

– run it

s Technology for a better society

Artefact types

• Deployment dependencies – the Jetty container and the MongoDB database have

to be deployed before the Java servlet

s Technology for a better society

Artefact types

• Communication channels – a Java servlet communicates with another Java

servlet through Hypertext Transfer Protocol Secure (HTTPS) on port 443

s Technology for a better society

Artefact A Artefact B

Artefact C

Provided applicative capability

Communication channel

Required applicative capability

Provided deployment capability

Required deployment capability

Dependency

Resources (binaries, scripts, etc.)

s Technology for a better society

Artefact type example (JSON) "artefactTypes": [

{

"id": "MongoDB",

"retrieval": "wget http://cloudml.org/services/mongodb.sh",

"deployment": "sudo mongodb.sh",

"provides": [

{ "id": "MongoDBCapability" }

]

},

s Technology for a better society

Artefact type example (JSON) …

{

"id": "Jetty",

"retrieval": "wget http://cloudml.org/services/jetty.sh",

"deployment": "sudo jetty.sh",

"provides": [

{ "id": "JettyCapability" }

]

},

s Technology for a better society

Artefact type example (JSON) …

{

"id": "Docs",

"retrieval": "wget http://cloudml.org/apps/docs.war; wget http://cloudml.org/apps/docs_configure.sh; wget http://cloudml.org/apps/docs_deploy.sh",

"configuration": "sudo docs_configure.sh",

"deployment": "sudo docs_deploy.sh",

"requires": [

{ "id": "JettyCapability" },

{ "id": "MongoDBCapability" }

]

}

]

s Technology for a better society

Cloud Provider-Specific Model (CPSM)

s Technology for a better society

CPSM

• Specific provisioning and deployment model that is dependent on the cloud provider

s Technology for a better society

CPSM

• Specific provisioning and deployment model that is dependent on the cloud provider

• Consists of node instances and artefact instances

s Technology for a better society

Node instance

• Instance of a virtual machine on a specific cloud provider – a virtual machine running GNU/Linux on Amazon EC2

s Technology for a better society

Node instance example (JSON) "nodeInstances": [

{

"id": "aws1",

"type": "SmallGNULinux",

"provider": "aws-ec2",

"provides": [

{

"id": "ssh1",

"type": "SSHCapability"

}

]

}

]

s Technology for a better society

Artefact instance

• Instance of a component of the application on a specific virtual machine – an instance of the Java servlet on the virtual

machine above

– an instance of the Jetty container on …

– an instance of the MongoDB database on …

s Technology for a better society

Artefact instance example (JSON) "artefactInstances": [

{

"id": "mongodb1",

"type": "MongoDB",

"provides": [

{

"id": "mongodb1",

"type": "MongoDBCapability"

}

]

},

s Technology for a better society

Artefact instance example (JSON) …

{

"id": "jetty1",

"type": "Jetty",

"provides": [

{

"id": "jetty1",

"type": "JettyCapability"

}

]

},

s Technology for a better society

Artefact instance example (JSON) …

{

"id": "docs1",

"type": "Docs",

"destination": "aws1",

"requires": [

{ "id": "jetty1" },

{ "id": "mongodb1" }

]

}

]

s Technology for a better society

Cloud Provider-Independent Model

JSON XMI …

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

JSON XMI …

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

Provisioning and Deployment

JSON XMI

jclouds

Cloudify …

s Technology for a better society

Cloud Provider-Independent Model

Cloud Provider-Specific Model

Models@run-time

Provisioning and Deployment

JSON XMI

jclouds

Cloudify

Amazon AWS

Rackspace …

s Technology for a better society

Run-time

s Technology for a better society

Models@run-time

• CPSM causally connected to the running system

• A change in the CPSM is reflected on-demand in the running system

• A change in the running system is automatically reflected in the CPSM

s Technology for a better society

Models@run-time

Current CPSM

s Technology for a better society

Models@run-time

Current CPSM

Reasoning

s Technology for a better society

Models@run-time

Current CPSM

Reasoning Target CPSM

s Technology for a better society

Models@run-time

Current CPSM

Reasoning Model Checking

Target CPSM

s Technology for a better society

Models@run-time

Current CPSM

Target CPSM

Reasoning Model Checking

Target CPSM

s Technology for a better society

Models@run-time

Current CPSM

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

s Technology for a better society

Models@run-time

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

s Technology for a better society

Models@run-time

Provisioning and Deployment

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

s Technology for a better society

Models@run-time

Provisioning and Deployment

Current CPSM Adaptation

Target CPSM

Reasoning Model Checking

Target CPSM

Diff

s Technology for a better society

Provisioning and deployment

• Provisioning requirements

• Deployment commands

• Deployment dependencies

• Communication channels

s Technology for a better society

Provisioning and deployment

• Provisioning requirements

• Deployment commands

• Deployment dependencies

• Communication channels

• Expressed with CloudML

s Technology for a better society

Service-Level Agreement (SLA)

• Internal QoS requirements – compute load ≤ 90%

– memory load ≤ 90%

• External QoS requirements – response time ≤ 1s

s Technology for a better society

Service-Level Agreement (SLA)

• Internal QoS requirements – compute load ≤ 90%

– memory load ≤ 90%

• External QoS requirements – response time ≤ 1s

• Not expressed with CloudML

s Technology for a better society

Service-Level Agreement (SLA)

• Adaptation rules – if response time > 1s then scale out by provisioning a

new virtual machine

– if compute load ≤ 10% then scale down by deprovisioning an existing virtual machine

s Technology for a better society

Service-Level Agreement (SLA)

• Adaptation rules – if response time > 1s then scale out by provisioning a

new virtual machine

– if compute load ≤ 10% then scale down by deprovisioning an existing virtual machine

• Not expressed with CloudML, but enacted through CloudML

s Technology for a better society

Reference

Nicolas Ferry, Alessandro Rossini, Franck Chauvel, Brice Morin, Arnor Solberg

Towards model-driven provisioning, deployment, monitoring, and adaptation of multi-cloud systems

In IEEE CLOUD 2013

To appear

s Technology for a better society

Demo

s Technology for a better society

Thank you!

? Follow me:

twitter.com/alerossini

alessandrorossini.org