Définition d’une orchestration

Définition d’une orchestration

La définition d’une orchestration la plus répandue est celle de l’orchestration musicale qui décrit les règles de distribution des différentes parties ou voix à exécuter aux instruments correspondants [1]. Cette image a été projetée dans le monde informatique afin de montrer que même dans les systèmes les plus complexes une organisation peut être mise en place et gérée par un chef. Bien entendu, ce dernier ne sera pas humain mais il joue un rôle similaire de responsable du bon déroulement de l’orchestration. Une première approche de l’orchestration est de la considérer comme un processus global d’automatisation, d’organisation, de coordination et de gestion de services dont dispose une organisation pour atteindre ses objectifs. Plus concrètement, cela sous-entend que l’on se situe à un niveau plus élevé que la simple mise en œuvre de service. De la même manière qu’il est nécessaire de coordonner l’ensemble des architectures techniques en donnant naissance à la notion d’urbanisation, la coordination de l’ensemble des services informatiques donne naissance à la notion d’orchestration. Ainsi, si la notion d’orchestration est souvent attachée aux principes d’architecture SOA (Service Oriented Architecture), elle est traitée de différentes manières en regard des domaines d’applications. L’orchestration de réseau permet la mise en œuvre de réseaux flexibles qui peuvent être provisionnés de manière dynamique.

La virtualisation du réseau et son orchestration sont tout aussi importantes. Avec les technologies de réseaux programmables, un réseau peut être provisionné de manière orchestrée, comme les autres composants de l’infrastructure informatique (serveurs, stockage, applications). Le concept fondamental est que les réseaux définis par logiciel peuvent être automatisés. L’automatisation permet de provisionner des services réseaux rapidement et à grande échelle, en réduisant le risque d’erreur humaine. Si les besoins d’un fournisseur de cloud et ceux du réseau d’une entreprise peuvent a priori paraître différents, le fait est que les réseaux des entreprises sont confrontés aux mêmes problèmes de déploiement complexe d’applications que les fournisseurs de cloud. La suite Tufin Orchestration Suite apporte les atouts de l’automatisation informatique aux opérations de sécurité réseau [2]. Ses technologies avancées d’analyse et d’automatisation permettent d’orchestrer les modifications sur tout ensemble hétérogène de réseaux, applications, serveurs et systèmes de gestion, permettant ainsi aux équipes de travailler en toute transparence tout en renforçant la gouvernance informatique. D’autres solutions existent que nous ne mentionnons pas ici, mais la notion d’orchestration réseau revêt une importance capitale aujourd’hui et sa propriété première est d’être transparente aux usagers.  L’orchestration de services repose la plupart du temps sur un logiciel, dont il existe de nombreuses variantes et versions sur le marché chez ASF (Apache Software Foundation) entre autre. Elle coordonne et gère l’exécution des flux de travail (communément appelées « Workflows») et des processus à travers de multiples domaines d’architecture, les outils, les personnes, les matériels, les processus et les services pour fournir un service défini. Elle est particulièrement importante pour les fournisseurs de services de Cloud Computing car elle permet entre autre de coordonner les différents flux de travail et réduire de manière très significative les délais de traitement. Dans d’autres cas, elle fiabilise l’ensemble des processus et des opérations à forte occurrence et à faible valeur ajoutée ; cette fiabilité est un point clé de notre travail. Elle supervise les ressources et informe l’utilisateur sur sa consommation, sur le taux de disponibilité du service, etc [3].

Si des outils tels que des ESBs (Enterprise Service Bus) comportent des moteurs d’orchestration [4], il est important de disposer de langage permettant leur description informatique. Plusieurs font référence dans le domaine tel que BPEL (Business Process Elementary Language) [5], ou Camel DSL (Camel Domain Specific Language) [6]. Ces langages offrent aux développeurs différents moyens pour faire de la composition de services. Camel DSL est basé sur des patterns d’intégration appelés EIP qui sont communément admis dans le domaine de la composition de services. Ce langage offre l’avantage d’être ouvert à de nouveaux patterns et le rend extensible. D’autres langages d’orchestration existent surtout dans un cadre universitaire, mais peu sont intégrés dans des plateformes professionnelles telles que Apache ServiceMix ou Fuse. Dans ce contexte une orchestration de service est une description informatique de composition de services dont l’interprétation donne lieu à un système à état. Dans un jargon un peu plus ancien on parlait de composant stateful, c’est-à-dire de composant dont il est possible à tout moment d’observer l’état et d’interagir avec pour le faire évoluer. Dans le cadre de notre travail, il est intéressant de faire migrer cet état entre deux bus logiciels ou ESB.

 

Cours gratuitTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *