Article de reference

Déploiement de logiciels

Le déploiement de logiciels correspond à l’ensemble des activités qui rendent un système logiciel disponible à l’utilisation. Le processus général de déploiement comprend plusie...

Le déploiement de logiciels correspond à l’ensemble des activités qui rendent un système logiciel disponible à l’utilisation.

Le processus général de déploiement comprend plusieurs activités interdépendantes avec des transitions possibles entre elles. Ces activités peuvent se dérouler du côté du producteur ou du côté du consommateur ou des deux. Étant donné que chaque système logiciel est unique, les processus ou procédures précis au sein de chaque activité peuvent difficilement être définis. Par conséquent, le « déploiement » doit être interprété comme un processus général qui doit être personnalisé en fonction d'exigences ou de caractéristiques spécifiques.

Histoire

Lorsque les ordinateurs étaient extrêmement grands, coûteux et encombrants ( ordinateurs centraux et mini-ordinateurs ), les logiciels étaient souvent fournis avec le matériel par les fabricants. Si un logiciel d'entreprise devait être installé sur un ordinateur existant, cela pouvait nécessiter une visite coûteuse et longue d'un architecte système ou d'un consultant . Pour les installations complexes sur site de logiciels d'entreprise , cela peut encore parfois être le cas aujourd'hui.

Cependant, avec le développement des logiciels grand public pour la nouvelle ère des micro-ordinateurs dans les années 1980, de nouvelles formes de distribution de logiciels sont apparues : d'abord les cartouches , puis les cassettes compactes , puis les disquettes , puis (dans les années 1990 et plus tard) les supports optiques , Internet et les clés USB . Cela signifiait que le déploiement des logiciels pouvait être laissé au client. Cependant, il est également devenu de plus en plus évident au fil du temps que la configuration du logiciel par le client était importante et que celle-ci devait idéalement disposer d'une interface conviviale (plutôt que, par exemple, obliger le client à modifier les entrées de registre sous Windows).

Avant l’avènement d’Internet, les déploiements de logiciels (et leur cousin proche, les nouvelles versions de logiciels) étaient nécessairement coûteux, peu fréquents et volumineux. On peut donc soutenir que la diffusion d’Internet a rendu possible le développement agile de logiciels de bout en bout . En effet, l’avènement du cloud computing et des logiciels en tant que service a permis de déployer des logiciels auprès d’un grand nombre de clients en quelques minutes, via Internet. Cela signifiait également que les calendriers de déploiement étaient désormais généralement déterminés par le fournisseur de logiciels, et non par les clients. Cette flexibilité a conduit à l’essor de la livraison continue comme option viable, en particulier pour les applications Web moins risquées .

D’autres options de déploiement de logiciels incluent le déploiement bleu-vert et le déploiement en version Canary .

Activités de déploiement

Libérer
L' activité de publication fait suite à l'achèvement du processus de développement et est parfois classée comme faisant partie du processus de développement plutôt que du processus de déploiement. Elle comprend toutes les opérations de préparation d'un système pour l'assemblage et le transfert vers le(s) système(s) informatique(s) sur lequel/lesquels il sera exécuté en production. Par conséquent, elle implique parfois de déterminer les ressources nécessaires pour que le système fonctionne avec des performances tolérables et de planifier et/ou de documenter les activités ultérieures du processus de déploiement.
Installation et activation
Pour les systèmes simples, l'installation implique la création d'une forme de commande , de raccourci, de script ou de service pour exécuter le logiciel (manuellement ou automatiquement). Pour les systèmes complexes, cela peut impliquer la configuration du système – éventuellement en posant des questions à l' utilisateur final sur son utilisation prévue, ou en lui demandant directement comment il souhaite qu'il soit configuré – et/ou en rendant tous les sous-systèmes requis prêts à l'emploi. L'activation est l'activité consistant à démarrer le composant exécutable du logiciel pour la première fois (à ne pas confondre avec l'utilisation courante du terme activation concernant une licence de logiciel, qui est une fonction des systèmes de gestion des droits numériques ).
Dans les déploiements de logiciels de plus grande envergure sur des serveurs , la copie principale du logiciel à utiliser par les utilisateurs (la « production ») peut être installée sur un serveur de production dans un environnement de production. D'autres versions du logiciel déployé peuvent être installées dans un environnement de test , un environnement de développement et un environnement de reprise après sinistre.
Dans les environnements complexes de distribution continue et/ou les systèmes de logiciels en tant que service , des versions du système configurées différemment peuvent même exister simultanément dans l'environnement de production pour différents clients internes ou externes (on parle alors d' architecture multi-locataire ), voire être progressivement déployées en parallèle vers différents groupes de clients, avec la possibilité d'annuler un ou plusieurs des déploiements parallèles. Par exemple, Twitter est connu pour utiliser cette dernière approche pour les tests A/B de nouvelles fonctionnalités et les modifications de l'interface utilisateur . Un groupe « live caché » peut également être créé dans un environnement de production, composé de serveurs qui ne sont pas encore connectés à l' équilibreur de charge de production , à des fins de déploiement bleu-vert .
Désactivation
La désactivation est l'inverse de l'activation et fait référence à l'arrêt de tous les composants déjà en cours d'exécution d'un système. La désactivation est souvent requise pour effectuer d'autres activités de déploiement, par exemple, un système logiciel peut avoir besoin d'être désactivé avant qu'une mise à jour puisse être effectuée. La pratique consistant à supprimer du service les systèmes rarement utilisés ou obsolètes est souvent appelée retrait d'application ou mise hors service d'application.
Désinstallation
La désinstallation est l'inverse de l'installation. Il s'agit de la suppression d'un système qui n'est plus nécessaire. Elle peut également impliquer une reconfiguration d'autres systèmes logiciels pour supprimer les dépendances du système désinstallé .
Mise à jour
Le processus de mise à jour remplace une version antérieure de tout ou partie d'un système logiciel par une version plus récente. Il consiste généralement en une désactivation suivie d'une installation. Sur certains systèmes, comme sous Linux lorsque vous utilisez le gestionnaire de paquets du système , l'ancienne version d'une application logicielle est généralement également désinstallée dans le cadre automatique du processus. (Cela est dû au fait que les gestionnaires de paquets Linux ne prennent généralement pas en charge l'installation de plusieurs versions d'une application logicielle en même temps, sauf si le paquet logiciel a été spécifiquement conçu pour contourner cette limitation.)
Mise à jour intégrée
Les mécanismes d'installation des mises à jour sont intégrés à certains systèmes logiciels (ou, dans le cas de certains systèmes d'exploitation tels que Linux , Android et iOS , au système d'exploitation lui-même). L'automatisation de ces processus de mise à jour peut être entièrement automatique ou lancée et contrôlée par l'utilisateur. Norton Internet Security est un exemple de système doté d'une méthode semi-automatique de récupération et d'installation des mises à jour des définitions antivirus et d'autres composants du système. D'autres logiciels proposent des mécanismes de requête permettant de déterminer quand les mises à jour sont disponibles.
Suivi des versions
Les systèmes de suivi des versions aident l'utilisateur à trouver et à installer des mises à jour sur les systèmes logiciels. Par exemple : le catalogue de logiciels stocke la version et d'autres informations pour chaque package logiciel installé sur un système local. Un simple clic sur un bouton ouvre une fenêtre de navigateur vers la page Web de mise à niveau de l'application, y compris le remplissage automatique du nom d'utilisateur et du mot de passe pour les sites qui nécessitent une connexion. Sur Linux, Android et iOS, ce processus est encore plus simple car un processus standardisé de suivi des versions (pour les packages logiciels installés de manière officiellement prise en charge) est intégré au système d'exploitation, de sorte qu'aucune étape distincte de connexion, de téléchargement et d'exécution n'est requise. Le processus peut donc être configuré pour être entièrement automatisé. Certains logiciels tiers prennent également en charge le suivi et la mise à niveau automatiques des versions pour certains packages logiciels Windows.

Rôles de déploiement

La complexité et la variabilité des produits logiciels ont favorisé l'émergence de rôles spécialisés pour la coordination et l'ingénierie du processus de déploiement. Pour les systèmes de bureau, les utilisateurs finaux deviennent souvent également les « déployeurs de logiciels » lorsqu'ils installent un package logiciel sur leur machine. Le déploiement de logiciels d'entreprise implique de nombreux autres rôles, et ces rôles changent généralement à mesure que l'application passe des environnements de test (pré-production) aux environnements de production. Les rôles typiques impliqués dans les déploiements de logiciels pour les applications d'entreprise peuvent inclure :

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index