Update: cet article a été modifé après sa publication suite au retour de Jérôme.
Jeudi soir sur invitation de Dimitri Baeli, j’ai assisté à la réunion mensuelle de l’OSSGTP. Après avoir présenté l’association je vous parlerai d’Elastic Grid, un projet très intéressant de Jérome Bernard.
L’OSSGTP (Open source software get together in Paris) est un groupe français de développeurs de la communauté open-source francophone. Chaque mois l’idée est de se réunir et de parler de l’actualité des projets open-source, d’assister à des présentations en avant première et enfin de pouvoir échanger entre fans de la communauté open-source en France. C’est l’occasion de nouer de nouveaux contacts et de rencontrer des personnes actives dans la communauté open-source, majoritairement Java. Pour moi c’était aussi l’occasion de mettre des visages sur des noms que je connais depuis quelques temps, à force d’écumer les blogs sur Java.
Parmis ses membres, je connais déjà Julien Dubois (Spring Source) et Dimitri Baeli (Prima Solutions). J’ai fait la connaissance IRL de François Le Droff (Adobe, Flex) dont je lis le blog depuis pas mal de temps. Etaient aussi présent : Didier Girard auteur du blog application-servers.com que j’ai croisé plus tôt dans la journée chez Valtech. Jérome Bernard l’auteur du projet open-source Elastic Grid qui travaille avec Amazon EC2. Charles Gay auteur de JGuard. Je n’ai pas retenu tous les noms des personnes présentes mais nous étions 9 en tout. Octo était l’hébergeur de la réunion.
Avant de vous parler d’Elastic Grid, je vais vous parler d’Amazon Elastic Cloud Computing (EC2). EC2 permet de louer une ou plusieurs machines sur la plateforme d’hébèrgement d’Amazon à l’heure tout en offrant un moyen via des Web Services pour démarrer autant de machines que vous souhaitez à partir de votre image ISO, les arrêter, gérer les règles du firewall, etc. Imaginez que vous ayez une image de votre serveur Linux avec votre Fedora, un serveur Tomcat et une base MySQL. Avec EC2 il est possible de déployer en quelques minutes cette image sur la grappe de serveur d’Amazon. Le prix dépend de la puissance et du nombre de machines que vous souhaitez. Je vous conseille de lire ce post qui donne un exemple de prix. EC2 est donc un service d’hébergement en Cloud computing qui vous permet de louer à l’heure un énorme nombre de machine pour faire quelques tests par exemple.
EC2 utilise Xen pour faire de la virtualisation. Il existe 5 profils de serveur différents. Du petit serveur, processeur Xeon 2007 à 1.2Ghz, 160 Gb d’espace disque et 1.7Go de mémoire jusqu’au gros serveur 64bits avec 15Go de mémoire et l’équivalent d’un octo-processeur dual-core… De quoi bien s’amuser donc.
Pour travailler avec Amazon EC2, vous devez créer une image AMI (Amazon Machine Image). Ensuite vous envoyez vers Amazon S3 (simple storage service=s3) cette image iso. Via des webs services ensuite vous configurez le nombre de machine et vous pouvez alors les piloter à distance. Pour cela la communauté a développé des plugins pour Firefox ainsi que des plugins pour IDEA IntelliJ.
Jérome Bernard d’Elastic Grid, LLC. est justement l’auteur d’un plugin pour IntelliJ, mais surtout le co-auteur du projet Elastic Grid avec Dennis Reedy et contributeur sur Rio. Je vais essayer d’explique le mieux possible son projet qui vaut le détour. Dennis Reedy est l’auteur du projet RIO. Rio est un outil qui permet de déployer des applications, de les monitorer et de démarrer par exemple une application lorsqu’une panne est détectée sur un serveur.
Le projet Elastic Grid propose de réaliser pour vous du provisionning et de la reprise sur incident pour toute application déployé sur Amazon EC2. Prenons un cas typique que je proposais à Dimitri dans le métro. Je suis un site marchand développé en Java, hébergé avec un petit Tomcat et une base MySQL. Je suis un vendeur de ski. Donc durant le mois de juillet, je n’ai vraiment pas besoin de beaucoup de CPU et de mémoire, puisque mes ventes seront basses. Au contraire, entre novembre et décembre il faut que mon site marchand fonctionne au mieux, et que même idéalement il augmente tout seule ses capacités en terme de CPU et de mémoire, si mon site est surchargé. Je ne veux pas louper de ventes, et j’ai donc besoin d’un système assez intelligent pour démarrer ou arrêter au besoin des machines. Elastic Grid permettra de piloter automatiquement le démarrage/arrêt de machines et le déploiement de vos applications/services pour s’adapter à la charge et donc, d’effectuer une montée en charge pour vous. Classe non ?
Jérome a montré une application de découpage de séquences vidéos. Il travaille pour la chaîne de télévision Vivolta. Le découpage et la transformation d’un fichier MP4 en FLV pour le web demande pas mal de puissance machine, surtout du CPU. Grâce à Elastic Grid, lorsque beaucoup de demandes de découpages de vidéos arrivent, nous avons vu sur Amazon EC2 que les serveurs démarraient automatiquement pour effectuer le traitement. Assez génial… Et il va falloir que j’aille à Bry-sur-marne en parler un peu… (secret dont je parlerai dans quelques jours)…
Jérome est allé à JavaOne 2008 cet année afin de présenter le projet Elastic Grid à la communauté Java. Vous pouvez retrouver sa présentation à cette URL.
Voilà c’était une journée assez dingue. D’abord durant la présentation GWT, la présentation de GXT qui tombe pile poil au moment où je retravaille l’interface d’un logiciel. Ensuite la rencontre avec Jérome et son projet Elastic Grid… Il y a une étoile qui surveille ce que je fais ou quoi ? (secret 2 : revenez lire ce post après la sortie du post que je publierai plus tard…)
0 no like