Ingénierie Système
Au sein de l’équipe UNIX France, nous gérons le récurrent (volume, filesystèmes, alertes…) et nous occupons aussi des projets à moyen terme comme migration AIX, Oracle ou d’installations de nouveaux produits sur différents environnements (développement, recette, production). Il arrive parfois que l’on nous confie des projets de vieille technologique.
En mai 2014, il m’a été demandé de tester les capacités possibles d’Amazon Web Services, qui est un service de Cloud Computing étendu.
AWS permet donc de créer des machines virtuelles (des plus légères aux plus lourdes), d’avoir accès à un Cloud public ou à un Cloud privé où se trouvent toutes les technologies de stockage etc… En outre, il est aussi possible de mettre en place des stratégies de réplications ou de backup.
Demande initiale :
– La requête de base était de créer une machine virtuelle de type Linux/Unix et de la relier à notre Datacenter via un VPN privé et de s’assurer si l’utilisation était souple et fiable.
– Si le premier point a été validé, il sera alors question de déployer une plateforme de Business Intelligence « SAS » très consommatrice en ressources afin d’étudier la faisabilité et le potentiel gain financier dont on pourrait bénéficier en déployant cette plateforme en dehors d’Aviva.
Premier-pas :
L’interface d’Amazon est assez complète ; vous pouvez créer une machine, un espace de stockage, un backup en quelques clics.
Les machines sont soit préconfigurées soit sur-mesure.
Pour cette première étape j’ai choisi d’installer une RedHat 7 HVM (pour tester l’hyperviseur d’Amazon). Le choix du système d’exploitation est très vaste : il s’étend de Windows 2003 à Freebsd le tout soit en disque local, soit en Logical Volume Manager.
J’ai sélectionné une machine standard 1vcpu 1gb, puis le stockage qui sera imputé à cette machine. La dernière action m’a envoyée vers la configuration du réseau et du VPN dans le but de lier cette machine au LAN d’Aviva.
L’interface se présente comme un site d’achat où il faut cliquer sur « ajouter au panier » puis sur « suivant », sur « suivant » et sur « valider le panier ».
Cette dernière action vous redirige vers l’interface de machine virtuelle EC2 et, en quelques minutes, la machine est disponible ; il suffit simplement de cliquer sur « Start ». J’ai démarré la machine sans avoir de visibilité car aucun écran n’est relié dessus ! Il faut utiliser SSH en mode commande ou un export X11 SSH pour obtenir l’écran : c’est pourquoi Amazon met à disposition des clefs de cryptage SSH. Une fois que vous vous connectez à la machine, celle-ci se comporte comme un Linux standard et, après quelques iostat, vmstats, je me suis aperçu que les performances étaient très correctes pour une machine de cette taille.
Au bout de quelques jours, j’ai trouvé cette expérience concluante et ai donné mon feu vert pour le passage à la deuxième étape.
SAS Visual Analytics :
L’action consiste à installer une plateforme SAS VA sur une machine dans le Cloud Amazon. Dans la mesure où il s’agit d’une preuve de fonctionnement il est inutile de fabriquer une machine capable d’entrer en production. Toutefois, à la lecture de la documentation du logiciel, il s’avère que celui-ci est extrêmement gourmand.
Son principe de fonctionnement est le suivant : via une interface Web, il prend des données à consolider – des plus simples aux plus complexes – soit des documents Excel soit des base de données entières qu’il va ensuite analyser pour pouvoir faire des regroupements. C’est pourquoi la configuration minimum est de 16 CPU et 256GB de RAM, aussi il faut compter 150GB d’installation et puis l’espace nécessaire pour stocker des données !
Du fait de la configuration minimale requise, j’ai opté pour la machine Amazon appelée « r3.8xlarge » qui vient avec 32 CPU, 244GB de RAM et 2x320GB SSD, il est temps d’éclaircir un point chez Amazon:
Chez Amazon rien n’est figé sur les ressources souhaitées ou les options, mais tout est payant. Sur la machine r3.8xlarge, par exemple, il est possible d’ajouter autant de disques que je souhaite et je paierai à chaque fois. Il en est de même pour les options (backup, snapshots….). La machine en elle-même est facturable à l’heure d’utilisation.
Tout comme la première machine de test, je réserve la machine et quelques minutes après celle-ci est disponible sur l’interface de gestion EC2. Je démarre cette machine et me connecte en ssh via la clef fournie précédemment par Amazon.
La machine est une Red Hat 7, comme je soupçonne qu’une interface graphique sera nécessaire au moins pour l’installation je lance l’install:
#yum groupinfo desktop
#yum groupinstall « desktop » « desktop platform »
Après quelques modifications de configurations, j’obtiens un environnement graphique, accessible en mode distant via Remote Desktop et un tunnel ssh. Avant de créer des filesystems pour l’application et les données, je réalise un inventaire des données à transférer et il semble que 600GB de données soient demandés alors que j’ai besoin de 150GB pour l’installation…Les 2x320GB SSD ne vont donc pas suffire.
Je décide donc de créer un disque supplémentaire chez Amazon de 1024GB ; cela représente bien plus que mon réel besoin mais comme il s’agit de stockage dématérialisé il est possible de « détacher » un disque d’une machine pour « l’attacher » à une autre. Mon idée est donc de déposer les sources de l’application et les données sur le même disque afin potentiellement de pouvoir le « détacher » et « l’attacher » à une autre machine.
Le disque est créé en quelques secondes, et l’interface permet de « l’attacher » directement à la machine, sur le Linux il suffit de scanner à chaud les périphériques ‘echo « — » /sys/class/scsi_host/host0/scan’ et récupérer le nouveau nom du device ‘tail /var/log/messages’
Puis j’utilise l’utilitaire fdisk pour créer une partition Linux LVM (Logical Volume Manager) et je crée un volume groupe ‘vgcreate datavg /dev/sb1’ puis dans ce volume groupe, 3 filesystèmes « /applis/data » « /applis/sources » « /applis/install » afin de me préparer à installer l’application.
Vu que cette machine a été intégrée dans notre VPN, j’en profite pour l’enregistrer sur notre serveur satellite (serveur de gestion RedHat) en faisant un ‘wget’ du bootsrap.sh puis je l’exécute pour me permettre de recevoir les mises à jour RedHat approuvées par mon entreprise.
Il reste à transférer les données et, pour cette raison, je vais utiliser un autre service payant Amazon ‘S3‘ (Simple Storage Service) qui fonctionne comme un dropbox, un ftp ou un Google drive, si ce n’est qu’Amazon met à disposition des APIs simples d’utilisation et installables sur chaque machine permettant de récupérer le contenu de ce drive depuis n’importe quelle machine Amazon. De mon côté j’envoie les données chez Amazon sans passer directement par le serveur Linux nouvellement créé.
Depuis mon ordinateur de bureau d’Aviva, je transfère les données à travers un outil CloudBerry, offrant la possibilité de transférer les données directement dans le S3 d’Amazon avec mon compte utilisateur. Une fois cette action terminée, j’ai pris rendez-vous avec l’avant-vente SAS afin qu’il me guide dans l’installation du produit, qui est resté en mode test jusque janvier 2015 puis décommissionner car celui-ci de répondait finalement pas aux attentes.
Il n’en reste pas moins que j’ai acquis une expérience intéressante sur le produit Amazon AWS et il est certain que l’on me demandera prochainement de mettre à profit cette expérience pour d’autres projets.