No Ops comme 'NoOps' revisité : la vision est-elle déjà une réalité ?

Note de l’auteur : L’informatique peut-elle être automatisée à 99 % ? Nous avons vu la croissance de l’informatique sans serveur et une gamme d’approches “Ops” pour automatiser les logiciels et les pipelines de données. Il s’agit d’une mise à jour d’un article initialement publié en février 2019, mais qui pose des questions qui sont toujours en cours de réflexion. Surtout dans les années 2020 post-Covid et hyper-numériques.

windows-javits-center-new-york-janvier-2022-photo-de-joe-mckendrick.jpg

Photo : Joe McKendrick

Dans une récente étude de cas client d’AWS, SGK Inc., un fournisseur de solutions d’emballage et de commerce électronique, rapporte qu’il a réduit ses coûts d’exploitation informatiques de 83 % grâce aux NoOps et aux microservices sans serveur. “La sortie d’AWS Fargate fin 2017 a été un moment décisif pour adopter NoOps comme une excellente option pour une API entièrement évolutive. SGK a lancé sa première application utilisant une approche NoOps début 2018, et depuis lors, toutes ses solutions sont NoOps et sans serveur.”

Avec l’automatisation et l’autonomie croissantes des bases de données, des serveurs, des réseaux et de tout le reste, il a été question d’un nouveau mode de livraison de logiciels : “NoOps”. Autrement dit, le nouveau code est acheminé – du lobe frontal des développeurs au front-office – rapidement et automatiquement, avec un minimum d’intervention humaine.

Les gens de TechTarget définissent NoOps comme “le concept selon lequel un environnement informatique peut devenir tellement automatisé et abstrait de l’infrastructure sous-jacente qu’il n’est pas nécessaire qu’une équipe dédiée gère les logiciels en interne”.

J’ai demandé à Greg Nist, directeur de la Talend Academy, de m’expliquer les avantages d’une approche NoOps. Il désigne NoOps comme la prochaine évolution du modèle de développement de DevOps. “Les entreprises qui ont adopté le modèle DevOps ont constaté des avantages significatifs par rapport au modèle en cascade en silo”, souligne-t-il. “DevOps combine le rôle de développeur et d’opérateur pour augmenter la responsabilité et accélérer les déploiements de produits innovants, ce qui offre une véritable valeur ajoutée à l’entreprise et au client.”

Tout va bien, bien sûr. Mais alors Nist postule la phase suivante : “Et si vous pouviez passer de quelque chose de génial à quelque chose d’encore plus grand – quelque chose qui pourrait prolonger le temps consacré au développement ?” il demande. “C’est là que NoOps entre en jeu. En tirant parti des services cloud, les organisations peuvent réduire davantage les tâches d’administration, de configuration et de déploiement afin de maximiser le temps de développement.”

Qu’en est-il des organisations dont les initiatives DevOps sont faibles ou inexistantes ? Peuvent-elles passer à un modèle NoOps ? Comme il est également probable que les retardataires de DevOps soient également encore embourbés dans des infrastructures héritées sur site, un passage au cloud pourrait aider à ouvrir la voie, déclare Nist.

D’autres, cependant, conseillent la prudence avec NoOps – ce n’est pas une panacée, et il est bien trop tôt pour penser à remettre les clés d’implémentation logicielle aux robots. Il y a toujours un besoin de surveillants humains pour gérer les événements et les conditions imprévus. Bien que nous ayons parcouru un long chemin avec l’outillage, “l’idée que vous puissiez supprimer complètement les gens de cette équation est assez absurde, au moins dans les cinq prochaines années”, déclare David Linthicum dans une colonne InfoWorld. Il note que les systèmes hérités font de NoOps un non-démarreur pour de nombreuses organisations, mais, plus important encore, cela sape la prémisse de DevOps axée sur les personnes. “DevOps ne concerne pas seulement l’automatisation des opérations, il s’agit de personnes travaillant ensemble pour améliorer en permanence le développement et les opérations logicielles”, a-t-il déclaré.

Pourtant, l’évolution vers NoOps offre une augmentation de la productivité qui peut renforcer le processus d’innovation, dit Nist. “Je pense qu’il est plus utile de comparer NoOps avec le flux de travail DevOps typique, qui ne fait qu’itérer entre la construction, le test et la publication. Les éléments de construction et de test sont ce qui apporte de la valeur à l’entreprise, et le modèle DevOps fait du bon travail. de réduire ce qui n’apporte pas de valeur : la phase de lancement », explique-t-il. “Cependant, bien que la fenêtre de publication avec DevOps soit plus petite, elle est toujours là. Et DevOps a créé ce type de zone grise où les développeurs et le personnel d’exploitation se chevauchent au stade de la publication.”

Cette zone grise de chevauchement peut créer des enchevêtrements qui créeront des goulots d’étranglement. “Disons qu’en tant que développeur, le déploiement de votre cluster n’a pas été fait pour vous et que vous faites les choses de manière manuelle ou même par script”, poursuit Nist. “Si vous ne faites pas les choses correctement et que vous allez valider votre environnement une fois votre version terminée, vous allez être coincé dans un cycle de débogage et essayer de comprendre où les choses se sont mal passées. Cela va ralentir et cela peut être dû à une simple erreur, comme si vous aviez oublié de cliquer sur l’une des options de haute disponibilité dont vous aviez besoin, et tout s’arrête.”

Le modèle NoOps, d’autre part, « élève le niveau d’abstraction autour de la mise en œuvre des versions, ce qui permet aux développeurs de passer plus de temps sur la construction et les tests. En fait, avec les services cloud gérés, il est possible en quelques clics de configurer l’ensemble de votre environnement, avec tous les outils et le cadre nécessaires, pour exécuter un projet. En 15 minutes, vous pouvez obtenir un cluster entièrement fonctionnel et à haute disponibilité avec tous les logiciels et composants dont vous avez besoin.

Comment les rôles des personnes chargées des opérations changeront-ils si l’entreprise passe au NoOps ? Dans le scénario décrit ci-dessus, “le besoin d’opérations en ce qui concerne les rôles de configuration et de déploiement est considérablement réduit, à tel point que les développeurs pourraient l’intégrer à leur flux de travail”, explique Nist. “Et si vous autorisez l’administration et la surveillance réelles du serveur, via des services cloud gérés, cela ne suggérerait aucune équipe d’exploitation.”

Cela peut signifier plus d’opportunités pour les responsables des opérations d’élever leurs rôles dans leurs organisations, “pour redéfinir des professionnels des opérations hautement qualifiés dans des rôles dans lesquels ils peuvent consacrer leurs compétences à davantage d’activités à valeur ajoutée”, déclare Nist. Vous pouvez faire passer leur énergie de quelque chose qui était autrefois simplement une nécessité à quelque chose qui ajoute vraiment de la valeur au client. Par exemple, pensez à tout le temps consacré à Kubernetes, qui a une demande de configuration massive. Enlevez cela des épaules du personnel des opérations, et ils auront le temps et les ressources pour des tâches plus critiques comme le déploiement continu, le suivi granulaire de l’utilisation, de meilleurs tests et plus encore.”

Les développeurs peuvent également en bénéficier, bien sûr. “NoOps libère le temps et l’énergie qu’ils consacrent actuellement à ce dernier élément de leur pipeline – la sortie”, déclare Nist. “Vous enlevez littéralement des tâches des assiettes des développeurs, ce qui ne peut que signifier qu’ils peuvent faire ce dont ils ont besoin et ce qu’ils veulent faire : développer de nouveaux produits et services intéressants.”