Академический Документы
Профессиональный Документы
Культура Документы
L’informatique autonomique (Autonomic Computing) est un concept proposé en 2001 par IBM
. Il vise à construire des systèmes capables de prendre eux-mêmes en charge les tâches relatives
à leur administration. Les auteurs partent du constat que la complexité croissante des systèmes
risque d’atteindre les limites des capacités humaines et a rendu très complexe les différentes
taches d’administration. Le terme autonomique se réfère à l’idée de restreindre au strict minimum
l’intervention humaine dans les différentes activités d’administration du système. Autrement dit,
l’objectif d’un système autonome est de soulager au maximum un opérateur humain en l’assistant
dans les tâches d’administration et de le remplacer là où cela est possible. Un système
autonomique quant à lui peut être vu comme un système autonome où la responsabilité et la prise
de décision relative à son fonctionnement sont automatisées. Le rôle de l’opérateur humain dans
ce contexte est alors réduit à la définition des politiques d’administration qu’il souhaite voir
appliquées au système dont il a la charge. Le système autonomique quant à lui prend en charge la
mise en application et le maintien de ces politiques définies sans le besoin de l’intervention de
l’opérateur humain. Par conséquent, un système autonomique permet de simplifier
considérablement les différentes tâches d’administration et offre une meilleur réactivité et efficacité
en cas d’incident, car il est capable de s’y adapter plus rapidement. De plus, par ses facultés
d’adaptation dynamique, il peut optimiser son fonctionnement en écourtant au maximum les délais
de diagnostic et d’intervention.
Définitions
Le déploiement de logiciels est défini dans [van der Hoek 1998, Hall 1999] et [Dearle 2007]
comme un processus complexe qui comporte un ensemble d’activités. Il arrive en fin du cycle de
vie du logiciel. Le cycle de vie de déploiement regroupe toutes les activités depuis la validation du
logiciel par le producteur jusqu’à sa désinstallation des sites cible de déploiement, cela inclue les
activités de mise en place sur les sites cible comme l’installation et l’activation ainsi que les
activités de maintenance du logiciel comme la reconfiguration et la mise à jour.
Dans [van der Hoek 1998], les auteurs ont défini le cycle de vie de déploiement comme un
processus formé de huit activités indépendantes et un ensemble de transi- tion entre les activités.
Les activités en question sont considérées comme les activités minimales devant appartenir au
processus de déploiement de logiciels. Pour cela, le processus de déploiement proposé est
considéré comme minimal et générique. Les activités appartenant à ce processus sont
respectivement : la mise à disposition (Re- lease), l’installation (Install), l’activation (Activate), la
désactivation (DeActivate), la mise à jour (Update), la désinstallation (DeInstall), l’adaptation
(Adapt) et la fin du support (DeRelease).
Nouvelle Fin de versionsupport
Installation Désinstallation
Activation Désactivation
FIGURE 2.2 – Cycle de vie de déploiement définie dans [van der Hoek 1998]
Activités de déploiement
– La mise à disposition [van der Hoek 1998, Hall 1999] : cette activité est appelé aussi la diffusion
logiciel, elle fait l’interface entre le processus de développement et le processus de déploiement
du logiciel. Elle comporte des opérations qui permettent de préparer le système logiciel afin qu’il
puisse être correctement assemblé au niveau du site cible de déploiement. Elle inclut les étapes
de paquetage et de mise en place du logiciel. Le résultat de cette activité est une archive
(paquetage) qui contient les composantes du logiciel, ses dépendances, ses contraintes, ainsi que
des informations nécessaires aux autres activités de déploiement. Ce paquetage va être déployé
par la suite sur un ou plusieurs sites cibles de déploiement.
– L’installation du logiciel [van der Hoek 1998, Hall 1999] : une activité qui permet d’insérer un
logiciel dans un ou plusieurs sites cibles de dé- ploiement. Elle est considérée comme l’activité la
plus complexe et la plus importante du cycle de vie de déploiement. Elle inclut la résolution des
dépendances du logiciel à déployer en matière de ressources physique et logicielles nécessaires
pour son utilisation. Autrement dit, elle permet de trouver et d’assembler toutes les ressources
nécessaires au logiciel à installer en interprétant les informations fournies dans l’archive, cela en
inspectant le / les sites cibles pour configurer correctement le système logiciel. Elle comporte
aussi, le transfert des unités de déploiement vers le / les sites cibles ainsi que leur configuration
pour rendre le logiciel déployé activable.
– La désinstallation [van der Hoek 1998, Hall 1999] : une activité qui consiste à remettre à l’état
initial le système et enlever toutes les modifications introduites sur toutes les machines cibles par
les différentes activités du processus du déploiement. Au moment de désinstallation, le système
doit gérer les ressources et dépendances partagées avec d’autres logiciels.
– L’activation [van der Hoek 1998, Hall 1999] : cette activité consiste en le lancement de
l’exécution d’un logiciel installé. Elle peut se résumer simple- ment à l’invocation d’une méthode
dans sa forme la plus simple. Par contre, dans sa forme la plus complexe, il peut être nécessaire
d’activer des éléments de l’environnement cible comme les dépendances logicielles ou de
serveurs avant de pouvoir activer l’application.
– La désactivation [van der Hoek 1998, Hall 1999] : une activité utilisée en général avant une
activité de mise à jour, de désinstallation ou même de reconfiguration. Elle consiste à interrompre
l’exécution du logiciel ou d’une partie du logiciel (un composant) déployé.
– La mise à jour [van der Hoek 1998, Hall 1999] : une activité qui consiste a modifier un logiciel
déjà installé, en installant par exemple une nouvelle version du logiciel. La mise à jour peut être de
type statique ou dynamique. Elle inclut la désactivation du logiciel déployé (dans le cadre de la
mise à jour statique), le transfert et l’installation des nouveaux paquetages dans les sites cibles et
enfin l’activation des parties désactivées. Elle est considérée comme un cas particulier de
l’installation, mais elle reste moins complexe puisque la plupart des ressources nécessaire ont
déjà été obtenues durant l’activité d’installation.
– La reconfiguration [van der Hoek 1998, Hall 1999] : cette activité per- met de modifier un
logiciel déjà installé en sélectionnant une configuration différente (pas similaire) a la configuration
existante. Elle peut être par exemple, l’ajout ou la suppression d’un composant, la réparation
d’une panne ou simplement le changement des paramètres de configuration. Elle est utilisée
généralement suite à un ou plusieurs événements nécessitant une opération d’adaptation afin
d’ajuster le comportement du logiciel déployé. Elle à pour but, la correction de situation pour
maintenir en vie le logiciel déployé.
La ftn du support [van der Hoek 1998, Hall 1999] : une activité qui intervient à la fin du cycle de
vie de déploiement. Elle est différente de la désinstallation. Elle illustre le fait d’informer l’utilisateur
final que le logiciel déjà déployé n’est plus disponible pour des futures installations.
Unités de déploiement
Le terme déploiement de logiciels est souvent utilisé et laisse à penser que l’unité de base de
la phase de déploiement est le logiciel. Or les éléments qui sont effectivement déployés sont des
unités de déploiement.
Une unité de déploiement est une entité logicielle archivée (packagée) de façon à pouvoir être
déployée. Autrement dit, une unité de déploiement est une archive exécutable dans un
environnement d’exécution sans le besoin d’intervention d’un opérateur humain pour le modifier
pour le rendre prêt à être déployé. Ainsi, un logiciel acquis peut être une unité de déploiement en
lui-même ou être constitué d’un ensemble d’unités de déploiement. L’unité de déploiement peut
être aussi un composant logiciel ou une application composée d’un ou plusieurs composants.
Types de déploiement
Dans la littérature, le déploiement de logiciels peut se réaliser par deux types de stratégies :
push et pull. Dans le mode pull, le déploiement est réalisé à la demande des sites cibles de
déploiement. Tandis que dans le mode push, l’administrateur de déploiement commence le
processus à partir d’un site initiateur de déploiement.
Le déploiement, peut être sensible au contexte d’exécution de l’application dé- ployé. La
gestion du contexte peut être réalisé par le gestionnaire de déploiement qui est alors le
responsable de la récolte et la gestion des informations de contexte. La gestion des informations
de contexte peut aussi être assurée par l’application dé- ployée elle-même, en implémentant des
modules de gestion et adaptation au contexte de l’exécution.
Il existe deux types de déploiement, le déploiement initial et le déploiement ultérieur. Le
déploiement initial, fait référence au premier déploiement de l’application dans l’environnement
cible. Tandis que le déploiement ultérieur, est le résultat d’une activité de reconfiguration (évolution
du système) après une panne ou une déconnexion par exemple.
Plan de déploiement
Contrôle du déploiement
Introduction