Élasticité De L'exécution Des Processus Métier
Total Page:16
File Type:pdf, Size:1020Kb
Élasticité de l’exécution des processus métier Guillaume Rosinosky To cite this version: Guillaume Rosinosky. Élasticité de l’exécution des processus métier. Modélisation et simulation. Université de Lorraine, 2019. Français. NNT : 2019LORR0003. tel-02096324 HAL Id: tel-02096324 https://hal.univ-lorraine.fr/tel-02096324 Submitted on 11 Apr 2019 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. AVERTISSEMENT Ce document est le fruit d'un long travail approuvé par le jury de soutenance et mis à disposition de l'ensemble de la communauté universitaire élargie. Il est soumis à la propriété intellectuelle de l'auteur. Ceci implique une obligation de citation et de référencement lors de l’utilisation de ce document. D'autre part, toute contrefaçon, plagiat, reproduction illicite encourt une poursuite pénale. Contact : [email protected] LIENS Code de la Propriété Intellectuelle. articles L 122. 4 Code de la Propriété Intellectuelle. articles L 335.2- L 335.10 http://www.cfcopies.com/V2/leg/leg_droi.php http://www.culture.gouv.fr/culture/infos-pratiques/droits/protection.htm Ecole´ doctorale IAEM Lorraine Elasticit´ede´ l'ex´ecutiondes processus m´etier THESE` pr´esent´eeet soutenue publiquement le 23 janvier 2019 pour l'obtention du Doctorat de l'Universit´ede Lorraine (mention informatique) par Guillaume Rosinosky Composition du jury Pr´esident: Parisa Ghodous professeur `al'Universit´eLyon I, LIRIS Rapporteurs : Walid Gaaloul professeur `aTelecom Sud Paris Salima Benbernou professeur `al'Universit´eParis Descartes Examinateur : Malika Smail ma^ıtrede conf´erences`al'Universit´ede Lorraine, LORIA Invit´e: Duy Tran Quang manager `aBonitasoft Encadrants : Fran¸coisCharoy professeur `al'Universit´ede Lorraine, LORIA Samir Youcef ma^ıtrede conf´erences`al'Universit´ede Lorraine, LORIA Laboratoire Lorrain de Recherche en Informatique et ses Applications | UMR 7503 Mis en page avec la classe thesul. Remerciements Je remercie tout d’abord mes directeurs de thèse, François Charoy, et Samir Youcef pour leur disponibilité et leur bon sens. Ils m’ont aidé et motivé, et sans eux je n’aurais pas pu terminer ce manuscrit. Je remercie ensuite l’ensemble de la société Bonitasoft chez qui j’ai passé plus de 2 ans et demi, et plus particulièrement Jérémy Jacquier-Roux à qui j’ai tellement pris de temps, Duy Quan Trang pour son écoute, Baptiste Mesta, Truc n’Guyen, Charles Souillard ainsi que l’ensemble de l’équipe R&D pour leur expertise. Merci également à l’ANRT, à Bonitasoft, au LORIA et à l’université de Lorraine pour le financement de ma thèse. Pour finir, je remercie ma compagne Natacha pour son maousse soutien durant cette période difficile, ainsi que Cécile pour ses corrections. i ii iii iv Sommaire Table des figures Liste des tableaux Chapitre 1 Introduction Introduction générale xiii 1.1 Organisation du manuscrit . xv Chapitre 2 Problématique et motivations Problématique 1 2.1 Problématique . 1 2.2 Exemple de motivation . 4 2.3 Contributions . 6 2.4 Conclusion . 7 Chapitre 3 État de l’art État de l’art 9 3.1 Business Process Management (BPM) . 9 3.1.1 Définitions . 9 3.1.2 Éléments de base . 10 3.1.3 Outils de modélisations et d’exécution des processus métiers . 11 3.2 Cloud . 12 3.2.1 Caractéristiques . 12 3.2.2 Modèles de services . 12 v Sommaire 3.3 Élasticité dans le cloud . 14 3.3.1 Méthodes d’élasticité standard . 15 3.3.2 Élasticité dans les centres de données . 17 3.3.3 Classification des mécanismes d’élasticité . 17 3.3.4 Élasticité des bases de données . 19 3.3.5 Élasticité SaaS multi-tenant . 20 3.4 Élasticité et BPM . 22 3.5 Conclusion . 25 Chapitre 4 Hypothèses et qualité de service : outils, mesures, et justifications Hypothèses et qualité de service : outils, mesures, et justifications 27 4.1 Hypothèses retenues pour les métriques employées . 27 4.1.1 Approche multi-tenant . 28 4.1.2 Qualité de service des ressources et des tenants . 30 4.1.3 Modèle de coût des fournisseurs IaaS et granularité temporelle . 31 4.1.4 Les migrations à chaud comme critère . 31 4.1.5 Conclusion . 32 4.2 Estimation de la capacité des ressources du cloud . 32 4.2.1 Étapes de la démarche proposée d’estimation de la capacité des ressources 32 4.2.2 Architecture du framework de test développé . 34 4.2.3 Paramètres de l’expérimentation . 35 4.2.4 Résultats de l’estimation des tailles des ressources du cloud . 38 4.3 Effets des migrations à chaud sur la qualité de service . 41 4.3.1 Besoins en termes d’estimation des effets des migrations de moteurs BPM multi-tenants . 43 4.3.2 Une approche de base distribuée et de migrations de tenant pour applica- tions shared table multi-tenant . 44 4.3.3 Résumé de notre approche d’évaluation de l’impact des migrations . 48 4.3.4 Framework d’évaluation de migrations pour BPMS multi-tenant . 50 4.3.5 Expérimentation . 56 4.3.6 Résultats numériques obtenus et discussions . 61 4.3.7 Analyse des résultats . 64 4.3.8 Conclusion . 66 4.4 Conclusion du chapitre . 66 vi Chapitre 5 Algorithmes d’allocation de ressources et de distribution de tenants Algorithmes 67 5.1 Algorithme bi-objectif d’allocation de ressources et de placement des tenants pour un pas de temps . 68 5.1.1 Modèle linéaire décrivant cet algorithme . 68 5.1.2 Heuristique proposée . 70 5.1.3 Multi-objectif et implémentation du modèle . 76 5.1.4 Expérimentation . 77 5.1.5 Résultats obtenus et analyse . 79 5.1.6 Conclusion . 80 5.2 Algorithme mono-objectif multi pas-de-temps basé sur la segmentation de séries temporelles . 80 5.2.1 Limites de l’utilisation de l’algorithme mono-objectif sur plusieurs pas de temps . 80 5.2.2 Modèle d’optimisation linéaire avec contrainte quadratique . 81 5.2.3 Optimisations et modifications de l’heuristique pas-de-temps pour l’utili- sation itérative . 82 5.2.4 Segmentation de séries temporelles . 84 5.2.5 Synthèse de l’algorithme multi pas de temps . 85 5.2.6 Paramètres des expérimentations réalisées . 85 5.2.7 Efficacité de l’approche . 88 5.2.8 Conclusion . 91 5.3 Amélioration des résultats à l’aide d’algorithmes génétiques et alternative linéaire à l’heuristique . 92 5.3.1 Les stratégies de migrations comme axe d’amélioration . 92 5.3.2 Représentation des stratégies de migration et algorithme génétique . 92 5.3.3 Opérateurs spécifiques à notre problème de l’algorithme génétique . 92 5.3.4 Alternative linéaire à l’heuristique « pas de temps itérative » . 97 5.3.5 Expérimentations réalisées . 98 5.3.6 Résultats initiaux obtenus suite aux expérimentations . 99 5.3.7 Découpage des tenants en petits groupes et résultats obtenus . 100 5.3.8 Résultats globaux comparés de l’heuristique pas de temps itérative et de la résolution du modèle restreint . 101 5.3.9 Conclusion . 103 5.4 Conclusion du chapitre . 103 vii Sommaire Chapitre 6 Bilan et perspectives Bilan et perspectives 105 6.1 Bilan des contributions . 105 6.2 Limites et perspectives . 106 6.2.1 Élasticité pour applications transactionnelles . 107 6.2.2 Élasticité des outils BPM . 109 6.2.3 Micro services et Edge Computing . 109 Annexe A Détails sur le framework d’estimation de ressources A.1 Détails sur le framework d’estimation de ressources . 111 A.1.1 Ansible . 111 A.1.2 Jenkins . 111 Bibliographie viii Table des figures 2.1 Illustration de la scalabilité et de l’élasticité . 3 2.2 Allocation des ressources et attribution . 5 2.3 Exemples d’allocation de ressources et de distribution de tenants . 5 3.1 Exemple de diagramme BPMN . 10 3.2 Aperçu des éléments BPMN (Dijkman et al. [1]) . 11 3.3 Comparatif des architectures cloud standard . 13 3.4 Classification des mécanismes d’élasticité (Al Dhuraibi et al. [2]) . 18 4.1 Exemple de déploiement en cluster d’un moteur BPM . 28 4.2 Architecture de Bonita . 29 4.3 Exemple de lancement de tests pour plusieurs configurations . 33 4.4 Architecture du framework pour des tests basés sur des instances EC2 . 36 4.5 Temps moyen d’exécution en fonction du nombre de processus exécuté en parallèle. 39 4.6 Débit obtenu pour chaque nombre de processus simulé en parallèle. 40 4.7 Débit, prix, et prix par dollar pour chaque type de ressource . 41 4.8 Illustration de migrations de tenants d’un système onéreux à un système bon marché 42 4.9 Illustration de l’architecture proposée . 46 4.10 Illustration de l’estimation de la durée de migration . 49 4.11 Illustration de l’estimation des effets sur le tenant migré . 49 4.12 Illustration de l’estimation des effets des migrations sur les tenants colocalisés . 50 4.13 Architecture du framework d’évaluation de migrations pour BPMS multi-tenant . 51 4.14 Diagramme d’état décrivant le comportement des agents . 52 4.15 Exemple d’architecture du framework de tests de migrations . 54 4.16 Diagramme de séquence décrivant le lancement d’un test . 57 4.17 Schéma BPMN TestHumanTask . 58 4.18 Schéma BPMN AdditionalApproval .