Ces dernières années, beaucoup de temps, de ressources et d’énergie ont été investis pour rapprocher les équipes de développement et de production. Et à juste titre : le DevOps permet en effet aux organisations d’accroître sensiblement leur agilité, tout en réduisant leurs coûts et les risques liés à leur transformations numérique. Une récente étude (ColemanParkes et CA Technologies) montre, en effet que, 87% des organisations françaises considèrent les pratiques Agiles et DevOps comme essentielles à la réussite de leur transformation numérique.
Pour 2017, les tendances les plus marquantes ne concerneront pas forcément les équipes de développement ou de production, mais la conduite de tests, la sécurité et la collecte d’indicateurs de performances. La récente acquisition de Veracode, un spécialiste des tests de sécurisation des applications, par CA Technologies, en est une illustration.
La conduite de tests en continu : enjeu majeur du DevOps
Vouloir déployer rapidement du nouveau code en production est un objectif noble, mais cette approche peut également accélérer l’échec d’une stratégie numérique. La réussite en matière de DevOps est une question de rapidité, mais aussi de qualité. Et le seul moyen de s’assurer de la qualité du code applicatif est de le tester en continu.Nous connaissons tous la valeur des tests. Mais aujourd’hui l’accélération du développement qui résulte de la mise en œuvre réussie de pratiques DevOps, met les équipes spécialisées sous une pression croissante. Une autre étude montre que 68% des équipes de production ressentent une pression accrue liée à l’adoption de pratiques DevOps. Désormais, le test applicatif ne peut plus être réduit à une simple phase du cycle de développement logiciel car les risques liés à du code de mauvaise qualité ont un impact sur toute la chaîne de fabrication des logiciels.
En effet, les attentes des clients quant à leurs expériences en ligne ne cessent de croître, tandis que la concurrence perfectionne son offre numérique. Les tests doivent donc être plus rigoureux, et surtout menés tout au long du cycle de vie applicatif, et pas seulement par les responsables de l’assurance qualité. Les développeurs doivent pouvoir tester le code progressivement (la fameuse approche « shift left »), plus rapidement et en s’appuyant davantage sur des capacités d’automatisation. Enfin, les procédures et leurs résultats doivent être ouverts aux équipes de production.
Les tests sont devenus le principal obstacle à un développement rapide et de qualité à grande échelle, il faut s’attendre à ce qu’ils soient au cœur de toutes les préoccupations en 2017.
‘Secure DevOps’ : penser la sécurité, du développement à la mise en production
Le moyen le plus rapide pour déstabiliser une entreprise consiste à faire rapidement passer en production du code répondant parfaitement aux exigences fonctionnelles, de performance, et d’évolutivité…, mais vous laissant intégralement vulnérable à toutes les attaques de piratage.
La sécurité est, elle aussi, essentielle et un changement culturel doit avoir lieu pour qu’elle soit traitée en amont dans le cadre d’une approche Secure DevOps. Compte tenu de la prolifération et de la complexité croissante des attaques (sans compter la vitesse à laquelle la réputation d’une entreprise et son image de marque peut être mise à mal), il est clair qu’aucun code ne peut être considéré comme complet s’il n’est pas suffisamment sécurisé avant d’être déployé au sein d’une architecture robuste.
Avec l’évolution des microservices et des kits de développement logiciel, il sera de plus en plus facile pour les développeurs d’intégrer des capacités de sécurité dès le début, sans mettre la qualité de l’expérience utilisateur au second plan un seul instant. Mais en matière de tests et de déploiement de code, la validation de la sécurité doit faire l’objet d’un traitement particulier. Les tests correspondants sont en effet très particuliers et dynamiques, et nécessitent généralement l’intervention d’experts et d’autres acteurs n’étant pas normalement impliqués dans un processus DevOps (ex. : les équipes chargées de la gouvernance, de la gestion des risques et de la conformité).
2017, l’année des indicateurs de performances
Il n’y a rien de surprenant dans le fait que jusqu’à récemment, très peu d’organisations aient prêté attention aux indicateurs de performances du DevOps. Après tout, pour bon nombre d’entre elles, la simple mise en place des processus, des outils et de la culture adéquats s’est révélé difficile. Pourtant, comment espérer améliorer ce que l’on ne sait pas mesurer ? Avec la généralisation des processus de développement Agile et DevOps, de réels progrès sont réalisés au niveau de l’adoption et de la standardisation des indicateurs de réussite de cette approche. Pourtant, les utilisateurs avancés de méthodologies DevOps réduisent de 38% leurs délais de commercialisation (de 12 à 7 semaines en moyenne). Et 83% des utilisateurs avancés des méthodes Agiles et Devops constatent une amélioration de leur expérience client.
Dans ce contexte, nous devrions assister à un affinement des pratiques DevOps grâce à une gestion basée sur des indicateurs de performances collectifs et individuels pour repérer des besoins de formation et répliquer les comportements des éléments les plus performants.
En 2017, le DevOps sera une problématique clé et les organisations tenteront d’aller plus loin à l’aide d’une automatisation des tests plus rigoureuse, des mécanismes de sécurité en pré-production plus sophistiqués, et une approche de management par objectifs très stricte tout au long du cycle de vie DevOps.
*90% des cas de piratage informatique résultent d’attaques exploitant des failles liés à des défauts de logiciels (Source : U.S. Department of Homeland Security)