& SLA
CompatibleOne & le SLA Définitions et socle technologique Modèle de représentation du SLA L instanciation d un SLA dans Accords Conclusions 2
Cloud Définition du NIST 5 caratéristiques essentielles On-demand self service Broad network access Resource pooling Rapid elasticity Measured service 3 niveaux de service IaaS / PaaS (Developer) / SaaS (user) 4 Modèles de déploiement Privé/ Public/ Communautaire /Hybride Les constituants d un service : Eléments techniques : les composants logiciels, les accès aux données Qualité de service : Conditions de déploiement et les garanties 3
Cloud Broker Consumer = End user or Cloud Provider Transcoding & Streaming services Cloud Providers Cloud Consumer Requirements SLA & Resources Manifests SLA Manifest & Quotas OSPROCCI Cloud Provider Capabilities CompatibleOne ONPROCCI AZPROCCI XXPROCCI End Users Consumer Side Resources Manifests Transcoding Node Manifest Transcoding Manifest Transcoding SLA Transcoding services Cloud Provider(s) Side Available Resources : Quotas.xml resources and prices Resource Usage Conditions Cloud Provider SLA ( / Conditions / Guarantees) 4
Le cycle de vie d un service Cloud Consommateur = End user () Définition du niveau de service à partir des services disponibles (offre de service) (2) Déploiement du service instanciation (3) Surveillance de service (mode opérationnel) & adaptation (4) Fin du service Consommateur = Cloud Provider Définition de l offre de () Commercialisation (2)-(3)-(4) Production Gouvernance : adaptation de l offre de service 5
Le modèle de représentation du SLA AGREEMENTS AGREEMENTS *Terms s Terms Manifest Used for Provisionning *Term Manifest Conditions Terms Variable Used for Placement Provider *Quota Garanties Terms Business Used for Monitoring Garantees (0-) Variable Variable *Business Variable *Metric WS-Agreement Compliant Schemas de reference : Cordstypes.xsd, Quotatype.xsd, Slam.xsd 6
Exemple de Resources Manifests Node Manifest <?xml version=".0" encoding="utf8"?> <manifest name="simpledemonode" xmlns="http://www.compatibleone.fr/schemes/manifest.xsd"> <node name="demo" type="simple" access="public" scope="normal" provider="any" > <infrastructure name=":demo"> <compute name=":small" architecture="x86" cores="" memory="g" speed="g"/> <storage name=":small" size="0g"/> <network name="compatibleone" label="ethernet" vlan="00m"> <port name="ssh" protocol="tcp" from="22" to="22"/> <port name="cosacs" protocol="tcp" from="8286" to="8286"/> <port name="http" protocol="tcp" from="80" to="80"/> <port name="stream" protocol="tcp" from="8088" to="8088"/> <port name="command" protocol="tcp" from="0088" to="0088"/> </network> </infrastructure> <image name=":demo" agent="none"> <system name="ubuntu" /> </image> </node> <configuration/> <release/> <interface/> <account name="demo"/> <security/> </manifest> Manifest <?xml version=".0" encoding="utf8"?> <manifest name="demo-4bvs" xmlns="file:///root/compatibleone/demo/manifest.xsd"> <node name="bvs-vm" type="bvsnode" /> <node name="bvs-vm2" type="bvsnode" /> <node name="bvs-vm3" type="bvsnode" /> <node name="bvs-vm4" type="bvsnode" /> <configuration name=":conf"> </configuration> <interface name=":interface"/> <account name="demo"> </account> <security name=":security"/> EASI-CLOUDS </manifest> 7 7
Exemple de SLA Manifest <? xml version=".0" encoding="utf8"?> <agreement name="sla-demo-4" xmlns="file:///root/compatibleone/demo/slam.xsd" initiator="demo" responder="accords" serviceprovider="responder" description="example" initiation="now" expiration="never" template="none"> <terms name=":s" type="services"> <term name=":s" > <manifest name="demo-4bvs"/> </term> </terms> <terms name=":c" type="conditions"> <term name=":ca" > <variable name=":va" property="occi.placement.algorithm" condition="eq" value=""/> </term> <term name=":cp" > <variable name=":vp" property="occi.placement.provider" condition="eq" value="openstack"/> </term> </terms> <terms name=":g" type="guarantees"> <term name=":g" > <variable property="cpu:usage" condition= " greater" value=50%"/> <business nature= " penalty" expression="cordscript:new alert();"/> <business nature="reward" expression="cordscript:packet.consume();"/> </term> </terms> </agreement> EASI-CLOUDS 8 8
La gestion des conditions de services Le placement Les variables : Provider type, Operator Name, Zone, Provider Rating, Security, Energy Les algorithmes de placement prévus (Default/ Scripted/ Provider / Zone/ Security / Energy / Reputation) Scripted : Script name (CordScript) L elasticité (COOL ) Floor, Ceiling, Strategy Les garanties Property (en lien avec les metrics definis), Compare, Value Business value : None/Penalty/Reward Expression : Script 9
CompatibleOne : CORDS & ACCORDS OCCI Open Cloud Computing Interface - OGF Standards CompatibleOne Categories Category data structure Category : Execution entity CompatibleOne Used for user interface and for operations of the platform itself (such as service control graph) POST GET DELETE PUT CATEGORY METHODES LIENS ACTIONS Category CO 0
Les étapes de traitement d une requête () Consumer Requirements s Registry Offers template SLA & Resources Manifests PARSER PLAN BROKER (2) MANIFESTS AGREEMENT SLAM SERVICE CONTRACT PROCCI OS- PROCCI OS- PROCCI OS- PROCCI OS- PROCCI VM COSACS (3) GUARANTEE CO MONS CONTROL CONTROL CONTROL CONTROL
L instanciation d un service et son SLA (/4) - (2) Step : graph Initialisation (Transcodaging UC) Agreement Customized Plan(s) Broker Procci graph Agreement Manifest Monitoring Session Comons Session 2
L instanciation d un service et son SLA (2/4) Step 2 : Placement decision Graph Broker Provider Cloud Provider Cloud Provider Graph Agreement Manifest For each CONTRACT of the SERVICE Graph : ) )Search for Potential provider with needed resources 3) Choose amoung PLACEMENT list the solution - Create a «PROVISION» category and a link to the CONTRACT category Federation Placement Quantity Cops Federation Provider 2) Selection of Potential provider according Placement algorithm - Create PLACEMENT category 3) Placement Placement Quantity Quantity ) 2) 3) Monitoring Session «Provision» «Provision» t «Provisio» «Provision» Placement Solution Placement Solution Placement Solution Placement Solution 3
L instanciation d un service et son SLA (3/4) Step 3 : Définition des instructions de configuration et de monitoring Monitoring Session N Connection Connection N Probe Probe VM with COSACS N N Instruction Instruction Instruction N Agreement Packet N Metric N Guarantee N Monitor Probe Control Event Alert Penalty 4
L instanciation d un service et son SLA (4/4) Step 4 : L enchainement du provisionning Cloud Consumer Requirement SLA & Resources Manifests Parser Plan Broker Step,2,3 Graph Broker Step4 START PROCCI START OpenStack OpenStack START OS PROCCI VM with COSACS KEYSTONE, GLANCE & NOVA-API Interface 5
Conclusions Forces du SLA dans CompatibleOne Architecture flexible : adresse différents types de besoins basée sur des standards OCCI / WS agreement extensible Les travaux en cours autour du SLA Exposition des offres de services (*aas) Négociation de SLA suite à une requête utilisateur Le SLA dans le cadre de Federation de clouds décentralisée F-Sla CSP B F-Sla CSP D CSP A F-Sla CSP A CSP B CSP C CSP D CO broker with CO Procci for federation F-Sla CSP A F-Sla CSP D F-Sla CSP B 6
7