Cloud Management Platform - Vers la gouvernance de votre empreinte IT

le 06/06/2016 par Frédéric Petit
Tags: Software Engineering

Nombreux sont ceux qui se décident à investir dans une utilisation industrialisée du “Cloud Public” ou dans la mise en place d’une plate-forme d’hébergement de conteneurs, et ceci, tout en maintenant une infrastructure virtualisée privée, soumise à l’inertie des technologies, de l’architecture et des processus historiques.

Faire face à une infrastructure aux multiples offres mixant IaaS, CaaS, PaaS, hébergées en privé ou public, est une tendance inéluctable.

Le “Cloud Management Platform”

Afin de maintenir une stratégie de “Single Pane of Glass”, qui consiste à fournir une vue agrégée permettant de garder une capacité de gestion sur l’ensemble du parc IT, il est important d'inclure dans sa gouvernance ce que l’on pourrait appeler “le manager de managers”.

La promesse d’un “Hybrid Cloud Management Platform (hCMP)” est de fournir certaines fonctionnalités qui perdent de leur sens si elles ne couvrent pas l’ensemble de votre empreinte IT.

Tout d’abord, avoir connaissance de ses actifs (Insight) :

  • Identifier régulièrement l’ensemble des ressources (Discovery and Inventory Management)
  • Déterminer l’utilisation de ces ressources (Monitoring and Utilization)
  • Analyser l’état de ces ressources (Reporting, State Analysis and Analytics)
  • Déduire leur capacité à fournir une valeur (Capacity and Capacity Planning)

Puis, contrôler ses actifs (Control) :

  • Déterminer des règles de sécurité et une politique d’utilisation (Security, Policy and Quotas)
  • Configurer des alertes sur les événements en marges des politiques établies (Alerting)
  • Appliquer des actions correctives (Compliance) au travers événements préalablement automatisés

Afin de, s’appuyer sur l’automatisation de tâches (Automate) :

  • Automatiser un processus via l'orchestration de tâches automatisées (Orchestration)
  • Corréler ces actions aux événements (Task and Event Management)

Enfin, donner la possibilité au “Manager des Managers” de communiquer avec l’ensemble de vos systèmes au travers d'interfaces de programmation (Integrate) :

  • Mettre à jour un référentiel
  • Alerter un collaborateur ou une collaboratrice
  • Demander l'exécution d’une tâche à un système tierce
    • Provisionner / Dé-provisionner une ressource
    • Appliquer une configuration (Configuration and Change Management)

On profite des capacités et de la position dominante d’un “Hybrid Cloud Management Platform” pour proposer des services orientés “End Users” :

  • Corrélation entre les “Tenants” et les ressources
  • Affichage de “Showback” ou de “Chargeback” global
  • Proposition d’un catalogue de service unifié
  • Suivi de métriques au travers de Dashboards personnalisés
  • … et sûrement encore bien plus !

Sur ce dernier point, nous restons encore dubitatifs sur la nécessité et les conséquences de rajouter une nouvelle couche d'orchestration à différents produits (Comme AWS ou Openstack par exemple)  qui propose déjà une excellente IHM (API ou Portail) avec le consommateur. Nous sommes alors confrontés à deux cas d’usage :

1 - Le premier, la DSI a une volonté d’abstraire les couches d'infrastructure à l’utilisateur en lui proposant une interface unique au travers du CMP.

2 - Le second, la DSI laisse la main au projet dans l’utilisation des différents “providers” proposés (En imaginant qu’en tant que DSI je fournisses un “Compte” Amazon et/ou Openstack par exemple). Dans ce cas le CMP doit servir à vérifier et borner les utilisations.

Dans les 2 cas, devoir gérer une infrastructure hétérogène est une tendance incontestable.

Source 1 - Source 2

>> Sur ce marché,  un produit a attiré notre attention ! <<

CMPManageiqLogo

Son histoire !

« OpenStack a évolué à grande vitesse et il est clair que des fonctions de monitoring et d’administration étaient souhaitables, depuis les bases d’un monitoring [classique] à une orchestration de haut niveau. » déclarait, début 2014, le directeur de recherche du cabinet de conseil “The 451 group”,  qui semblait croire que Redhat avait racheté ManageIQ afin d’offrir à leur offre Openstack les options suivantes :

  • “Overcloud view” ajouté en  2013 et  “Undercloud Infra. Provider” ajouté en 2015
  • “Inventory for Heat Stacks”
  • “Autoscale Compute Nodes via Automate”
  • “Infrastructure Host Events & Event processing”
  • “Tenant Filtering based on Security Groups, Floating IPs, and Networks”

Il faut croire que leurs ambitions ont évolué avec le temps, puisqu’aujourd’hui ManageIQ (et donc CloudForms qui se trouve être la version commerciale intégrée et supportée par Redhat), a étoffé ses fonctionnalités sur un large choix de “providers” et de connecteurs.

Mais qu’est ce qui se cache derrière ManageIQ ?

C’est un projet Ruby On Rails (Dans sa version stable Capablanca : Ruby 2.2 et Rails 4.2) qui utilise un WebServer Apache 2.4 est une base PostgreSQL 9.4.1. Ça tourne sous Redhat 7 ou CentOS 7 mais certains préfèrent Ubuntu. Une image Docker est par ailleurs disponible.

ManageIQ se compose des éléments suivants, dont je n’ai volontairement pas réalisé la traduction afin d’éviter toute interprétation :

ManageIQ Management Engine Appliance

A virtual machine on which the virtual management database (VMDB) and ManageIQ Management Engine server reside.

ManageIQ Management Engine Server

The application that runs on the ManageIQ Management Engine Appliance and communicates with the SmartProxy and the VMDB. Cluster Hosts that are grouped together to provide high availability and load balancing.

Virtual Management Database (VMDB)

Database used by the ManageIQ Management Engine Appliance to store information about your resources, users, and anything else required to manage your virtual enterprise

ManageIQ Management Engine Console

A web-based interface into the ManageIQ Management Engine Appliance.

ManageIQ Management Engine Role

A designation assigned to a ManageIQ Management Engine server that defines what a ManageIQ Management Engine server can do.

SmartProxy

The SmartProxy is a software agent that acts on behalf of the ManageIQ Management Engine Appliance to perform actions on hosts, providers, storage and virtual machines. The SmartProxy can be configured to reside on the ManageIQ Management Engine Appliance or on an ESX server version. The SmartProxy can be deployed from the ManageIQ Management Engine Appliance, and provides visibility to the VMFS storage. Each storage location must have a SmartProxy with visibility to it. If the SmartProxy is not embedded in the ManageIQ Management Engine server, it communicates with the ManageIQ Management Engine Appliance over HTTPS (SSL) on standard port 443.

Event Monitor

Software on the ManageIQ Management Engine Appliance which monitors external providers for events and sends them to the ManageIQ Management Engine server.

Mon avis

Après avoir joué quelques jours avec ManageIQ sur la version “Capablanca” et la version “Darga” en pré-release :

J’ai apprécié:

  • La facilité d’installation de l’ “appliance” (En 20 min on commence à POCquer).
  • Le système de “Discovery” est très performant et son lancement régulier permet d’obtenir une vue plutôt exhaustive du parc IT et de son état.
  • Nous pouvons intégrer facilement n’importe quelle “Gem” de la librairie Ruby qui permet l’insertion et l’utilisation rapide d’un grand nombre de méthodes.
  • Le "Datastore" ManageIQ contient déjà certaines méthodes et rapports par défaut qui vous permettent de débuter assez vite.
  • La communauté est de plus en plus grande. Beaucoup de documentation, d’articles de blog, de codes source sur Github et de vidéos sur Youtube vous permettent de découvrir la solution et d’obtenir des bases pour commencer à implémenter vos propres besoins.
  • Une organisation par "sprint" de 3 semaines qui permet de livrer de nouvelles implémentations et corrections régulièrement.
  • Ses promesses quant à déployer de plus en plus de connecteurs qui permettront une intégration fluide dans l’écosystème IT “Legacy” et d'imaginer une orchestration de processus globale.
  • Une bonne intégration avec VMware qui permet de fournir une couche d'abstraction proposant un self-service à destination des consommateurs. Nous pouvons alors à la fois fournir une machine virtuelle, mais également automatiser le processus de mise en exploitation, de référencement, de monitoring, d’intégration de la machine à un cluster, etc …

Ce qui me laisse perplexe:

  • Sa difficulté de prise en main. Que ce soit pour mettre en oeuvre une orchestration, ou définir un catalogue de services, il est important de maîtriser certains concepts propres à l’outil (l’organisation du DataStore, la construction des machines à état, la gestion des Tenants et du modèle d'habilitation, l’agrégation de rapports, la gestion événements, …).
  • Le développement via l’interface graphique. Entre la création du Namespace, de la méthode, de l’instance, du schéma et enfin l’intégration du code Ruby, l’interface graphique semble une étape obligatoire car l’import / export de code n’est pas industrialisé (Même si des projets permettent de faciliter certaines phases de développement et d’intégration). Nous aurions aimé un gestionnaire de source externalisé directement intégré à ManageIQ afin d’être en capacité d'exécuter le code poussé sur le référentiel (avec une sélection de “branch” dans le but que chaque développeur puisse lancer ses propres tests).
  • En effet, le code n’est pas exécutable à l’extérieur de ManageIQ, ce qui implique d’avoir une “appliance” propre à chaque développeur pour obtenir un environnement de développement capable d’exécuter les tests unitaires et d’intégration.
  • Peu de littérature sur sa mise en production et notamment l’architecture permettant de proposer une qualité de service optimale (Résilience, réplication, gestion de multiple Datacenters sur différentes régions du monde , etc …).
  • Et enfin, son positionnement. La capitalisation sur l’interface graphique basée sur les APIs, laisse à penser que ManageIQ s’oriente à être présenté aux “End-User” consommateurs, en se substituant peut être aux interfaces que proposent déjà certains composants, alors que les fonctionnalités de surveillance et d’alerte semblaient être la trajectoire inscrite sur la première feuille de route.
    • Est-ce un produit destiné aux administrateurs de l’IT ?
    • Est-ce un produit destiné aux consommateurs de l’IT ?

Sûrement les deux ?! Cette boite à outils vous offre de plus en plus de possibilités qui n’a de limite que les développements que vous souhaiteriez bien y réaliser. Soumis à dérive, il est judicieux de bien définir la place et les fonctionnalités que vous souhaitez affecter à votre “Cloud Management Platform” dans une stratégie globale de gouvernance de votre empreinte IT.

Début Juin aura lieu le ManageIQ Design Summit 2016  suivi par le Redhat Summit 2016  qui présenteront les nouveautés respectives de ManageIQ Darga et CloudForms 4.1, ainsi qu’une Roadmap prévisionnelle des futures implémentations.

A suivre !

Bibliographie:

http://rjapproves.com/blah-blah-single-pane-of-glass-blah-blah/

http://www.rightscale.com/blog/cloud-industry-insights/cloud-computing-trends-2015-state-cloud-survey

http://fr.slideshare.net/JeromeMarc2/manageiq-overview-at-management-and-orchestration-developer-modm-meetup

http://www.lemagit.fr/actualites/2240220567/Red-Hat-place-ManageIQ-dans-lOpen-Source

http://redhat.slides.com/efedei/rhcc-dallas-cloud-forms#/

http://redhat.slides.com/efedei/rhcc-dallas-cloudforms-unified-management-for-hybrid-environments#/