Remote Workload Manager - EIP

Transcription

Remote Workload Manager - EIP
CAHIE R D E S CHA R G E S
Remote Workload Manager
équipe
Regis Rouyard (rouyar_r)
Jonathan Bouchot (boucho_o)
Johan Massin (massin_j)
Jacky Rouquette (rouque_j)
Yannick Boillon (boillo_o)
E PITE CH INOVATION P R OJE CT 2010
Abstract :
Le cycle Master de l'EPITECH est validé par un projet final: l'EIP (Epitech
Innovative Project). L'EIP permet d'appliquer les compétences acquises au cours des
années précédentes, dans une démarche de création de produit. C'est donc plus
qu'une réalisation technique qui est demandée, mais bien un ensemble de livrables:
documentation, packaging, communication, assurance de qualité, etc.
Ce document présente l'EIP RWM (pour Remote Workload Manager) qui reprend l'idée
d'un projet existant l'EIP ADITAM réalisé l'année dernière.
Le projet RWM repartira entièrement de zéro et le langage de programmation utilisé
sera le Perl car c'est un langage de plus en plus utilisé par les administrateurs système
contrairement à ADITAM qui est réalisé en en Phyton.
En quelques mots, RWM ( Remote Workload Manager ) consiste à répartir une charge
de travail sur un ensemble de serveurs suivant un scénario donné.
Nous espérons réduire les travaux répétitifs des administrateurs systèmes et de plus
optimiser leur temps de travail ainsi les rendre plus efficace et moins ennuyeux grâce
à la planification de charges de travail à distance sur plusieurs serveurs souhaité, tout
en préservant les avantages des solutions déjà existantes.
1
2010 CDC RWM FR
EIP-EPITECH
Sommaire
1. Description du projet.......................................................................................2
1.1 Le Besoin...................................................................................................................................2
1.2 Solution existante.......................................................................................................................2
1.3 Notre Solution............................................................................................................................3
1.4 Fonctionnalités détaillées...........................................................................................................3
1.5 Choix technologique..................................................................................................................4
3. Organisation....................................................................................................4
3.1 L'équipe.....................................................................................................................................4
3.2 Méthodologie............................................................................................................................5
3.4 ressources techniques................................................................................................................5
3.5. Communication........................................................................................................................6
3.6. Procédures de test....................................................................................................................6
2
2010 CDC RWM FR
EIP-EPITECH
1. Description du projet
1.1 Le Besoin
A l'heure actuelle, les parcs informatiques des entreprises sont de plus en plus
importants et les administrateurs ont de plus en plus de travail. De plus, une
grande partie des tâches effectuées sur une de leurs machines sont à faire sur
tout le parc informatique de l'entreprise. Certaine tâches sont à effectuer par
période. De nos jours, les solutions existantes sont limitées et principalement
destinées aux grandes entreprises. Notre produit leur permettra de pouvoir
gérer à distance toutes leurs machines (pc et serveur). Ce gestionnaire de
tâches sera portable (Windows et Unix) et facile d'utilisation.
1.2 S olution existante
De nos jours, les solutions existantes sont limitées et uniquement destinées
aux grandes entreprises, dans des domaines très spécifiques (notamment
appliqué à des ERP complexes). Avec RWM, nous souhaitons créer une solution
souple et facilement adaptable à l’infrastructure existante d’une entreprise.
De nombreuses solutions existent mais ne sont pas complètes, voici quelques
solutions retenues.
ADITAM
Est une ébauche de solution d’automatisation des taches sur un réseau
centralisé de serveurs codé en Python.
ADITAM est l’EPITECH Innovative Project sur lequel nous nous sommes basés,
les objectifs étant sensiblement les mêmes, mais le développement du logiciel
n’ayant pas abouti au résultat attendu, nous avons décidé de totalement le
refondre et l’améliorer.
siteweb : http://www.aditam.org/
ATMA
Est un système d'administration de tâches à distance. Il en permet la création
rapide à partir d'un modèle de script. Cet outil est un produit fini disponible sur
Windows, GNU/Linux et AIX mais qui a été abandonné.
Siteweb : N/C
3
2010 CDC RWM FR
EIP-EPITECH
Autosys Workload
Est une solution d’automatisation des traitements informatiques de CA,
optimisant les infrastructures dynamiques et orientées services.
Elle permet de gérer des tâches informatiques dans les environnements
hétérogènes mais également de suivre l’avancement d’un certain nombre
d'opérations à effectuer dans un ordre précis sur un système de gestion de
l’entreprise. Cette solution se destine principalement aux grandes entreprises
disposant d’un ERP complexe.
siteweb : http://www.ca.com/us/workload-management.aspx
Task Distribution
Est une méthode de distribution de tâches sur un cluster de serveurs, basée
sur la boite à outils « JGroups », elle permet une distribution décentralisée des
taches dans un nœud de serveurs.
Cette méthode a comme principaux avantages la décentralisation des taches,
et l’assurance qu’elle procure que la tache soit exécutée. Cependant, ce
système n’offre aucune gestion avancée des taches, et aucune programmation
dans le temps.
siteweb : http://www.jgroups.org/taskdistribution.html
Dollar universe d'orsyp S A
Un des 2 leaders du marche.
Les avantages et inconvénients du produit sont principalement dus à la gestion
d’une architecture distribuée par des méthodes issues du gros système.
Les nouvelles versions sont mieux notees car elles comportent une gestion plus
centralisée grace à une interface graphique qui simplifie la gestion
et augmente la visiblité du pilotage.
Ces améliorations ont été récompensées par l’Yphyse Award 2004.
siteweb : http://www.orsyp.com/fr/solutions/dollar-universe-pour-le-schedulingdentreprise.html
Control-m de B M C Software
C'est le 2eme leader du marche.
Ce produit est en constante evolution mais qui est principalement oriente vers
les grosses entreprises.
Un des inconveniants majeurs avec DOLLAR UNIVERSE est le prix.
En effet, les licences sont extremement redibitives et peuvent poses problemes
aux entreprises..
siteweb
:
http://www.bmc.com/products/products_services_detail/0,,0_0_0_2,00.html
4
2010 CDC RWM FR
EIP-EPITECH
1.3 Notre Solution
Remote Workload Manager (RWM) répond à un besoin d’organisation et
d’exécution automatisée de tâches sur un ensemble de serveurs selon un
scénario donné.
Remote Workload Manager sera réalisé en Perl, afin de faciliter la prise en main
et la modification du programme par les administrateurs système, en effet
notre solution est Open Source et l'utilisation du Perl est dû à une grande
majorité des administrateurs système maitrisant ce langage de
programmation.
Remote Workload Manager propose une première partie, une version serveur
qui aura pour rôle d’estimer la charge du serveur et d’exécuter de façon
programmée les différentes tâches en rendant compte de leur état d’exécution
et du statut de réalisation du besoin. et d'une seconde partie, une version «
manager », qui aura pour rôle la mise en place et la planification centralisée
des taches, et l’affichage unique des statuts et résultats des tâches en cours
via une Interface Homme-Machine ergonomique.
1.4 Fonctionnalités détaillées
La solution Remote Workload Manager sera développée en plusieurs
versions évolutives.
Voici donc toutes les fonctionnalités que nous comptons détailler, classées par
versions.
1ere version
Pour cette version nous allons :
- Déterminer un protocole flexible de communication
- Déterminer le format de stockage des listes de machines disponible
- Déterminer le format de stockage des listes de machines disponible
- Déterminer le format des fichiers de log
- Pour l'élaboration du Client il nous faudra :
- Gérer les scénarios
- Gérer la programmation des tâches
- Pour l'élaboration du Serveur , il devra gérer les fonctionnalités suivantes :
- Proposer une exécution simple des tâches selon plusieurs scénarios
- Présenter un reporting d'erreur complet
- Renvoyer correctement ses informations détaillées
5
2010 CDC RWM FR
EIP-EPITECH
2eme version
Notre deuxième version rajoutera des fonctionnalités aux parties déjà
existantes et sera une version finalisée du back-office, elle proposera
essentiellement comme nouvelle fonctionnalité une synchronisation du temps
entre les différentes machines de notre programme afin de pouvoir planifier et
programmer des taches dans le temps et dans la durée.
- Pour la partie cliente:
- Nous proposerons une version plus détaillée de la programmation des
taches, essentiellement grâce à cette gestion du temps.
- Coté serveur:
- Ce sera une gestion complète de la programmation qui sera développée
toujours grace à cette nouvelle fonctionnalité.
3eme version
Pour cette version nous comptons implémenter une interface graphique, à
cette application afin qu'elle soit accessible à un plus grand nombre
d'utilisateurs.
Une fois la dernière version mise en place, Remote Workload Manager sera
équipé des différentes fonctionnalités listées ci dessous.
Fonctionnalités communes
Ces fonctions serviront à la communication entre les différentes entités de
notre solution elle gèrent essentiellement
–La
définition et l'utilisation d'un protocole / Log unifiés
–La
synchronisation date/heure à intervalle régulier:
- La synchronisation des taches par rapport au manager ( création d'un
timestamp spécifique au manager qui sera transmis aux serveurs pour
synchronisation )
–
6
2010 CDC RWM FR
EIP-EPITECH
Fonctionnalités client / manager
Concernant les postes clients et le manager de notre structure, ils proposeront:
–Une
gestion par le manager de la liste des serveurs sur lesquels il faudra
exécuter les taches.
–Une
gestion de la liste des taches.
–L'utilisateur
pourra choisir l'exécution pour chaque tache:
- À exécuter sur le premier serveur disponible
- À exécuter sur le serveur le moins chargé
- À exécuter sur un ou plusieurs serveurs spécifiques
- À exécuter sur tous les serveurs
- À exécuteur sur le maximum de serveurs possible
–Il
pourra choisir le nombre d'exécutions des taches:
- Une seul fois
- N fois
- En boucle
–Nous
proposerons aussi une programmation des taches dans le temps
( timestamps ) avec la possibilité de paramétrer :
- Le début de l'exécution ( facultatif : sinon début immédiat )
- Le laps de temps entre les exécutions si N fois ou en boucle ( facultatif
sinon immédiat apres l'exécution précédente )
- La fin de l'exécution si en boucle ( facultatif sinon indéterminée )
–Nous
proposerons une interface graphique conviviale, afin que ce produit soit
accessible à tout utilisateur.
7
2010 CDC RWM FR
EIP-EPITECH
Fonctionnalités serveurs
Coté serveur nous auront implémenté:
–Un
affichage détaillé de ses informations par le serveur avec par exemple:
–Sa
version du serveur
–Son
–Sa
–Un
charge courante
reporting de l'état des taches en cours
–Une
–Un
OS hôte
gestion complète d'exécution des taches
report sur une sortie erreur du détail de l'exécution, par exemple:
- Si nous avons un fichier manquant
- Si l'utilisateur n'a pas les droits sur un fichier ou un répertoire.
- Sur une erreur d'exécution de la part du serveur.
–Une
gestion de la programmation dans le temps
1.5 Choix technologique
Le langage de programmation utilisé pour le projet RWM est le Perl et
une version GTK/Web pour l'interface graphique, ce choix se justifie par
l'utilisation du langage Perl par les administrateur systèmes.
3. Organisation
Pour que tous les membres de l’équipe puissent travailler de façon
efficace, une infrastructure doit être mise en place. Celle-ci passe par la
gestion des membres de l'équipe, le respect d'une méthodologie de réalisation,
l'instauration d'un planning à respecter, le choix judicieux de ressources
techniques et une communication parfaite entre les intervenants du projet.
Afin de faire face à notre contrainte qui est que nous avons tous d'autres
projets et travail en dehors de l'EIP, nous organisons des séances de travail en
groupe durant la semaine et le weekend afin de mieux suivre la progression du
développement du projet et résoudre les difficulté que chacun peut avoir
individuellement en groupe.
8
2010 CDC RWM FR
EIP-EPITECH
3.1 L'équipe
Notre équipe se décompose de la manière suivante:
Chef de projet:
- Jacky Rouquette
Équipe de développement:
- Jonathan Bouchot
- Johan Massin
- Yannick Boillon
- Regis Rouyard
Cette organisation est celle qui a été élaborée lors de notre réunion postprésentation.
Nous comptons tout de même chacun prendre part à toutes les parties du
projet afin d’avoir une vue globale de l’application en plus de nos parties
spécifiques.
3.2 Méthodologie
La méthodologie est représenté par le diagramme de Gantt ci dessous.
Le découpage est effectuées en quatre grand partie distingué,
développement , soutenance, documentation et communication.
Nous organisons des temps de travail en groupe afin de mieux respecter nos
délais et la qualité des taches à réaliser.
9
2010 CDC RWM FR
EIP-EPITECH
10
2010 CDC RWM FR
EIP-EPITECH
3.4 ressources techniques
Les ressources techniques se distingue en 2 parties,
première partie les ressources utilisées dans l'enceinte d'Epitech:
équipé d'ordinateur dual core à 3Ghz et de mémoire de 4Go de RAM ainsi que
rackable,
la deuxième partie des ressources utilisé sont nos ordinateurs personnels,
ordinateur de bureau ou portable, le développement se fait sous les systèmes
d'exploitation Ubuntu 8.10 et Windows XP SP3
Pour les tests, nous allons utiliser des serveurs personnels tournants sur
différents version Linux, Ubuntu server, zenwalk server, debian et window
serveur 2003,
3.5. Communication
La communication au sein du groupe RWM s'établit soit par les outils
informatique:
Création d'un groupe RWM sur Google groups afin de partager nos travaux, une
page d'accueil organisé nous sert de récapitulatif pour les dates importantes
(soutenances, suivies, réunions etc..), l'organisation du travail, les rôles de
chaque membre de l'équipe, la répartition des tâches à faire, et l'avancement
du projet.
Nous communiquons par Gtalk comme messagerie instantanée et Gmail pour
messagerie email, en effet, l'utilisation d'un outil unique pour l'ensemble des
membres du projet nous permet d'être plus facilement présent et joignable
sans avoir à utiliser plusieurs solutions de communication différents.
Pour finir, nous allons créer un FAQ en ligne et un wiki sur le site Wikipedia
concernant le projet RWM, le tout sera centralisé sur un futur site internet pour
répondre au mieux aux besoins des futurs utilisateurs.
Concernant la communication interne, nous organisons des réunions et des
périodes de travail en groupe hebdomadaires afin d'avoir un meilleur suivi de
l'évolution du projet et d'être plus efficace lors du développement du projet.
11
2010 CDC RWM FR
EIP-EPITECH
3.6. Procédures de test
Test des fonction communes
–
Protocole / Log unifiés
–
Synchronisation date/heure à intervalle régulier:
Synchronisation des taches par rapport au manager ( création d'un
timestamp spécifique au manager qui sera transmis aux serveurs pour
synchronisation )
–
–
Test des fonction client / manager
–
Gestion des listes de serveurs
–
Gestion des listes des taches
–
Choisir l'exécution pour chaque tache:
–
A exécuter sur le premier serveur disponible
–
A exécuter sur le serveur le moins chargé
–
A exécuter sur un ou plusieurs serveurs spécifiques
–
A exécuter sur tous les serveurs
–A
exécuteur sur le maximum de serveurs possible
–
Choisir le nombre d'exécutions
–
Une seul fois
–
N fois
–
En boucle
–
Programmation des taches dans le temps ( timestamps )
–
Début de l'exécution ( facultatif : sinon début immédiat )
Laps de temps entre les exécutions si N fois ou en boucle ( facultatif sinon
immédiat apres l'exécution précédente )
–
–
Fin de l'exécution si en boucle ( facultatif sinon indéterminée )
–
interface graphique conviviale
12
2010 CDC RWM FR
EIP-EPITECH
Test des fonctions serveurs
–
informations
–
Version du serveur
–
OS hôte
–
charge courante ( voir LBNamed )
–
Reporting de l'état des taches en cours
–
Exécution des taches
–
Report sur une sortie erreur du détail de l'exécution
–
Fichier manquant
–
Droits manquant
–
Erreur d'exécution
–
.. ( A déterminer, au maximum )
–
Gestion de la programmation dans le temps
13
2010 CDC RWM FR
EIP-EPITECH