3. Le mot de la fin maintenant Le Cloud révolutionnel’hébergement Le Cloud va révolutionner le développement ! 2 – 5 ans ?
4. Agenda Etat des lieux sur le Cloud [Java] L’effervescence « dev@cloud » Les Forges Les IDE web Intégration continue sur le Cloud Déploiement sur le Cloud Perspectives
5. Kalistick et le Cloud Start-up (2007) lyonnaise Plateforme SaaS d’analyse de code Qualité des développements Optimisation des tests Vision opérationnelle (non théorique) Conçue dès l’origine pour le SaaS Montée en charge Version Cloud depuis Janvier 2011 Intégration dans les écosystèmes tiers
7. Vrai Cloud ou pas ? « Cloud » hype buzz Ingrédients pour un vrai cloud Abstraction : localisation géo., virtualisation Élasticité (scaling) À la demande Cloud public - Cloud privé - Cloud hybride L’application doit être prévue pour le Cloud !
8. IaaS, PaaS, SaaS, [A-Z]aaS, … IaaS Service ou application spécifique SaaS Software as a Service Client final Google Apps, SalesForce, Kalistick Environnement logiciel : JVM, Tomcat, MySQL, … PaaS Platform as a Service Développeur Google AppEngine, ElasticBeanstalk, VMForce, Azure Réseau, matériel, OS, … Adminsystème IaaS Infrastructure as a Service Amazon EC2, vCloud, Rackspace Segmentation des services Cloud
9. dev@cloud development test Quality Assurance(tests / code quality) pre-production dev@cloud et run@cloud * Monitoring production deploy ContinuousIntegration forge Runtime Development (IDE) Deployment run@cloud * Termes inventés par CloudBees
10. La référence IaaS : Amazon (AWS) Offre riche, cohérente et mature (2006) EC2 + nombreux services : Stockage, SGBD, CDN, NoSQL, … Régulièrement des nouveautés Administration et configuration riches Gestion de templates/images (AMI) Alternatives Rackspace, Joyent Références Dropbox, Zinga, Slideshare, …
12. Un PaaS : Google AppEngine Java/Python + BigTable (bientôt SQL ?) A démocratisé l’hébergement pour les dév. Java Gratuit pour un usage non-intensif (quotas) Monitoring simple et riche Auto-scaling Environnement non standard Lock-in important Oblige à développer autrement API Java limitée, BigTable, durée limite, …
14. L’arrivée du dev@cloud Marché très récent Souvent immature La communication avant tout ! Restructurations incessantes Offres / stratégies parfois obscures Marché très hétérogène Périmètres fonctionnels souvent différents Offres globales <> briques spécialisées
15. Quelques services dev@cloud Forge (SCM, wiki, bug tracker, …) Forge IDE IC Déploiement Développement (IDE sur le web) Intégration continue Déploiement et tests
16. Les Forges Forge Services offerts : SCM, wiki, forum, bug tracker, téléchargements, revue de code, … Forges dédiées à l’Open Source Forges OS + commercial Basés sur des Clouds ? IDE IC Déploiement
17. Les IDE Web Forge Editer son code sur le web Accès instantané au code Fonctions collaboratives Configuration + déploiement simplifiés Encore en Proof-of-Concept Souvent limités à HTML/JS/CSS Ergonomie / Réactivité ? IDE IC Déploiement EclipseOrion
18. exo Cloud IDE Solution PaaS + IDE Web IDE issu de exo Platform Orienté édition web + technologies utiliséesdans exo Platform : Gadgets, Rest Déploiement Environnement hosté xxx.cloud-ide.com Ou sur AWS (AMI) Usage limité Mais annonce une offre plus ambitieuse Cible IaaS-agnostic 03/2011 Forge IDE IC Déploiement
20. Intégration Continue [1/2] Forge Besoins de l’IC adaptés au Cloud Scalabilité, coût à l’usage Problématiques spécifiques Processus coûteux au niveau matériel Accès au code source Environnement pour les tests (base de données ?) Serveurs CI mutualisés, donc bridés Versions / outils / plugins limités (JDK, Maven, …), … Quid du livrable construit ? IDE IC Déploiement
21. Intégration Continue [2/2] Quelques solutions sur EC2 : : mode hosté, paiement mensuel : template EC2 gratuit (mais coût EC2) Forge complète avec Bamboo à déployer sur EC2 Jenkins (Hudson) sur EC2, paiement à l’usage Offre run@cloud complémentaire Forge IDE IC Déploiement Pérennité des solutions limitées à l’IC ?
22. Déploiement sur le Cloud Forge Objectif : Tester le résultat du build sur le Cloud Automatisation Environnement d’exécution compatible Accès pour l’exploitation Fichier de configuration, logs, monitoring perfs Fonctionnalités utiles Historique des versions déployées Qualité du réseau IDE IC Déploiement
23. AWS ElasticBeanstalk (beta) 1er pas d’Amazon vers le dev@cloud Limité au déploiement Simplification AWS pour les développeurs Configuration CPU, RAM, scaling, balancing, … Accès complet à l’instance EC2 Intégration dans Eclipse Historique des versions Limité à l’upload de war dans Tomcat6, mais Customisation possible du template (AMI) 01/2011 Forge IDE IC Déploiement
25. CloudBees 08/2010 Forge Ecosystème complet dev / runtime Offre DEV@cloud Repo GIT/SVN + MVN, Jenkins/Hudson SDK, plugin Eclipse Offre RUN@cloud Cible IaaS-agnostic (mais actuellement EC2) Déploiement de war, bases MySQL Historique des versions Monitoring IDE IC Déploiement
27. Code2Cloud [1/2] ??/2011 Forge Par SpringSource/VMWare + Tasktop(Mylyn) Ecosystème pour développeurs Git + Hudson (Jenkins ?) + Bugzilla-like Extensibilité vers d’autres outils via Mylyn Entièrement pilotable via Eclipse Connecté à un serveur Code2Cloud Hosté par VMWare Ou installable ailleurs, mais sur un cloudVMWare ! IDE IC Déploiement
28. Code2Cloud [2/2] Offre très cohérente (sur le papier) Intégration de bout en bout Ex : alimentation automatique du BugTracker à partir du monitoring de l’application Modèle Open Source (GPL) Business model reposant sur l’infrastructure IBMisation de l’offre VMWare Redondance, complexité de l’offre Forge IDE IC Déploiement
29. En conclusion L’effervescence n’en est qu’à son début Perspectives alléchantes Choix de la stratégie Niveau de service attendu (IaaS, PaaS, …) Ecosystèmes complets / briques à assembler « Don’tBelieve the Hype! » Peinture pas toujours très sèche Testez par vous-mêmes !