Cloud Platforms: Concepts, Definitions, Architectures And .

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 .