Selon une enquête mondiale menée par O'Reilly, auprès de 1 502 informaticiens et professionnels de l’IT, près des trois quarts des personnes interrogées (72 %) ont adopté les microservices. Mais attention à ne pas trop se précipiter...
Huit ans après son apparition, ce terme (popularisé par Martin Fowler, un informaticien auteur d’un ouvrage de référence sur le refactoring), fait dorénavant partie de l’univers IT.
Cette nouvelle approche architecturale et organisationnelle du développement séduit de plus en plus les professionnels comme le montre cette enquête. Cependant, moins d'un tiers des répondants (29 %) déclarent qu'ils migrent - ou mettent en œuvre - une majorité de leurs systèmes en utilisant des microservices.
Près des deux tiers des répondants (61 %) disent que leur organisation les utilise depuis un an ou plus, 28 % les employant depuis au moins trois ans. Mike Loukides, vice-président de la stratégie des contenus chez O'Reilly, a déclaré qu'il est clair que les organisations adoptent largement les microservices pour créer des applications plus flexibles et plus résistantes lorsqu'elles sont utilisées à grande échelle.
Même si l’usage des microservices est récent, 92 % des répondants déclarent avoir réussi leur déploiement. Près de la moitié de ces équipes (49 %) déclarent avoir au moins « réussi dans l'ensemble » avec les microservices, et 10 % déclarent que leurs efforts de développement de microservices ont été un « succès complet ».
Toutefois, le rapport ne définit pas précisément ce que signifie dans le cas présent une « réussite ».
Près de la moitié (49 %) des répondants qui décrivent leurs déploiements comme « un succès complet » déploie également au moins 75 % de leurs microservices dans des conteneurs. On pourrait raisonnablement s'attendre à ce que les conteneurs soient le moyen le plus courant de déployer les microservices.
Cependant cette enquête indique que la plupart des répondants (58 %) déploient les microservices en utilisant un autre moyen que les conteneurs. Quant aux avantages, ils sont nombreux. Citons entre autres :
- Des tests automatisés plus faciles ;
- Des modèles de déploiement rapide et flexible ;
- Une plus grande résilience globale.
Près des trois quarts (74 %) déclarent que leurs équipes sont propriétaires des phases de construction, de test, de déploiement et de maintenance du cycle de vie des logiciels.
À mesure que les équipes informatiques se familiarisent avec les technologies de conteneurs telles que Kubernetes, le rythme auquel les applications basées sur les microservices devraient augmenter dans les mois à venir.
Les trois principaux obstacles à l'adoption sont la complexité sous une forme ou une autre (56 %), la culture d'entreprise (40 %) et la décomposition des applications monolithiques en microservices (37 %).
« Nos résultats soulignent l'importance d'un développement pragmatique des microservices. Les microservices peuvent être complexes - il est inutile de le nier. Et la complexité conduit souvent à l'échec - il ne sert à rien de le nier non plus. L'utilisation de conteneurs pour le déploiement est une façon de minimiser la complexité », insistent les auteurs du rapport d’O'Reilly.
De nombreux projets de microservices remplacent des systèmes existants. Et ce système existant a sa propre complexité : une complexité qui s'est accrue au fil des ans.
« Si vous vous êtes habitué à vos anciens systèmes, vous ne vous rendez probablement pas compte de leur complexité. Mais si vous avez pris la décision de migrer d'un monolithe à des microservices, la complexité de la maintenance de votre monolithe en est presque certainement la raison », rappellent fort à propos auteurs du rapport d’O'Reilly.
Un point semble faire l’unanimité : plus les équipes informatiques adopteront les microservices, plus il est probable qu'elles s'appuieront sur les meilleures pratiques de développement pour atteindre cet objectif.