OpenStack est devenu en peu de temps un acteur incontournable du cloud. Sa capacité à offrir des architectures plus étendues, plus interopérables, plus flexibles et plus sûres, séduit un nombre croissant d’entreprises, en même temps qu’elle fait émerger un besoin critique de monitoring applicatif adapté.
Qu’est-ce qu’OpenStack ?
Issu d’un projet commun entre Rackspace et la NASA datant de 2010, OpenStack est un système d’exploitation open source dans le cloud, utilisé pour développer des environnements cloud privés et publics. Il héberge une multitude de microservices indépendants, et fournit une couche IaaS pour les applications et les machines virtuelles.
OpenStack propose aujourd’hui plus de 60 composants – de type « services » – adressant les aspects inhérents au cloud. Cela inclut notamment des composants pour la gestion du réseau, du stockage, des briques de calcul, d’autres pour la gestion des identités et accès, et enfin d’autres pour l’orchestration des applications qui s’y exécutent.
Mais pourquoi tant de bruit autour d’OpenStack ?
Sans doute parce qu’il permet aux entreprises, de déployer via de l’open source une infrastructure cloud privée plus fiable, plus robuste, plus flexible et plus sûre que n’importe quelle plateforme cloud publique. OpenStack entend ainsi fournir une alternative à la fois gratuite et performante aux géants des services cloud, que sont par exemple AWS, Google cloud, Microsoft Azure ou DigitalOcean.
Contrairement à ces derniers, qui ont leurs API propriétaires, OpenStack est une solution ouverte permettant aux entreprises de s’affranchir des problématiques de propriétés ou de dépendance commerciale, et cela en offrant un maximum de flexibilité dans le cloud. Ensuite, et c’est l’un de ses principaux points forts, OpenStack garantit une meilleure protection des données sensibles, qui sont systématiquement hébergées et sécurisées dans le data center des clients, donc sans risque de verrouillage ou d’inaccessibilité.
Autant d’avantages qui ont fait écho auprès de grandes entreprises mondiales, comme AT&T, IBM, RedHat, China Mobile ou encore Bloomberg. En 2015, Gartner décrivait OpenStack comme un « projet scientifique ». En 2017, 451 Research Group estime que « le chiffre d’affaires de l’écosystème OpenStack sera multiplié par cinq d’ici 2020, passant de 1,7 milliards de dollars à 5,75 milliards de dollars. »
Les défis du monitoring de la performance dans OpenStack
Les clients d’OpenStack ont besoin d’indicateurs relatifs à la performance et disponibilité des services, à la santé des ressources système, de l’applicatif ou encore à l’analyse des logs. Le marché recèle ainsi d’outils de monitoring open source pour OpenStack, parmi lesquels :
– Monasca, un projet de la communauté OpenStack, défini comme un « monitoring-as-a-service » pour OpenStack ;
– Zabbix, un logiciel d’entreprise de monitoring des réseaux et des applications ;
– Elastic Stack (ELK Stack), sans doute l’un des outils de monitoring le plus utilisé ;
– Et dans une moindre mesure, Ceilometer, un projet de télémétrie de la communauté OpenStack souvent utilisé comme un outil de monitoring.
Tous ont leurs qualités et permettent de gagner en visibilité sur certains composants et cas d’usages, notamment en termes d’utilisation de la CPU, du réseau, du stockage, des temps de latence, etc. Mais ils présentent justement l’inconvénient de se concentrer sur des cas d’usage plutôt que sur une vision globale des environnements.
Pour une vision holistique des environnements OpenStack
Le monitoring d’une architecture de microservices est par nature complexe. Les écosystèmes applicatifs construits avec OpenStack n’échappent pas à cette règle, et les entreprises peinent à prendre le recul nécessaire pour en avoir une vue d’ensemble à la fois claire et exhaustive. Elles ont ainsi tendance à déployer plusieurs outils de monitoring – parfois jusqu’à plusieurs dizaines – pour leurs différents silos, avant de réaliser que cela ne les aide pas vraiment ni à identifier correctement et rapidement l’origine des problèmes de performance, ni à comprendre les tendances pour prédire leurs besoins en capacité. D’autant qu’OpenStack se distingue de ses pairs par sa nature insaisissable : un incident sur un des services OpenStack peut engendrer faussement la remontée d’un problème sur un des autres services affectés en cascade.
D’où l’importance d’avoir une vision holistique des environnements OpenStack, par opposition à un monitoring centré sur les cas d’usages tel que la plupart des outils de monitoring du marché le propose. Ces derniers ne sont, par exemple, pas capables d’identifier le lien de causalité entre les évènements, ni le contexte des données collectées. Sans compter qu’ils nécessitent souvent une configuration manuelle lourde et contraignante.
Un monitoring efficace d’applications complexes doit permettre aujourd’hui d’avoir une vue totale sur l’ensemble des couches technologiques de son environnement, de comprendre les données dans leur contexte, en faisant notamment appel à une intelligence artificielle, tout en s’affranchissant de toute intervention manuelle, grâce à une approche totalement automatisée. Parce que les environnements OpenStack et les applications qui s’y exécutent sont de plus en plus élastiques et complexes, ils nécessitent d’avoir une nouvelle approche en matière de monitoring de la performance et de se tourner vers une solution à la fois puissante, intelligente et simple d’utilisation.
__________
Rafaël Portolano est Consultant expert en Performance Applicative chez Dynatrace