• Aucun résultat trouvé

Élasticité des applications à base de services dans le Cloud

N/A
N/A
Protected

Academic year: 2022

Partager "Élasticité des applications à base de services dans le Cloud"

Copied!
40
0
0

Texte intégral

(1)

Élasticité des applications à base de services dans le Cloud

Mourad Amziani12 Tarek Melliti1 Samir Tata2

1 IBISC, EA4526, Université d'Évry Val-d'Essonne, Évry, France

2UMR CNRS Samovar, Institut Mines-Telecom, Télécom SudParis, Évry, France

16/10/2014

(2)

Introduction

I Contexte :

I Environnements Cloud

I Déploiement des applications à base de services dans le Cloud

I Attentes des utilisateurs :

I Disponibilité

I Qualité de Service

I Élasticité

I Intégrité des données

I etc.

(3)

Élasticité : Dénition

(4)

Élasticité : Dénition

(5)

Élasticité : Dénition

I Élasticité est une propriété d'un objet qui retrouve sa forme d'origine après avoir été déformé [Shawky 12]

I Mécanisme d'élasticité fait varier les ressources allouées en fonction de la charge pour satisfaire une QdS [Ali-Eldin12]

(6)

Élasticité : Caractéristiques

I Portées :

I Infrastructure, Plateforme, Application

I Métriques :

I Type de ressource : stockage, CPU, service métier, etc.

I Qualité et/ou quantité : taille, fréquence, temps de réponse, etc.

I Coût

I Politiques :

I Manuelle, Automatique

I Stratégie (réactive, programmée, prédictive, hybride)

I Méthodes :

I Duplication/consolidation Redimensionnement

(7)

Élasticité Verticale

(8)

Élasticité Verticale

(9)

Élasticité Horizontale

(10)

Élasticité Horizontale

(11)

Élasticité verticale vs. Élasticité horizontale

I Élasticité verticale :

I Réingénierie des services/applications (Software -> SaaS)

I Réingénierie des serveurs d'applications (Platform -> PaaS)

I Élasticité horizontale :

I Mécanismes de duplication/consolidation

I Processus (contrôleur) manipulant le/les systèmes non élastiques

I "Transformation" automatique de systèmes non élastiques en systèmes élastiques

I Composition contrôleur et système non élastique

(12)

Problématique : Élasticité dans le cadre des Applications à base de Services (AbSs)

I Quels mécanismes doit-on mettre en place pour assurer l'élasticité des AbSs ?

I Comment évaluer ces mécanismes d'élasticité ?

I Comment mettre en oeuvre ces mécanismes d'élasticité dans le Cloud ?

(13)

L'approche suivit (1/2)

I Élasticité horizontale au niveau des services

I Constat 1 : Les serveurs d'applications ne sont pas élastiques [Yangui 11]

I Constat 2 : Les AbSs, orchestration et/ou chorégraphie, impliquent plusieurs services

I Constat 3 : Les services au sein de la même application ne subissent pas le même stress

(14)

L'approche suivit (2/2)

I Approche Formelle :

I Partir d'un modèle formel des AbSs

I Mettre en place des mécanismes d'élasticité horizontale (duplication/consolidation) sur ce modèle

I Mettre en place un modèle pour spécier les stratégies d'élasticité

I Mettre en place des mécanismes d'évaluation de ces stratégies

I Outillages :

I Implémenter le modèle

I Déployer les mécanismes d'élasticité dénis dans un environnement Cloud

(15)

Modélisation des applications à base de services (1/3)

I Plusieurs modèles formels ont été proposés pour modéliser les AbSs

I Nous cherchons un modèle qui supporte :

I La notion de service élémentaire

I La notion instance d'appel

I La notion de charge d'un service

I => Les réseaux de Petri place/transition (interprétation inversé)

(16)

Modélisation des applications à base de services (2/3)

(17)

Modélisation des applications à base de services (3/3)

Un AbS est un Petri netN=<P,T,Pre,Post,≡P,≡T >:

I P : ensemble de places (une place représente un service)

I T : ensemble de transitions (représentent les transferts des appels entre services élémentaires)

I Pre :P ×T → {0,1}

I Post :T ×P → {0,1}

IP⊆P ×P : une relation d'équivalence surP

IT⊆T ×T : une relation d'équivalence surT

(18)

Modélisation des mécanismes d'élasticité

Objectif : Mettre en place des opérations sur le modèle (RdP) qui implémentent les mécanismes d'élasticité des ressources i.e

l'extension et la rétraction des ressources en fonction des charges des services élémentaires. Ces mécanismes :

I doivent intervenir au niveau des services de base (les places)

I doivent être réversible

I ne doivent pas changer la sémantique de l'AbS :

Prop 1 Les opérations d'élasticité ne doivent pas créer ni supprimer des appels (=> conservation des jetons)

Prop 2 Les opérations d'élasticité ne doivent pas modier l'ordre d'exécution des services (=>

(19)

Duplication d'un service ( D (S, p, p

c

) )

Soit un système de RdPS =hN,Miformé par le réseau

N=<P,T,Pre,Post,≡P,≡T >(représentant une AbS) et par un marquageM (représentant la charge de l'AbS).

Soitp un service, la duplication de p dansS donne lieu à un nouveau systèmeS0=hN0,M0i avec :

(20)

Duplication d'un service ( D (S, p, p

c

) )

I P0=P∪ {pc}

I T0=TT00withT00={tc|t(pp)tc=η(t)

I Pre0:P0×T0→ {0,1}

I Post0:T0×P0→ {0,1}

I P0P0×P0withP0=≡P∪{(p,pc)}.

I T0T0×T0withT0=≡T∪{(t,tc)|tcT00}.

I M0:P0NavecM0(p0) =M(p0)ifp06=pcet 0 sinon.

p t1

t2

p t1

t2

Pre0(p0,t0) =

Pre(p0,t0) p0Pt0T Pre(p0,t) tTt0(T0\T)

∧t0[t] T0

∧p0(P\ {p})

Post0(t0,p0) =

Post(t0,p0) p0Pt0T Post(t,p0) tTt0(T0\T)

∧t0[t] T0

∧p0(P\ {p})

(21)

Consolidation d'un service ( C (S , p, p

0

) )

SoitS =hN,Mi un système représentant une AbS et soitp,pc deux places deN avec(p,p0)∈≡P ∧p6=p0, la consolidation dep0 dansp, notéC(S,p,pc), est un systèmeS0 =hN0,M0i avec

I N0 :N après la suppression dep0 et toutes les transitions reliées à p0( (pc)pc)

I M0 :P0→Navec M0(p) =M(p) +M(p0) et M0(p00) =M(p00) sip00 6=p.

(22)

Modélisation des stratégies : Boucle de contrôle

Contrôleur générique pour l'élasticité des AbSs

(23)

Modélisation du Contrôleur (1/3)

I Le Contrôleur applique des opérations de

Duplication/Consolidation aux AbSs en fonction (Stratégie) d'indicateurs (les observations)

I Il permet également de répartir, selon les indicateurs, les charges entre les copies de services : Routing

I Idée : un contrôleur est un Rdp de haut niveau :

I Les jetons sont de type Rdp (AbS)

I Trois transitions : Duplication, Consolidation et Routing

I Les gardes sur les trois transitions représentent une stratégie d'élasticité

(24)

Modélisation du Contrôleur (2/3)

(25)

Modélisation du Contrôleur (3/3)

Exemple d'une stratégie d'élasticité :

I Ready_D(S,s) :M(s)>Max_t(s)∧@s0 ∈[s] :M(s0)<

Max_t(s0)∧ ∃t ∈ [s] :M[ti.

I Ready_C(S,s0,s) :M(s0) =0∧M(s)6Min_t(s)∧@t∈ [s] :M[ti.

I Ready_R(S,t) :∀s ∈P :M0(s)<Max_t(s)avecM[tiM0.

(26)

Évaluation des stratégies : SNAKES Toolkit

n = PetriNet("Contrôleur")

n.add_place(Place("BP", [token_net("SBP")])) ...Duplication

n.add_transition(Transition("Dup", Expression("ready_D(S,s)"))) n.add_input("BP", "Dup", Variable("S"))

n.add_output("BP", "Dup", Expression("D(S,s,new_copy(S,s))")) ...Consolidation

...

Routing ...

(27)

Évaluation des stratégies : Vérication

I Boucles d'élasticité

I Inter-blocage

I Violation de QdS

(28)

Évaluation des stratégies : Simulation

Indicateurs de performance :

I Charge moyenne des services

I Consommation de ressources

I ...

(29)

Généralité de notre approche

I L'AbS est modélisée par un RdP place/transition :

I Les stratégies sont dénies en fonction de la charge des services (marquages)

I Certains aspects des AbSs ne sont pas encore pris en compte :

I Gestions des données et des instances de processus [Amziani 13a]

I Aspects temporisés des activités des AbSs [Amziani 13b]

I Le modèle du RdP de haut niveau du contrôleur reste intact, on change simplement le type des jetons

(30)

Implémentation de l'approche (1/3)

Slice

I Décomposer l'application en un ensemble de services Package

I Packager chaque service dans un conteneur dédié (micro-conteneur) [Yangui 11]

I Générer les mécanismes d'élasticité.

Deploy

I Déployer les services sur une plateforme de Cloud (COAPS API extension OCCI) [Sellami 13]

(31)

Implémentation de l'approche (2/3)

(32)

Implémentation de l'approche (2/3)

(33)

Implémentation de l'approche (3/3)

(34)

Conclusion (1/2)

Notre approche d'élasticité :

I Basée sur un modèle formel

I Évaluation des stratégies d'élasticité

I Transformation automatique des applications non élastiques en applications élastiques exécutables dans le Cloud

Perspectives :

I Aner le modèle (tailles des appels, coût des opérations d'élasticité,...)

I Langage pour les stratégies d'élasticité (DSL)

(35)

Conclusion (2/2)

I Pour plus d'informations :

I Mohamed Mohamed, Mourad Amziani, Djamel Belaïd, Samir Tata and Tarek Melliti. An Autonomic Approach to Manage Elasticity of Business Processes in the Cloud. To appear in Future Generation Computer Systems published by Elsevier

I Mourad Amziani, Kaïs Klai, Tarek Melliti and Samir Tata.

Time-based Evaluation of Service-based Business Process Elasticity in the Cloud. In CloudCom 2013

I Mourad Amziani, Tarek Melliti and Samir Tata. Formal Modeling and Evaluation of Stateful Service-based Business Process Elasticity in the Cloud. In CoopIS 2013

I Mourad Amziani, Tarek Melliti and Samir Tata. Formal Modeling and Evaluation of Service-based Business Process

(36)

Références

[Shawky 12] D. M. Shawky and A. F. Ali. Dening a Measure of Cloud Computing Elasticity, ICSCS, 2012

[Ali-Eldin 12] Ali-Eldin et al. An adaptive hybrid elasticity controller for cloud infrastructures, IEEE MOM, 2012

[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 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

[Yangui 11] S. Yangui, M. Mohamed, S. Tata and S. Moalla.

Scalable service containers. IEEE CloudCom 2011

[Sellami 13] M. Sellami, S. Yangui, M. Mohamed and S. Tata.

(37)

Modélisation des applications à base de services

Cas des services à états

(38)

Modélisation des applications à base de services

Cas des AbSs avec des aspects temporisés

(39)

Correction du modèle : relation d'équivalence entre AbSs

On dénit deux bijections :

I ρ1: [P]P →[P0]P0

I ρ2: [T]T →[T0]T0

Deux systèmesS andS0 sont équivalents selonρ1, et ρ2, noté S ∼ρ1,2 S0, ssi :

(a) ∀p∈P :M([p]P) =M01([p]P)) (b) ∀t∈T :M[tiM1 ⇒ ∃t0∈ρ2([t]T) :

M0[t0iM10 ∧ hN,M1i ∼ρ1,2 hN0,M10i (c) ∀t0 ∈T0 :M0[t0iM10 ⇒ ∃t ∈ρ21([t0]T0) :

0 0

(40)

Correction du modèle : relation d'équivalence entre AbS

I Un AbS est dit élémentaire ssi ∀p ∈P :|[p]|=1 et

∀t ∈T :|[t]|=1

I Un AbS bien formé est un AbS obtenu par une séquence de Duplication/Consolidation d'un AbS élémentaire.

Theorem

SoitS =hN,Mi bien formé :

I ∀p ∈P :S ∼ρ1,2 D(S,p,pc)

I ∀p,p0 ∈P : [p] = [p0]⇒S ∼ρ1,2 C(S,p,p0)

Avec :ρ1([p]P) = [p]P0 pour chaque p∈P etρ2([t]T) = [t]T0

Références

Documents relatifs

Comme nous l'avons déjà mentionné dans le chapitre précédent, l'objectif principal de cette thèse, dans un premier temps, est de proposer une méthode permettant à un STI de

Si la description des exemplaires reste la base du travail, ses buts doivent etre repenses dans le cadre d'une collaboration entre la bibliographie et 1'histoire du livre.

Les differents types d'erreurs, mentionnees ci-dessus, peuvent avoir de graves consequences si elles sont presentes dans les notices bibliographiques aussi bien pour les

Key-words: Asynchrony, Atomic read/write register, Branching time, Concurrency, Distributed algorithm, Con- current object, Linear time, Participating process, Process crash

endocrine markers against sperm quality indices recorded in pikeperch males treated twice with different hormonal preparations (n=7 treated with hCG and n=7 with sGnRHa) with 5

In our research proposal, the SLA provided by the cloud services provider to cloud customer will be assured by measuring the performance of the cloud applications which are hosted

Es decir, el operador por medio del código de la movilidad presenta al espectador imágenes a partir de una cámara fija o por medio del travelling colocando la cámara

We have presented a new coupling algorithm between a compressible fluid flows and a rigid body using an Embedded Boundary method.. This explicit algorithm has the advantage