Transcription
Cloud Platforms: Concepts, Definitions,Architectures and Open IssuesSamir Tata, Institut Mines-TélécomTélécom SudParisInstitut Mines-Télécom
Outline 1Concepts & DefinitionsArchitecturesStandardsOpen issuesConclusionInstitut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:Concepts & DefinitionsInstitut Mines-Télécom
Cloud business model: Client benefits Pay by use instead of provisioning for peakCapacityCapacity3Institut Mines-TélécomIWAISE 2012, Constantine
Cloud business model: Provider benefits Share capabilities (resources, services, etc.)5040302010040Demand 1CapacityDemand 1 Demand 2Demand 2Capacity2004Institut Mines-TélécomIWAISE 2012, ConstantineCapacity
What is Cloud Computing Not yet a common definition Some definitions A style of computing where massively scalable IT-enabled capabilities areprovided "as a service" over the network (Petroleum Federation of India) A large-scale distributed computing paradigm that is driven by economiesof scale, in which a pool of abstracted, virtualized, dynamically-scalable,managed computing power, storage, platforms, and services aredelivered on demand to external customers over the Internet (Foster et al2008) Clouds, or clusters of distributed computers, provide on-demandresources and services over a network, usually the Internet, with thescale and reliability of a data center (Grossman 2009). Cloud computing is a model for enabling ubiquitous, convenient, ondemand network access to a shared pool of configurable computingresources (e.g., networks, servers, storage, applications and services)that can be rapidly provisioned and released with minimal managementeffort or service provider interaction (NIST).5Institut Mines-TélécomIWAISE 2012, Constantine
Cloud computing vs X computingVoas, J., & Zhang, J. (March/April 2009). Cloud computing: New wine or just a new bottle? IEEEITPro, 15–17.6Institut Mines-TélécomIWAISE 2012, Constantine
Worldwide Cloud Spending by category7Institut Mines-TélécomIWAISE 2012, Constantine
Worldwide Cloud Spending by consumptionCompound AnnualGrowth Rate8Institut Mines-TélécomIWAISE 2012, Constantine
Cloud models and services Models Private : enterprise ownedPublic: sold to publicHybrid: composition of different cloud modelsVirtual: intermediate cloud clients and cloud providers (differentmodels) Community: shared for a specific community Services 9IaaS: ready to use storage, computing and/or network resourcesPaaS: ready to use platforms to host client created applicationsSaaS: ready to use softwareXaaS: DaaS, NaaS, etc.Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Provision10Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Computing Taxonomy11Institut Mines-TélécomIWAISE 2012, Constantine11
Traditional platform ? A platform is a software that is a software used to develop, deploy, host, run and/or managesoftware application includes support programs, compilers, code libraries, anapplication programming interface (API) and tool sets Developers focus on business code, the platforms provides therest (ensure non functional properties) Example 12ApacheTomcatJbossJVMInstitut Mines-TélécomIWAISE 2012, Constantine
PaaS A PaaS is a platform with more cost-effective model for application development anddelivery functionalities provided as (virtualized) services Definition Delivery of a computing platform and solution stack as a service.It facilitates deployment of applications without the cost andcomplexity of buying and managing the underlying hardware andsoftware layers. Virtualized services Whatever its location, implementation, etc. Example: bank services Composable à Platform a la carte13Institut Mines-TélécomIWAISE 2012, Constantine
PaaS Examples Comercial Amazon Web Services (AWS)Google AppEngineSalesforce.comMicrosoft AzureEtc Open Source OpenShift CloudFoundry Etc14Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:ArchitecturesInstitut Mines-Télécom
Architecture ? Traditional platform : set of components for Automatic deployment (somehow) Monitoring Manual sizing à do not meet Cloud requirements PaaS architecture Automatic management: architecture where components shouldbe automatically managed Elasticity: resource provisioning evolves with resource demand16Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Foundry17Institut Mines-TélécomIWAISE 2012, Constantine
OpenShift18Institut Mines-TélécomIWAISE 2012, Constantine
CloudBees Architecture19Institut Mines-TélécomIWAISE 2012, Constantine
Microsoft Azure20Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:StandardsInstitut Mines-Télécom
Cloud Standards Resource abstraction DMTF Open Virtualization Format (OVF) DaaS API SNIA Cloud Data Management Interface (CDMI) IaaS management API OGF Open Cloud Computing Interface (OCCI) PaaS OASIS TOSCA OASIS CAMP SaaS22Institut Mines-TélécomIWAISE 2012, Constantine
OGF OCCI: Use case23Institut Mines-TélécomIWAISE 2012, Constantine
What is OCCI ? Open Cloud Computing Interface (OCCI) RESTful Protocol for management tasks Flexible API with a strong focus on interoperability while still offering a highdegree of extensibility. OCCI specification: OCCI Core OCCI Renderings: RESTful HTTP rendering OCCI Extensions: Infrastructure24Institut Mines-TélécomIWAISE 2012, Constantine
Occi core Model Overview25Institut Mines-TélécomIWAISE 2012, Constantine
OCCI Infrastructure26Institut Mines-TélécomIWAISE 2012, Constantine
Actions and states Compute Actions: start, stop, restart, suspend Storage Actions: online, offline, backup, snapshot, resize Network Actions: up, down27Institut Mines-TélécomIWAISE 2012, Constantine
Mixin28Institut Mines-TélécomIWAISE 2012, Constantine
OCCI Rendering Creating a resource instance 29 POST /compute/ HTTP/1.1 [.] Category: compute; scheme "http://schemas.ogf.org/occi/infrastructure#"; class "kind"; X-OCCI-Attribute: occi.compute.cores 2 X-OCCI-Attribute: occi.compute.hostname "foobar" [.] HTTP/1.1 201 OK [.] Location: http://example.com/vms/foo/vm1Institut Mines-TélécomIWAISE 2012, Constantine
OCCI Rendering Retrieving All resource instances Belonging to Mixin or Kind GET /compute/ HTTP/1.1 [.] HTTP/1.1 200 OK [.] X-OCCI-Location: http://example.com/vms/foo/vm1 X-OCCI-Location: http://example.com/vms/foo/vm2 X-OCCI-Location: http://example.com/vms/bar/vm1 Triggering Actions on All Instances of a Mixin or Kind 30 POST /compute/?action stop HTTP/1.1 [.] Category: stop; scheme "[.]"; class "action"; X-OCCI-Attribute: method "poweroff“Institut Mines-TélécomIWAISE 2012, Constantine
OCCI Rendering Triggering an Action on a resource instance 31 POST /vms/foo/vm1?action stop HTTP/1.1 [.] Category: stop; scheme "[.]"; class "action"; X-OCCI-Attribute: method "poweroff" HTTP/1.1 200 OK [.]Institut Mines-TélécomIWAISE 2012, Constantine
OCCI Rendering Inline Creation of a Link Instance 32 POST /compute/ HTTP/1.1 [.] Category: compute;scheme s "kind"; Link: /network/123 ;rel k";category kinterface";occi.networkinterface.interface "eth0";occi.networkinterface.mac "00:11:22:33:44:55"; X-OCCI-Attribute: occi.compute.cores 2 X-OCCI-Attribute: occi.compute.hostname "foobar" [.] HTTP/1.1 200 OK [.] Location: http://example.com/vms/foo/vm1Institut Mines-TélécomIWAISE 2012, Constantine
OCCI PaaS extension3333Institut Mines-TélécomIWAISE 2012, Constantine
TOSCA: Structural Elements of a ServiceTemplate and their Relations34Institut Mines-TélécomIWAISE 2012, Constantine
TOSCA: Requirements and Capabilities35Institut Mines-TélécomIWAISE 2012, Constantine
TOSCA: Composition of Service Templates36Institut Mines-TélécomIWAISE 2012, Constantine
TOSCA: sample37Institut Mines-TélécomIWAISE 2012, Constantine
applicaJon(BPEL,BPMN,HumanTasks, )38EAR(EJBs, G, Institut B2,Websphere, )requiredtoruntheapplicaJon- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐With.- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- ‐- orkflowsusedbybytaskofplanstosubprocess- ‐tasksofplansmanagethecloudapplicaJonIWAISE 2012, Constantine38
Cloud Platforms:Open issuesInstitut Mines-Télécom
Open issues Design time Software development Deployment Several public clouds Hybrid clouds Run time Elasticity Federation Portability, Migration & Mobility Simulation40Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:Software developmentInstitut Mines-Télécom
Application development Traditional platforms Focus non business Benefit from non functional properties Cloud platform Case 0: development unchanged Elasticity (engine granularity) Case 1: API-based developments Lock-in Case 2: plain development Change of practices Case 3: hybrid ?42Institut Mines-TélécomIWAISE 2012, Constantine
Case 0: Cloud Foundry43Institut Mines-TélécomIWAISE 2012, Constantine
Case 1: API-based developments Google App Engine API provisioning, reporting, and migration, as well as manipulatingdata in Calendar and Spreadsheets44Institut Mines-TélécomIWAISE 2012, Constantine
Case 2: CloudServ45page 45Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:ElasticityInstitut Mines-Télécom
Elasticity principals47Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals48Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals49Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals50Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals51Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals52Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals53Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity principals54Institut Mines-TélécomIWAISE 2012, Constantine
The case of a Web service container55Institut Mines-TélécomIWAISE 2012, Constantine
Cost per service rvice deployed56Institut Mines-TélécomIWAISE 2012, Constantine
Platform signatureCost per serviceTraditional platform PaaSNb of deployed services57Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity Modeling Conceptual Framework(VUT)58Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity t Mines-TélécomIWAISE 2012, Constantine
Example: JEE Elasticity60Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity in GlasFish Dynamic Service Provisioning: service dependencies are discovered by introspecting theapplication archive required services such as Java EE, Database, and Load Balancerare provisioned. These services can be dedicated to the application or shared by differentapplications. Elasticity using Auto-scaling Monitoring application flows Indicators aggregation Automatically resizing to meet the growing demands using autoscaling.61Institut Mines-TélécomIWAISE 2012, Constantine
Example: BPM elasticity62Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity at the SaaS level63IniFalstateDuplicaFon(S,s3 1,s3 2)Institut Mines-TélécomConsolidaFon(S,s3 2,s3 1)IWAISE 2012, Constantine
Elasticity at the SaaS level64Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity at the SaaS level65Institut Mines-TélécomIWAISE 2012, Constantine
Elasticity in CloudServ66page 66Institut Mines-TélécomIWAISE 2012, Constantine
CloudServ ExperimentsMemory (kb)NumberofdeployedservicesNumber of virtual machines 4 VMTotal memory used 4 * 512 kb67Page 67Institut Mines-TélécomIWAISE 2012, Constantine
Cloud Platforms:DeploymentInstitut Mines-Télécom
The need for a generic *-PaaS API Interaction with several PaaS providers:69Institut Mines-TélécomIWAISE 2012, Constantine69
The *-PaaS API User API Application Management Operations (create, delete, start, etc.)Environment Management Operations (create, delete, deploy, etc.)Monitoring & Logging Management Operations (describe events, logs, etc.) Admin API User Management (create, delete and describe user)PaaS Management (deploy, start, stop, provision, etc.) The specification is available at:http://www-inf.it-sudparis.eu/ sellami/PaaS-API-Specification.pdf70Institut Mines-TélécomIWAISE 2012, Constantine70
Cloud Platforms:Deployment on hybrid cloudsInstitut Mines-Télécom
Deployment on hybrid clouds: when? For matter of resources Already deployed applications request more resources the privatecloud could not provide. Already deployed applications release resources so that a redeployment can be envisaged to release allocated resources inthe public cloud. New deployment requests to be fulfilled can not be satisfied bythe private cloud. For matter of good properties Good non functional properties provided by public cloud whichcan not be enforced/maintained in private cloud (e.g. persistency)72Institut Mines-TélécomIWAISE 2012, Constantine
Deployment on hybrid clouds: Example (1/2)SBA graph of the on-line store73Institut Mines-TélécomIWAISE 2012, Constantine
Deployment on hybrid clouds: Example (2/2)Deployment of service composition on hybrid cloudExample: HQ 25, α 15, β1 1 and β2 1074Institut Mines-TélécomIWAISE 2012, Constantine
Deployment on hybrid clouds: objective ? Parameters The need of resources from public cloud (units of platformresources required) noted HQ, unit cost no
Manual sizing ! do not meet Cloud requirements PaaS architecture Automatic management: architecture where components should be automatically managed Elasticity: resource provisioning evolves with resource demand . 17 Institut Mines-Télécom IWAISE 2012, Constantine Cloud Foundry . 18 Institut Mines-Télécom IWAISE 2012, Constantine OpenShift . 19 Institut Mines-Télécom IWAISE .