Élasticité des applications à base de services Samir Tata, Télécom SudParis UMR Samovar Équipe ACMES
Élasticité : Définitions et Concepts Samir Tata, Télécom SudParis
Élasticité Définitions Élasticité est une propriété d'un objet qui retrouve sa forme d'origine après avoir été déformé [Shawky 12] Mécanisme d élasticité fait varier les ressources allouées en fonction de la charge pour satisfaire une QdS [Ali-Eldin 12] Scalability Capacité d un système à accroître sa capacité de calcul sous une charge accrue quand des ressources sont ajoutées [El Abbadi 11]. Accroissement linéaire Pas d attentions sur les ressources non utilisées ou sous utilisées Insensible à la fluctuation et à la dimension temps
Ressources Définitions Ressources fournies Allocated IT capacities Ressources demandées 4 Temps 22/09/ Journée Colloque «Cloud»,«Nantes, Numérique 18 septembre 2014 : Grande
Coût Système élastique vs. Système non élastique 4 4 3 3 2 2 1 1 0 50 100 300 500 600 620 630 services
Coût /par unité de ressource Système élastique vs. Système non élastique Application/Système non élastique Application/Système élastique Demande en ressources
Granularité ressource vs Granularité demande Capacité Ressources Granularité de la variation/ressource Demande Temps de configuration Temps
Élasticité : caractéristiques Portées Infrastructure, Plateforme, Application Métriques Type de ressource: stockage, CPU, service métier, etc. Qualité et/ ou quantité : taille, fréquence,temps de réponse, etc. Coût Politiques Manuelle, Automatique Stratégie (réactive, programmée, prédictive, hybride) Meta-stratégie (généralement programmées) Méthodes Réplication/consolidation Redimensionnement Conséquence éventuelle : migration/débordement (bursting) 8
Élasticité verticale
Élasticité horizontale
Élasticité verticale vs. Élasticité horizontale Élasticité verticale Réingénierie des services/application (Software SaaS) Réingénierie des serveurs d applications (Platform PaaS) Élasticité horizontale Mécanismes de duplication/consolidation Processus (contrôleur) manipulant le/les systèmes non élastiques "Transformation" automatique de systèmes non élastiques en systèmes élastiques Composition contrôleur et système non élastique 11
Contrôleur d élasticité Stratégie Ressource Mécanismes d élasticité Contrôleur Observateur Charge 12
Élasticité : le cas des applications à base de services Samir Tata, Télécom SudParis
Cas des applications à base de services Application à base de services Structure : composition de services, flot de contrôle et de données Comportement Modélisation Conceptuelle Réseau de Petri, Event B (vérification) Métriques Type de ressources : services sans état [Amziani 12], avec état [Amziani 13a] et avec prise en compte du temps [Amziani 13b] Qualité/quantité : nombre d invocations, temps de réponse Évaluation Vérification, Simulation, Expérimentation 14
ViePEP Architecture [Hoenisch 13] 15
Elasticity Modeling Conceptual Framework (VUT)
Modélisation de l élasticité [Amziani 12] 17
Contrôle de l élasticité 18
Vérification de l élasticité Propriétés Elasticity loops Inter-blocage Violation de QdS 19
Ressources Charges/Service 3,5 3 Simulation 2,5 2 Stratégie 1 Stratégie 2 Demande 1,5 1 0,5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Temps 35 30 25 20 15 10 5 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Temps 20
1. Slice Mise en œuvre (the SPD approach) Décomposer l application en un ensemble de services Analyser le SLA (WS-agreement) de l application et générer les composants de monitoring, analyse, configuration (autonomic computing) [Mohamed 13] 2. Package SCA-Slicer [Yangui 13], BPEL-Slicer, BPMN-Slicer (en cours) Packager chaque service/composant technique dans un conteneur dédié (micro-conteneur) [Yangui 11] 3. Deploy Déployer les services/composants sur une plateforme de Cloud (COAPS API extension OCCI) [Sellami 13] http://www-inf.it-sudparis.eu/simbad/tools/ 21
Memory Consumption (Mb) Response Time (ms) 6000 Non-Elastic Application Elastic Application (Strategy 1) Elastic Application (Strategy 2) 5000 4000 3000 2000 1000 3000 0 0 1 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 Clients number 2500 2000 1500 1000 500 22 0 0 1 500 1000 1500 2000 2500 3000 3500 4000 4500 5000 5500 6000 6500 7000 Clients Number
Conclusion Ce qui est fait Élasticité plutôt horizontale Modélisation conceptuelle (modèle de composants) Portée: IaaS et PaaS Métriques : capacité mémoire, temps de calcul Type de ressources : serveurs d application (ou conteneurs) Stratégie: réactive, programmée Ce qui est à faire. Modélisation Formelle, vérification Re-ingénieurie (semi-) automatisée (MDE) pour une élasticité verticale Simulation Langage de stratégie 23
Références [Suleiman 13] B. Suleiman and S. Venugopal. Modeling Performance of Elasticity Rules for Cloud-based Applications, IEEE International Enterprise Distributed Object Computing Conference 2013 [Shawky 12] D. M. Shawky and A. F. Ali. Defining a Measure of Cloud Computing Elasticity, International Conference on Systems and Computer Science, 2012 [Ali-Eldin 12] Ali-Eldin et al. An adaptive hybrid elasticity controller for cloud infrastructures, IEEE MOM, 2012 [El Abbadi 11] El Abbadi et al. Database scalability, elasticity, and autonomy in the cloud, 6th international conference on Database systems for advanced applications [Amziani 13b]: M. Amziani, K. Klai, T. Melliti and S. Tata, Time-based Evaluation of Service-based Business Process Elasticity in the Cloud, IEEE CloudCom, 2013 [Amziani 13a] M. Amziani, T. Melliti and S. Tata Formal Modeling and Evaluation of Stateful Service-based Business Process Elasticity in the Cloud, OTM/CoopIS 2013 [Amziani 12] M. Amziani, T. Melliti and S. Tata. A Generic Framework for Service-based Business Process Elasticity in the Cloud. BPM 2012 [Mohamed 13] M. Mohamed, D. Belaid and S. Tata Monitoring and Reconfiguration for OCCI Resources, The 5th IEEE International Conference on Cloud Computing Technology and Science CloudCom 2013 [Sellami 13] M. Sellami, S. Yangui, M. Mohamed and S. Tata. PaaS-independent Provisioning and Management of Applications in the Cloud. IEEE CLOUD'2013 [Yangui 13] S. Yangui, M. Ben Nasrallah and S. Tata PaaS-independent approach to provision appropriate Cloud resources for SCA-based applications deployment, IEEE SKG'13 [Yangui 11] S. Yangui, M. Mohamed, S. Tata and S. Moalla. Scalable service containers. IEEE CloudCom 2011 [Hoenisch 13] P. Hoenisch, S. Schulte, S. Dustdar, and S. Venugopal (2013). Self-Adaptive Resource Allocation for Elastic Process Execution. IEEE CLOUD 2013 24