La mise en place d’un système d’orchestration implique une bonne relation entre les différents acteurs du projet pour la création des workflows. La partie technique n’est pas la partie majeure du projet. Il faut bien comprendre les besoins, les aboutissants et les conditions de l’existant pour pouvoir se calquer au mieux aux briques existantes du SI et aux besoins recherchés.

Orchestrator aura ajouté bien des composants essentiels à la version précédente Opalis. Le moteur reste tout aussi efficace. Mais maintenant intégré dans la suite System Center, cela permet d’entrevoir beaucoup plus de possibilités qu’auparavant.

Présentation

Microsoft a lancé l’ensemble de sa gamme System Center en version 2012. Ces produits ont la dénomination Microsoft Private Cloud Software. On retrouve:

·System center 2012 Unifed Installer: est un installeur unifié capable d’installer tous les produits de la gamme System Center rapidement. Il ne propose aujourd’hui qu’un scénario limité visant à installer la suite dans le cadre d’un Proof Of Concept ou d’un laboratoire

·System Center 2012 App Controller: cet outil permet d’administrer les applicatifs métiers à la fois dans le cloud (Windows Azure) mais aussi à l’intérieur de l’entreprise. Il permet de simplifier le déploiement d’applications métier et de définir la charge attendue pour une certaine qualité de service.

·System Center 2012 Configuration Manager permet la gestion des systèmes. On peut réaliser différentes tâches comme la prise en main à distance, gérer les correctifs, faire de la télédistribution d’applications, le déploiement de systèmes d’exploitation, ou la gestion de conformité etc.

·System Center 2012 Data protection Manager: ce produit permet la sauvegarde et restauration de données pour des applications serveurs (Exchange, SharePoint…) ou des postes de travail.

·System Center 2012 Operation Manager: donne accès à des services de supervision des infrastructures systèmes, matérielles, réseaux, et applicatives

·System Center 2012 Service Manager est un outil dédié à la gestion des processus du service Informatique. Il permet notamment de gérer les incidents, les changements, les problèmes, les mises en production, etc… Avec la nouvelle offre de cloud privé de Microsoft, SCSM est au cœur de l’ensemble des processus afin de fournir un catalogue de services.

·System Center 2012 Virtual Machine Manager: cet outil permet de gérer les environnements virtuels de tout type (Citrix, VMware, Microsoft).

·System Center 2012 Orchestrator  est un ordonnanceur de tâches. Il va ainsi faciliter l’exécution de processus récurrents ou complexes. Vous pouvez choisir de programmer des tâches et de les exécuter automatiquement. On peut par exemple imaginer le provisionnement automatique d’une machine virtuelle ou d’un poste de travail par le biais de runbooks offerts par le produit.

Nous nous concentrons sur ce dernier produit. Orchestrator est un produit qui permet de standardiser les bonnes pratiques au sein de l’entreprise en modélisant les processus de gestion du système d’information.

En principe, le système d’information est divisé en silos comme le stockage, la sauvegarde, les environnements virtuels. System Center Orchestrator va permettre de rendre possible une communication inter silo afin de créer des automatisations. Avant de continuer, il faut comprendre ce qu’est un runbook. Un runbook est l’ensemble des tâches que doit réaliser un processus.

Objectifs

Les objectifs de System Center Orchestrator sont :

– La modélisation et la mise en conformité de l’ensemble des processus.

– Gain de temps et amélioration de la productivité en automatisant les tâches répétitives

– Améliorer la disponibilité et la performance du système

Architecture Orchestrator

L’infrastructure System Center Orchestrator regroupe les composants suivants :

·Management server: est la couche de communication entre le runbook designer et la base de données Orchestrator.

·Runbook Server: est l’endroit où l’instance d’un runbook s’exécute, on peut déployer plusieurs serveurs de runbook pour avoir de la redondance et de la répartition de charges.

·Base de données Orchestrator: C’est la base de données SQL Server 2008 R2 qui contient tous les runbooks déployés, le status des runbooks en cours d’exécution, les logs etc.

·Runbook designer: est un outil qui permet de créer, modifier et gérer les runbooks.

·Runbook tester: est un outil pour tester les runbooks développés.

·Console orchestrator: cette console permet de démarrer / arrêter les runbooks et de voir leur état en temps réel.

·Orchestrator web service: permet d’exploiter les données d’orchestrator via un Web Service pour de la génération de rapports ou créer une extension permettant d’assurer l’exécution automatique de runbooks lors de la commande d’une machine virtuelle par exemple.

Ces différents rôles et services proposés par Orchestrator peuvent s’installer sur les systèmes d’exploitation suivants:

– Windows Server 2008 R2 pour les fonctionnalités Management server, runbook server et orchestrator web service.

– Windows Server 2008 R2 ou Windows 7 pour les fonctionnalités Runbook Designer et Runbook tester.

Integration packs

Le but des Integrations packs est d’enrichir System Center Orchestrator en important des activités sur différents produits qui permettront de créer des runbooks. On retrouve des integrations packs pour toute la gamme System Center comme SCCM(System Center Configuration Manager), SCVMM (System Center Virtual Machine Manager), SCSM (System Center Service Manager), SCOM(System Center Operation Manager), SCDPM (System Center Dataprotection Manager) mais également d’éditeurs tiers comme IBM Tivoli, VMWare VSphere, Team Foundation Server, Active Directory, HP Operation Manager, HP ILO, HP Service Manager, Exchange etc.). La communauté qui gravite autour du produit a développé des Integration Packs qui viennent compléter cette liste.

supervision d’Orchestrator par System Center Operations Manager

Le Monitoring pack System Center Orchestrator dans SCOM permet de superviser le produit Orchestrator, ce pack dispose des fonctionnalités suivantes:

· Supervision de l’état de santé du serveur d’administration Orchestrator

o Supervision du service Orchestrator Management (Moniteur)

o Supervision du Runbook Server Orchestrator (Moniteur)

o Alerting sur les erreurs de connexion à la base de données pour le Management Server (Règle)

o Alerting sur les erreurs de connexion à la base de données pour le Runbook Server (Règle)

· Supervision de l’état de santé du Runbook Server Orchestrator :

o Supervision du service Orchestrator Runbook (Moniteur)

o Supervision du service Orchestrator Remoting (Moniteur)

o Alerting pour les problèmes sur le module de stratégie des RunBooks (Règle)

o Alerting pour les erreurs de connexion à la base de données pour le Runbook Server (Règle)

o Alerting pour les erreurs de mise à jour des Runbooks Orchestrator (Règle)

o Alerting pour les erreurs d’appel ActionServer Storage refusé par le RunBook Server Orchestrator (Règle)

o Collection du compteur : Orchestrator Runbook Policy ModuleWorking Set Peak (Règle)

o Collection du compteur : Orchestrator Runbook Policy ModuleThread Count (Règle)

o Collection du compteur : Orchestrator Runbook Policy Module % Processor Time (Règle)

· Supervision de l’état de santé des composants Web Orchestrator :

o Rollup de disponibilité des composants Web (Moniteur dépendant)

Nouveautés par rapport à Opalis

La première nouveauté notable est le changement de nom. En effet, Opalis n’est plus et System Center Orchestrator est né. Il est intégré dans la suite System Center 2012. Nous continuons dans le changement avec un vocabulaire différent pour définir les composants d’Orchestrator. Voici les changements majeurs à ce niveau : le terme policies devient runbook, l’Opalis Console devient Runbook Designer Console.

Une nouveauté intéressante est l’apparition d’un service Web donnant accès aux données et à des méthodes. Il y a de nombreuses utilisation des services Web comme : génération de rapport, démarrer/stopper des runbook ou encore attaquer le service via une application tierce. De plus, Microsoft a redéveloppé la console web Java en Silverlight.

Enfin, de nombreux « Integration Pack » sont apparus, principalement pour les outils Microsoft mais bien entendu pour des produits très utilisé dans les SI (VMware, HP, IBM).

Positionnement d’Orchestrator par rapport à la concurrence

Les autres solutions d’orchestration sont :

· Atrium Orchestrator de BMC

· Process Automation de CA

· Workflow Studio de Citrix

· Operations Orchestrator de HP

· vCloud Orchestrator de VMware

L’orchestration est, en ce moment, concentré sur le Cloud privé. Il faut donc savoir automatiser le processus de création de VM, d’ajout de ressources en fonction d’alerte,… Un concurrent d’Orchestrator est VMware vCloud Orchestrator. Il se concentre uniquement sur ces aspects. Orchestrator peut faire tout aussi bien via les Integration Packs VMware. Orchestrator peut améliorer le Système d’information en intégrant une notion ITIL avec une communication avec les outils de gestion d’incidents.

La force d’Orchestrator est ses Integration Packs qui permettent d’ajouter de la fonctionnalité. Ils permettent de répondre au mieux aux besoins en s’intégrant avec les outils du SI existant.

Comptes de service

Pour installer ce produit, nous avons besoin d’un compte de service et d’un groupe.

=>Service Account Orchestrator : est un compte de service spécifié pendant l’installation du management server Orchestrator. Le rôle management server est responsable du maintien de la base de données orchestrator, de communiquer avec le Runbook Designer, de communiquer avec le deployment manager. Ce compte de service n’a pas besoin d’être administrateur ou être un compte administrateur du domaine. Ce compte de service doit disposer des autorisations suivantes :

o Autorisation d’ouvrir une session sur le management server en tant que service. (Accordé automatiquement au cours de l’installation.)

o être membre du rôle Microsoft System Center Orchestrator Admins dans la base de données orchestrator. (Accordé automatiquement au cours de l’installation.)

=>Orchestrator User Group :

Tout compte utilisateur ajouté à ce groupe est autorisé à utiliser le runbook designer et l’outil deployment manager. Par défaut, les utilisateurs de ce groupe ont l’autorisation d’effectuer les actions suivantes:

o Créer des nouveaux runbooks (lecture, modification, exécution).

o Déployer des nouveaux runbook servers.

o Enregistrer et déployer des integration packs.

o Afficher et modifier les paramètres globaux du management server.

Le groupe utilisateur orchestrator a les permissions suivantes sur le management server : lancer, activer et accéder à ce dernier en local ou à distance.

Installation de System Center Orchestrator 2012

Prérequis

Prérequis hardware: – Au minimum 1 Go RAM, 2 GO recommandé – 200 MB d’espace disque disponible – Processeur Dual-core Intel, 2.1 gigahertz (GHz) ou supérieur

Prérequis système d’exploitation: – Windows Server 2008 R2

Prérequis logiciels: – SQL Server 2008 R2 – IIS – NET framework 4.0 – Silverlight 4 – Joindre le poste au domaine.

Voir : https://technet.microsoft.com/en-us/library/hh420361.aspx

Voici le lien permettant de connaitre les prérequis par fonctionnalité dans le cadre d’un déploiement plus large que notre PoC : https://technet.microsoft.com/en-us/library/hh420376

L’installation de System Center Orchestrator n’est pas prise en charge sur un contrôleur de domaine mais est possible en appliquant le workaround.

Schéma du POC

La plateforme est composée de deux serveurs, un premier contrôleur de domaine et un second sur lequel nous avons déployé System Center Orchestrator.

Installation

Installation de SQL Server 2008 R2

Il est possible de déployer une édition express de SQL Server 2008 R2, de notre côté nous allons installer SQL Server 2008 R2 édition standard avec les fonctionnalités Database Engine Service, Management Tools basic et complete. Nous avons la possibilité de choisir l’instance par défaut ou une instance nommée. Pour cette dernière, on peut également spécifier le port. Pour la collection, nous renseignons Latin1_General_100_CI_AS.

Installation de IIS

Nous installons IIS avec les services de rôle suivants :

– Static Content

– Default Document

– Directory Browsing

– http Errors

– ASP .NET

– .NET Extensibility

– CGI

– ISAPI Extensions

– ISAPI Filters

– http Logging

– Logging tools

– Request Monitor

– Tracing

– Windows Authentication

– Digest Authentication

– Request Filtering

– Static Content Compression

– IIS Management Console

Créer un compte de service sur le domaine.

Affectez les privilèges Administrateurs sur le serveur System Center Orchestrator pour le compte en question

Autorisez la connexion en tant que service pour le compte de service sur le serveur d’orchestration. Lancez dans le menu Administrative Tools / Local Security Policy / Local Policies / User Rights Assignment.

Installation du framework .NET 4.0

Installation de Silverlight 4 : nécessaire pour l’accès à la console Web, à installer sur le PC concerné

Installation System Center Orchestrator

Il faut lancer le setup d’installation et suivre l’assistant d’installation.

Enregistrement du produit :

Accepter le contrat de licence :

On sélectionne tous les composants :

On configure le compte de service

On fournit les informations du serveur SQL :

· Le nom du serveur, le nom de l’instance de la base de données et son port

· Le type d’authentification : authentification Windows

Ensuite, il faut créer la base de données ou utiliser une base de données existante. Ici nous créons une base de données nommée Orchestrator :

On définit le groupe des utilisateurs qui auront accès à l’outil de création des runbooks et l’outil de déploiement.

On a la possibilité de cocher la case « grant remote access to the runbook designer »qui permet de donner la permission au groupe d’utiliser l’outil runbook designer depuis une machine autre que celle qui possède le rôle management server.

On spécifie les ports utilisés pour le service web et la console :

On précise l’emplacement de l’installation :

On sélectionne Microsoft Update :

Il y a des questions sur l’expérience utilisateur :

Le résumé des paramètres s’affiche et cliquez sur Install :

En fin d’installation, un statut de celle-ci s’affiche :

Une fois l’installation terminée, on peut accéder au Runbook Designer :

Au Deployment manager : console permettant la gestion globale de l’infrastructure d’orchestrator (gestion des pools de Runbook Server / Runbook designer et la gestion des integration pack disponibles dans l’infrastructure Orchestrator )

A la console Orchestration :

Cas pratiques

Espace disque insuffisant

Le but est de superviser l’espace d’un disque sur une machine et prévenir l’administrateur par email (par exemple) lorsqu’il devient insuffisant. Pour cela, on utilise l’objet Monitoring Disk Space qui se trouve dans la partie monitoring, puis l’objet send email qui se trouve dans la partie email. On fait une liaison entre les deux objets.

Monitoring Disk Space :

On sélectionne la machine, le disque à monitorer et le seuil d’espace pour lequel on pense qu’il devient insuffisant. On renseigne également la valeur de l’intervalle des vérifications.

On peut choisir le compte avec lequel on exécute la tâche :

Send Email :On renseigne les informations de l’email : sujet, destinataire, pièce jointe.On renseigne les informations d’authentification SMTP :On entre les informations de connexion nécessaires à l’envoi d’email :

On peut également choisir le compte avec lequel on exécute la tâche

Compression des fichiers volumineux

Le but est que dès qu’un fichier est trop volumineux, ce dernier soit compressé. On utilise pour cela l’objet monitor folder et compress file qui se trouvent dans file management et on fait une liaison entre les deux :

Monitor FolderOn sélectionne le dossier que l’on veut monitorer :

Il faut configurer un déclencheur, ici c’est si le dossier est supérieur à 1 byte :

Compress File :On sélectionne le dossier d’origine, la destination et les options:

Description: C:\Users\s-olivier.dasilva\Downloads\2.png

Redémarrer un service stoppé

Toujours dans la série supervision, on peut imaginer redémarrer un service lorsque celui-ci est arrêté. Prenons le cas du service print spooler, un log est envoyé dans le gestionnaire d’évènement et on redémarre directement le service.

Pour cela, on utilise les objets monitor service qui se trouve dans monitoring, l’objet send event log message qui se trouve dans notification et start / stop service qui se trouve dans system.

Monitor Service :On sélectionne la machine, le service à superviser, le déclencheur et l’option :

Send Event Log Message :On renseigne la machine, le message et la sévérité de ce dernier :

Start / stop service :

On sélectionne l’action, la machine, le service et le timeout.

Créer un utilisateur Active Directory

Installer un Integration Pack

Il faut tout d’abord télécharger un Integration Pack depuis le centre de téléchargement de Microsoft.

Pour installer un nouvel Integration Pack, il faut se rendre dans le Deployment Manager puis cliquer droit sur le dossier Integration Pack :

Cliquer sur « Register IP with the Orchestrator Manager Server… » afin de déclarer l’integration pack dans l’infrastructure générale d’orchestrator. Un assistant s’ouvre :

Nous ajoutons le fichier de l’integration pack que l’on a décompressé puis on termine l’assistant. Maintenant que le pack est enregistré, il faut le déployer sur les Runbook Server. Pour se faire, il faut cliquer droit sur Integration Packs et cliquer sur « Deploy IP to Runbook Server or Runbook Designer ». Un assistant se lance, il faut choisir le pack que l’on veut déployer :

Il faut choisir le Runbook Server cible :

Une fois l’assistant fini, le pack est disponible sur le Runbook Server.

Configurer l’Integration Pack Active Directory

Maintenant que le pack Active Directory est disponible, il faut le configurer. Pour cela, il faut se rendre dans le Runbook Designer dans le menu Option :

Une fenêtre de configuration s’ouvre et il faut créer une nouvelle configuration.

Nous devons remplir plusieurs options comme le login et mot de passe d’un compte avec les droits suffisants aux tâches d’administrations que vous voulez réaliser, le nom complet de contrôleur de domaine et l’unité d’organisation ou conteneur où se trouvent vos utilisateurs :

Il suffit donc de valider et la configuration pour ce pack est terminée.

Implémentation

Nous avons maintenant une configuration qui nous permet de gérer notre Active Directory via Orchestrator. Le but de ce cas pratique est de montrer d’une part la puissance des integrations packs et d’autre part l’utilisation des statuts de retour d’une action pour choisir la bonne action en fonction du contexte.

Ici, nous voulons créer un utilisateur en fonction d’un fichier formaté créé dans un dossier précis. Une fois le fichier créé, le fichier est lu et ses informations récupérées. Ensuite, une recherche dans l’annuaire est effectuée pour savoir si l’utilisateur existe ou non. S’il existe alors une simple notification est ajoutée dans le journal d’évènement. Sinon l’utilisateur est créé et activé dans l’annuaire Active Directory.

Voici le schéma final :

Monitor File

Nous avons utilisé le module de Monitor File qui se déclenche lors de la création d’un fichier dans un dossier précis que l’on définit.

Get Lines

Ensuite le fichier est lu par le module Get Lines qui permet de lire le fichier et de qualifier les lignes. Le fichier est sous le format :

· 1

ère

ligne : firstname

· 2

ème

ligne : lastname

· 3

ème

ligne : password

Dans la configuration de ce module, il faut spécifier ce format :

Pour que ce soit le fichier courant qui soit lu, il faut ajouter la variable « Name and path of the file » qui a été généré par le module Monitor File. C’est via le Bus de données que l’on peut récupérer cette information.

Get User

L’étape suivant est la recherche de l’utilisateur dans l’annuaire Active Directory. Pour ce faire, il faut utiliser le module Get User du pack Active Directory. Ce module récupère les informations du fichier lu par le module Get Line.

Il y a deux possibilités après cette action, soit l’utilisateur est trouvé soit il ne l’a pas. Il y a donc deux liens. Le nombre d’utilisateur trouvé est égal à zéro :

Ou le nombre trouvé est égal à un :

Send Event Log Message

Dans ce dernier cas, une entrée est ajoutée à l’observateur d’évènement :

On remarque que l’on peut utiliser les informations créé par un module antérieur grâce au Bus de données.

Create User

Dans le cas contraire, le module Create User du pack Active Directory entre en jeu. On précise les propriétés de l’objet utilisateur qu’il doit créer en utilisant les informations du fichier récupéré par le module Get Lines :

Enable User

Lors du succès de la création, on active l’utilisateur grâce au module Enable User. On utilise le nouveau Distinguished Name de l’objet créé :

Gestion de la connexion réseau

Dans ce cas pratique, nous allons présenter une gestion de la connectivité réseau. Nous avons dans ce Runbook beaucoup plus de conditions et de paramètres qui rentrent en jeux que dans les précédents cas. Le principe est simple : si le partage réseau est disponible alors on ajoute notre information dans un fichier situé sur le réseau. Dans le cas contraire, on copie l’information dans un fichier local en attendant la prochaine boucle pour publier l’information. Nous nous ne sommes pas concentrés sur l’information en elle-même mais plutôt sur l’algorithme qui permet de ne pas perdre l’information.

Voici l’algorithme expliqué par un schéma :

Voici le schéma converti en un Runbook :

Ici, nous avons choisi l’objet monitor date and time qui tentera d’établir la connexion réseau. Nous pouvons imaginer un processus avant la connexion au réseau qui récupère de l’information utile et pas seulement l’heure comme ici dans notre cas.

Runbook Tester :

Description: C:\Users\s-olivier.dasilva\AppData\Local\Microsoft\Windows\Temporary Internet Files\Content.IE5\0GGT0PRX\Sans titre2.png

Installation et configuration de l’integrations packs SCSM 2012

Pour l’installation de cet integration pack, on procède de la même manière que pour celui sur Active Directory. Pour la configuration de l’intégration pack de SCSM 2012, nous devons renseigner les options suivantes :

– Le nom de la connexion

– Le nom du serveur d’administration SCSM

– Le nom du domaine avec un login / password qui a les droits sur SCSM

– Un intervalle pour le monitoring

Description: C:\Users\s-olivier.dasilva\Desktop\2.JPG

Nous avons maintenant accès à plusieurs objets dédiés à Service Manager 2012 :

Description: C:\Users\s-olivier.dasilva\Desktop\1.JPG

Runbook pour l’espace disque insuffisant en utilisant SCSM

Le but est de superviser l’espace d’un disque sur une machine et créer directement un incident dans SCSM dès que ce dernier dépasse un certain seuil. Pour cela, nous utilisons l’objet Monitoring Disk Spacequi se trouve dans la partie monitoring, puis l’objet Create Object dans la partir SC 2012 Service Manager. Nous faisons une liaison entre les deux objets.

Description: C:\Users\s-olivier.dasilva\Desktop\3.JPG

Nous configurons l’objet Monitoring Disk Space de la même manière que sur notre premier runbook. Concernant l’objet Create Object, nous faisons la connexion au connecteur SCSM puis nous sélectionnons la classe incidentet configurons les options que l’on souhaite. Ici, nous définissons l’impact et l’urgence de l’incident :

Description: C:\Users\s-olivier.dasilva\Desktop\4.JPG

Installation et configuration de l’integration packs SCCM 2007

Pour la configuration de l’intégration avec SCCM, nous devons renseigner les options suivantes :

– nom de la connexion

– nom du serveur de site SCCM

– login / password qui a les droits sur le serveur SCCM

Description: C:\Users\s-olivier.dasilva\Desktop\1.JPG

Nous avons maintenant accès à plusieurs objets dédiés à SCCM 2007 :

Description: C:\Users\s-olivier.dasilva\Desktop\2.JPG

Installation et configuration de l’integrations packs SCOM 2012

Pour la configuration de l’intégration avec SCOM 2012, nous devons renseigner les options suivantes :

– nom du Management Server

– nom du domaine et login / password qui possède les droits sur SCOM

Description: C:\Users\s-olivier.dasilva\Desktop\1.JPG

Nous avons maintenant accès à plusieurs objets dédiés à SCOM 2012 :

Description: C:\Users\s-olivier.dasilva\Desktop\2.JPG

Schéma d’une infrastructure en production

Ci-dessous un schéma d’une infrastructure System Center Orchestrator en production :

Organiser un projet

L’organisation d’un projet Orchestrator demande un travail préparatif en amont. Dans un premier temps il faut identifier les processus à orchestrer: pour cela il suffit de répondre aux questions qu’est-ce qui me prend du temps tous les jours ? Quels sont les processus complexes de mon organisation ? Dans un second temps, il faut décrire le processus (algorithme sur visio) mettre en place des checks (éléments de régulation) puis dans un troisième temps, réfléchir sur comment exploiter les processus. C’est-à-dire comment confirmer à l’administrateur que l’opération s’est bien passée (log, email, SCOM, Service Manager). Une fois le tout terminé, il faut mettre en œuvre des processus sur Orchestrator.

Points clés

Plusieurs points clés sont à respecter lors d’un projet Orchestrator comme :

· Impliquer les utilisateurs dans le but de délivrer le bon service.

· Commencer par le plus simple dans le but de gagner du temps.

· Intégrer les contrôles de cohérence dans le but d’avoir l’esprit libre.

Conclusion

Cet article vous aura permis d’avoir une vue globale de l’outil Orchestrator et d’évaluer tout son potentiel. Nous avons pu mettre en avant sa facilité d’installation et d’utilisation au travers d’un outil graphique (Runbook Designer) pour la génération des processus d’orchestration. La flexibilité du produit se retrouve par tous les Integration Packs disponibles. L’environnement Orchestrator joue bien son rôle de communicant en tissant des liens entre les applications. Cette communication ayant pour but d’améliorer la qualité et la fiabilité du Système d’information de l’entreprise.