Booster sa croissance digitale avec une approche plus intelligente des déploiements
La demande pour les services digitaux s’amplifie de manière spectaculaire, tout comme les attentes des utilisateurs. Pour parvenir à répondre aux exigences des consommateurs en matière d’expériences connectées, les organisations devraient investir 1,78 milliard de dollars dans leur transformation digitale en 2022, contre 1,31 milliard en 2020.
L’accélération de cette transformation pèse lourdement sur les équipes DevOps, qui doivent aller de plus en plus vite sans toutefois faire de compromis sur la qualité. On attend d’elles aujourd’hui qu’elles développent et déploient des mises à jour applicatives au périmètre plus limité, mais plus fréquemment, parfois plusieurs fois par jour. Alors qu’il y a encore quelques années, elles avaient plutôt tendance à livrer une seule mise à jour massive une fois par trimestre.
Face à cette pression croissante, même les grandes entreprises, qui incarnent généralement ce qui se fait de mieux en matière d’expérience digitale, ne parviennent pas toujours à suivre le rythme.
La panne de Facebook en octobre dernier, qui a empêché les utilisateurs d’accéder à la plateforme pendant près de six heures, est un parfait exemple de la façon dont un changement de configuration, même mineur, sur une infrastructure digitale, peut provoquer un chaos. Pour pouvoir innover sans dégrader l’expérience utilisateur, les organisations doivent adopter des pratiques de développement et de déploiement à la fois modernes et intelligentes. Avec à la clé, une réduction du risque d’erreurs, une amélioration de la qualité du code, et une moindre pression sur les équipes DevOps.
La vitesse au détriment de la qualité
Les cycles d’innovation s’accélèrent. Une étude récente de Dynatrace souligne que les organisations s’attendent à ce que la fréquence de la livraison de leurs nouvelles releases augmente de 58% d’ici 2023. Mais pour beaucoup, le rythme sera difficile à tenir, étant donné que leurs équipes DevOps sont déjà débordées par les workloads actuels. Le nombre d’heures investi dans le développement de mises à jour pour des centaines de devices, d’applications et de systèmes d’exploitation différents, est déjà considérable. Et avec la complexité croissante de l’IT, les équipes DevOps continueront d’être de plus en plus sollicitées.
L’écriture du code n’est que la partie émergée de l’iceberg. Les processus de développement sont aussi impactés par les tests manuels chronophages, les toolchains de plus en plus fragmentées, et l’explosion des données générées par le passage dans le cloud.
Face à l’ampleur de la tâche, et à défaut de ressources supplémentaires, les équipes DevOps sont soumises à une pression telle qu’elles se retrouvent à devoir faire l’impasse sur la qualité du code. Ce qui favorise le risque que des erreurs de code passent entre les mailles du filet, et mettent en péril les services digitaux et les expériences utilisateurs.
Même des changements mineurs comportent des risques
Pour ne rien arranger, il s’avère qu’une nouvelle release peut être difficile à évaluer tant qu’elle n’est pas mise en production. Et que, pire encore, il est souvent compliqué, quand un changement provoque un problème, de revenir en arrière pour retrouver la version précédente et stable de l’application.
Tout ceci tient essentiellement à la complexité des environnements multicloud actuels. Les services digitaux sont composés de centaines de millions de lignes de codes et de milliards de dépendances, qui s’étendent sur une multitude de plateformes et de types d’infrastructures différentes.
Cette interconnexion empêche les équipes DevOps de mesurer toutes les conséquences potentielles de leurs changements, aussi minimes soient-ils.
Elle crée aussi une surcharge d’alertes, générées par les outils de monitoring du cloud qui capturent un volume, une vélocité et une variété de données dépassant aujourd’hui les capacités humaines de gestion. Il est tout simplement impossible pour les équipes DevOps d’identifier rapidement et précisément la ligne de code à l’origine d’un problème.
Une approche plus automatisée et plus intelligente
Pour éviter qu’un code de mauvaise qualité ne passe en production, et pour garantir une bonne expérience utilisateur, les organisations ont besoin d’une approche plus intelligente en matière de développement logiciel.
Pour cela, elles doivent commencer par automatiser les tâches répétitives, afin de libérer du temps aux équipes DevOps pour qu’elles puissent se concentrer sur des activités à plus forte valeur ajoutée. Les organisations doivent d’abord établir des barrières automatiques de qualité, qui évaluent les indicateurs de performances clés des nouveaux builds, tels que les temps de réponse ou les débits, par rapport aux objectifs de niveau de service (SLO). Ce qui leur permet ainsi de s’assurer que tout nouveau changement de code ne passe en production qu’à condition de répondre aux exigences minimales en termes d’expérience utilisateur, évitant ainsi un impact négatif imprévu.
En cas de problème, les organisations peuvent par ailleurs améliorer leur temps de résolution en tirant parti des capacités d’observabilité unifiée étendue. Ce niveau d’observabilité fournit aux équipes DevOps une visibilité approfondie au niveau du code de tous les builds, applications et services, de l’ensemble de la plateforme cloud, en développement comme en production.
La combinaison de cette observabilité avec de l’AIOps – l’utilisation de l’IA dans les opérations d’exploitation – permet d’optimiser encore davantage cette visibilité, en priorisant automatiquement les problèmes en fonction de leur impact business. Les équipes DevOps sont donc capables de rapidement identifier et résoudre les alertes les plus urgentes, avant même que le problème n’impacte les utilisateurs.
Alléger la pression et assurer le succès
Améliorer les pratiques de développement avec de l’AIOps, de l’automatisation et de l’observabilité permet de considérablement alléger la pression subie par les équipes DevOps, et de les aider à rester en phase avec l’accélération de la transformation digitale. Plus les organisations augmentent la fréquence de leurs releases logicielles, plus il devient important qu’elles aient une visibilité automatique et continue sur l’ensemble de leur environnement de services digitaux, afin de pouvoir accélérer leur transformation et fournir des expériences logicielles de qualité.
Par Antoine Ferté, directeur technique Europe du Sud chez Dynatrace.
Plus d’informations: www.dynatrace.fr