Skip to content

Latest commit

 

History

History
468 lines (256 loc) · 11.6 KB

content.md

File metadata and controls

468 lines (256 loc) · 11.6 KB

Speak Up

vRealize Orchestrator

An Automation journey

Présentations

SII Ouest

Une des agences du Groupe SII.

  • ESN (== SSII)
  • ~450 collaborateurs (6000 à l'échelle du Groupe)
  • Une 15aine de profils autour des technos VMware
    • Centre de service (plateau) et assistance technique
    • Ingénierie et opérations
  • www.groupe-sii.com

Ludovic Rivallain

Senior Virtualization & Cloud-Computing Consultant à SII Ouest.

Dunes, vCO, vRO

Dunes Virtual Services Orchestrator

Dunes Virtual Services Orchestrator

vCenter Orchestrator

  • Avril 2009: * vCenter Orchestrator 4.0* est distribué par VMware.

vCenter Orchestrator 4.0

vRealize Orchestrator

  • Depuis Mars 2015: * vRealize Orchestrator*
  • Dernière version: vRealize Orchestrator 7.5.0

vRealize Orchestrator

Présentation

Moteur de workflow

vRO est principalement un moteur de workflow:

  • Librairie standard:
    • Contenu initial
    • Contenu proposé par VMware
  • Contenus personalisés

Workflow, quésaco ?

Représentation d'une suite de tâches ou opérations à effectuer.

Le workflow sert à décrire:

  • le circuit des traitements
  • les tâches à répartir entre les différents acteurs d'un processus
  • les délais
  • les contrôles et les modes de validation

Rôle d'un workflow dans nos pratiques

Automatiser !

Automatiser une action récurrente basée sur des données connues (inputs) ou calculables (à partir des inputs).

Eventuellement: produire un résultat exploitable de cette action (output).

Actions d'un workflow

Selon les moteurs utilisés, un workflow peut utiliser différents actionneurs pour réaliser son travail:

  • Actionneurs internes: stocker des variables, calculer des valeurs, gérer l'algorithme…
  • Actionneurs externes: Eléments ne faisant pas partie du moteur pour exécuter une action.

Les dessous de vRO

vRealize Orchestrator underwear

???

vRO est basé sur ???

  • Moteur de backend = ???
  • Frontend = applet ???
  • Il peut être étendu via des plugins en ???

Java !!

Java

vRO est basé sur Java

  • Moteur de backend = Java
  • Frontend = applet Java
  • Il peut être étendu via des plugins en Java

Javascript

vRO embarque un moteur permettant l'interprétation du Javascript

  • Les capacités de ce moteur sont limitées

N'espérez pas avoir des sélecteurs comme sur jQuery ou un interpréteur digne de celui de votre browser préféré.

  • Permet d'accéder aux modèles de données (via des managers) définis dans les plugins (Java).

Les avantages du Javascript

  • Plus simple à appréhender que le Java
  • Pas besoin de compiler le code
  • Editable directement dans le client

Le licensing de vRO

Licensing

Le licensing de vRO

vRealize Orchestrator est disponible gratuitement si vous disposez déjà d'une licence valide de vSphere/vCenter Standard ou vRealize Automation (via vRealize Suite Advanced/Enterprise).

Pas d'excuse!

Les interfaces

Control center

Gestion de l'appliance et/ou du cluster:

  • Gestion base de données
  • Startup options
  • Ajout de plugins
  • Troubleshooting

Control center

Orchestrator Control center

Developper resources

Orchestrator Control center

HTML5

vRealize Orchestrator

HTML5 ready

mais pas tout à fait encore…

  • Voir
  • Exécuter:
    • Run
    • Schedule
  • Pas d'édition !

Client Java

Indispensable pour le moment pour l'édition des éléments.

vRealize Orchestrator Java client

API REST

vRealize Orchestrator Swagger

Les objets vRO

Plugins/Inventaire

L'inventaire de vRO permet de parcourir dynamiquement les endpoints qui y sont reliés:

  • vCenter
  • NSX
  • AD
  • BDD SQL

Cela peut inclure des modèles personnalisés (via les plugins customs).

Exemple inventaire vCenter

vRO inventory of vCenter

Workflows

Scénario exécutable basé sur des:

  • inputs
  • attributes (variables)
  • Tests et éléments d'algorithme
  • Actionneurs

Exemple de workflow

Example de workflow

Actions

Equivalent d'une fonction Javascript:

  • Réutilisable (WF, autre action etc.)
  • Des inputs
  • Une output optionnelle

Les actions sont organisées dans des modules.

Ex:

isHaEnabled = System.getModule("com.vmware.library.vc.cluster")
                .haEnabledCluster(cluster);

Conseils

Les actions c'est bon, mangez-en !

Mangez des actions !

Prévoyez des actions génériques:

  • Facilement réutilisables
  • Configurables via les inputs
  • Des modules par thème d'actionneurs

Exemples de modules

  • Module com.sii.vcenter.sso_management.get
    • Action read_sso_configuration
    • Action list_sso_identity_sources
    • Action list_local_users
  • Module com.sii.vcenter.sso_management.add
    • Action push_init_sso_configuration
    • Action add_sso_identity_sources
    • Action add_local_users
  • Module com.sii.vcenter.sso_management.del
    • Action del_sso_identity_sources
    • Action del_local_users

Configurations Elements

Liste d'attributs permettant de définir des constantes.

Bref c'est un fichier de configuration quoi !

Configurations Elements

Resource Elements

Ressources diverses pouvant être utilisées dans le contexte d'un autre élément vRO:

  • Fichiers de référence (qui n'évolue pas souvent)
  • Images
  • Templates XML ou HTML
  • Scripts
  • Certificats d'autorités

Taille des fichiers limitée à 16MB.

Schedulers

Comme partout dans le monde IT: Exécuter des tâches selon une programmation temporelle.

Schedulers

Policies

Déclenchement d'action(s) (workflow) selon des évènements.

De base, les évènements suivants sont disponibles:

  • SNMP
  • AMQP
  • Vérification périodique
  • Autre policy (début et fin)

Packages

Un package permet la distribution d'éléments de contenu de vRO:

  • Workflows
  • Actions
  • Template de Policies
  • Configurations et Resources Elements

Packages

Un package peut être:

  • Exporté
  • (Ré-)importé
  • Sauvegardé
  • Synchronisé…

Il permet aussi de détecter et inclure les dépendances entres éléments.

Uses-cases

We are waiting !

Disclaimer

Les uses-cases suivants s'appuient sur quelques longues années d'utilisation de vCO/vRO avec nos clients.

Ils expriment un certain biais lié à notre activité d'ESN mais permettent d'avoir une idée des capacités de cet outil.

La principale limite de vRO: votre imagination.

On aurait pu le faire avec vRO aussi…

Cédric/PowerCLI

😉

Use-Case: On-boarding

Automatiser l'arrivée d'un nouveau client/service/utilisateur dans votre SI:

  • Création des comptes AD, *Unix
  • Création des accès à des services non-AD friendly
  • Création des accès à des services externes (merci le cloud !)
  • Routines internes…

Use-Case: Migration(s)

Exporter la structure d'une organisation vCloud Director afin de la réimporter dans un autre déploiement via un mapping pré-défini.

Dans le use-case d'un de nos clients, l'opération était réalisée manuellement (~15min/VM) et a été grandement accélérée par l'usage d'un WF vRO (gain de temps: ~2min/VM).

Use-Case: Extension de fonctionnalités

Blocking tasks

La notion de Blocking tasks sur vCloud Director permet d'intervenir avant/pendant/après le déploiement d'une ressource.

En utilisant vRO+AMQP (RabbitMQ), on peut par exemple:

  • Renseigner un outil de gestion de parc.
  • Demander le monitoring, le backup de la ressource.
  • Insérer un mécanisme d'approbation des demandes…

Use-Case: Extension de fonctionnalités

Multi-cloud

vRealize Automation s'appuie sur vRO pour étendre le champ de ses fonctionnalités (XaaS).

Cela nous a permis d'ajouter le support d'un cloud public initialement non pris en charge par vRA.

Ce projet utilisait massivement les dynamicTypes et les call API REST via le plugin natif de vRO afin de permettre le déploiement de stacks HEAT (OpenStack).

Use-Case: Interconnexions de produits

Interaction avec des équipements réseaux pour provisionner automatiquement des environnements clients (le SDN avant l'heure!):

  • Partition F5/BigIP
  • VSYS Juniper
  • VRF Cisco…

Conclusion & questions

Les slides de la présentation:

groupe-sii.github.io/rex-vro-meetngeek

⚽ Petit point sur le match ⚽

Merci !