La chose la plus importante pour les ingénieurs DevOps dans ce type de situation consiste à obtenir (a) un engagement de la direction et (b) des budgets requis . Lisez la suite pour plus de détails sur les deux ...
Obtenir l'engagement de la direction
Une fois que cela est en place, les choses deviennent faciles pour de tels ingénieurs DevOps. Particulièrement lorsque la résistance (de toutes sortes de partis) entre en jeu. Croyez-moi, il y aura une telle résistance, avec des défis tels que:
- Pourquoi devons-nous changer? Je veux continuer à faire ce que je faisais depuis X ans déjà!
- Je ne veux pas perdre le pouvoir (technique) que j'ai et compléter toutes sortes de procédures de workflow pour obtenir une solution idiote en production qui devrait me prendre environ 5 minutes au lieu de 5 heures (ou jours ...).
- ... (Je pourrais ajouter une douzaine de balles ici ...).
Tous les ingénieurs DevOps devraient avoir à répondre à chaque fois que de tels problèmes se présentent:
Je suis désolé, je ne fais que mon travail ... basé sur les instructions de la haute direction.
Obtenir les budgets requis
Un moyen efficace d'obtenir les budgets requis consiste à créer / soumettre une analyse de rentabilisation appropriée expliquant les avantages tangibles et intangibles des différentes pratiques de DevOps en les appliquant à des cas concrets s'appliquant à l'entreprise elle-même.
Vous trouverez ci-dessous des cas concrets que j'ai moi-même vécus, en tant que consultant SCM recruté par certaines entreprises. Je sais que SCM n’est qu’une partie de DevOps, mais c’est le domaine dans lequel j’ai une certaine expertise ...
1. Avantages de l'automatisation
En raison de la grève de seulement 2 (!!!) opérateurs informatiques (qui ne tapaient plus les commandes de la console qu’ils étaient censés taper), les trains ont dû être arrêtés à mi-chemin entre 2 usines (car le système de l’usine où le train se dirigeait vers le bas était en panne, les données cruciales sur la manipulation du train n’étaient pas disponibles).
En mettant en œuvre un système SCM, de nombreuses commandes d'opérateur ont été automatisées.
2. Réduire les coûts de licence logicielle
Certains éditeurs de logiciels avaient décidé d’augmenter les frais annuels du logiciel SCM (obsolète), ce que la direction n’a pas accepté. Ils ont donc créé un projet spécial pour le remplacer par un autre logiciel SCM.
Le budget du projet était égal aux frais annuels qu’ils ne voulaient pas continuer à payer. Cela impliquait de faire venir des ingénieurs d’autres continents (comme moi) pour mener à bien le projet.
3. Réduire les coûts d'exploitation
Une grande compagnie d’assurance utilisait un logiciel FTP pour transférer des correctifs logiciels vers environ 13 000 ordinateurs de milieu de gamme (AS / 400) dans tout le pays, et ce, chaque fois qu’un "correctif" était disponible. Le coût d'un tel transfert était d'environ 4 USD (13 000 x 4 = 52 000 USD pour un seul transfert ...). Le logiciel comprenait 120 000 composants, développés / maintenus par environ 150 développeurs. Faites le calcul sur la probabilité qu'un développeur fasse une (petite) erreur dans l'un de ces 120 000 composants, ce qui l'a rendu à la production et nécessitait une solution urgente, ce qui coûterait 52 000 USD supplémentaires (juste pour le transfert!).
En mettant en place un système de gestion de la chaîne logistique adéquat (avec environnements de test gérés, approbations, etc.), cette société a pu réduire considérablement ses coûts. Pensez-y, si le système SCM pouvait éviter la nécessité de ne transférer que 20 transferts de correctifs urgents, il entraînait une réduction des coûts de 52 000 x 20 = 1 040 000 USD (un budget considérable pour mettre en œuvre un système SCM, il ne leur fallait qu'une fraction de ce montant pour faire le travail).
4. Réduire les coûts d'indisponibilité
Si les cas ci-dessus ne sont pas suffisamment convaincants, imaginez le système d’une grande société de cartes de crédit indisponible dans le monde entier. On m'a dit qu'une seconde d'indisponibilité leur coûte 1 000 000 USD.
C'est probablement aussi la raison pour laquelle, pendant très longtemps, de telles sociétés ont mis en place des outils sophistiqués DevOps, et ce depuis plusieurs décennies déjà. Parce que chaque seconde, ils ne sont pas en affaires leur coûte une fortune.