Definition

NoOps

NoOps (No Operations) – l'absence de personnel d'exploitation – est un concept selon lequel un environnement informatique a atteint un niveau d'automatisation et de virtualisation suffisant, par rapport à son infrastructure sous-jacente, pour que plus aucune équipe interne ne soit nécessaire à l'administration de l’infrastructure logicielle.

Traditionnellement, dans l'entreprise, une équipe de développement d'applications est chargée de recueillir les exigences métier auxquelles doit répondre un logiciel, puis d'en rédiger le code. L'équipe de développement teste son programme dans un environnement isolé à des fins d'assurance qualité. Ensuite, si les exigences sont satisfaites, elle met le code à la disposition d'une équipe d'exploitation, chargée à son tour de déployer et de gérer le programme.

Dans un scénario NoOps, les différentes tâches effectuées par cette dernière équipe, notamment la maintenance, sont automatisées.

Forrester, qui a inventé le terme NoOps, le définit comme « l'objectif d'automatisation complète du déploiement, de la surveillance et de l'administration des applications, ainsi que de l'infrastructure sur laquelle elles s'exécutent ». Selon Glenn O'Donnell, analyste en chef chez Forrester et co-auteur du rapport « Augment DevOps with NoOps » (« Renforcer le DevOps par le NoOps »), si certains postes d'exploitation sont appelés à disparaître, il est probable que d'autres évolueront simplement d'un cadre strictement technique vers une orientation plus commerciale.

Les deux principaux moteurs de l'approche NoOps sont l'accroissement de l'automatisation IT et le Cloud computing. En poussant le concept à l'extrême, une organisation NoOps n'aurait aucun employé chargé de l'exploitation ; toutefois, divers autres systèmes méritent également le label « NoOps ». Par exemple, certains fournisseurs de solutions PaaS (Platform-as-a-Service) qualifient leurs offres de plateformes NoOps.

Le concept NoOps se distingue de celui de DevOps. En effet, dans ce dernier, la frontière entre les équipes de développement et d'exploitation devient floue, les membres de chaque équipe pouvant endosser certaines responsabilités de l'autre. Mais aucune des deux ne disparait.

Cette définition a été mise à jour en avril 2016

Pour approfondir sur Architectures logicielles et SOA

Close