Les outils pour bâtir un AaaS

By Denis Fabien
2022-06-13

Ami du jour, bonjour !

Le AaaS c'est quoi ?

Dans un article précédent, je vous parlais du AaaS (Automation as a Service), en démontrant que c'était le chaînon manquant pour les grandes entreprises entre le IaaS et le PaaS. Regardons maintenant plus en détail ce concept :

 

Objectif

L'objectif de construire un AaaS est d'être capable de monter une ou plusieurs Vm, afin de déployer une application de manière 100% automatisée. La particularité du AaaS : permettre de rassembler plusieurs équipes avec chacune sa spécificité tout en maintenant un tout cohérent.

L'automatisation va être ce qui permet d'assurer cette cohésion.

 

Pré-requis:  tout  "As Code"

Pour parvenir à bâtir ce service, outre des outils, le pré-requis principal sera de tout bâtir "As Code". Mais dans la partie code, il sera important de faire la séparation entre le code et les data.

Le code

Pour le code, en fonction des équipes en place, il faut opter pour le language qui leur sera le plus facile. Par contre, il faudra opter pour un langage évolué capable de gérer des classes et des librairies (on exclut donc PowerShell). Pour ma part, je recommanderai une de ces trois options :

  • Python
  • Ruby
  • Javascript (plus exactement NodeJs)

Les data

Pour les data, certains opteraient pour une base de données, mais pour ma part je préfére choisir le Yaml. Ce dernier n'a pas besoin de serveur et offre une belle flexibilité. De plus, le YAML va être stocké dans un repo Git, nous aurons ainsi un historique complet de chacune des versions.

 

Les grands blocs

Il va y avoir trois grands blocs :

  • Définir le contenu qui sera livré
  • Le backend qui va permettre de définir et tester les recettes de montage
  • Le frontend qui va permettre au client de commander un service (un service s'appuyant sur une ou plusieurs recettes)

Contenu à livrer

Il y a trois étapes (avant, pendant et après) avec le contenu à livrer, voici un exemple :

Le backend

Objectif

L'objectif du backend va être de permettre la collaboration de toutes les équipes impliquées dans la conception des recettes de montage et de testing automatisées. Il devra donc y avoir une sorte de backbone commun sur lesquelles les équipes vont venir s'appuyer.

Exemple de backend pour générer des templates dans vRealize Automation :

Le frontend

Objectif

L'objectif du frontend va être de permettre aux consommateurs de commander ces services dans un portail unique et ce, quel que soit le nombre d'équipes impliquées dans la livraison. Une fois commandé, le processus va utiliser ce qui a été défini et testé dans le backend pour effectuer la livraison.

Exemple de frontend :

Sur ce, Ami de la livraison continue, je vous souhaite plein de pipeline !