1 Cloud et PaaS: les développeurs reprennent le POUVOIR! @SachaLabourey
Abstract Le monde de l informatique va vivre sa révolution industrielle. Développeurs de tous les pays, soyez prêts! 2
@SachaLabourey JBoss Clustering lead 2001 GM Europe - 2003 CTO - 2005 Red Hat Acquisition de JBoss en juin 2006 co-gm de la division middleware Départ en avril 2009 (Pas intéressé du tout par le Cloud) CloudBees Créé en avril 2010 Environ 30 abeilles dans 6 pays (Très intéressé par le Cloud) 3
Reprendre le POUVOIR? 4
5 Reprendre le POUVOIR! Pouvoir FAIRE Pouvoir INNOVER Pouvoir CRÉER DE LA VALEUR (as in GO GO GO! )
6 Friction, friction, friction Deploy App: è Provision cluster Provision DB Deploy schema Deploy App to each node Provision cluster: è provision nodes (not a transparent update process) Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS Provision DB: è Provision node Install DB Configure DB Secure DB Setup BC for DB Provision node: Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS Manage environment (recurring) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB Metering/Scaling (recurring) Measure App performance maintain FW Acquire Hardware Validate/QA stack Provision node Update Cluster Update LB Update Security
7 Friction, friction, friction Deploy App: è Provision cluster Provision DB Deploy schema Deploy App: Deploy App to each node Provision cluster: è provision nodes (not a transparent update process) Install load-balancer (LB) Configure LB è Provision cluster Provision DB Deploy schema Secure LB Setup BC for cluster QA cluster Configure DNS Provision DB: è Provision node Install DB Configure DB Secure DB Setup BC for DB Provision node: Configure OS Secure OS Setup JVM Install AS on OS Configure AS Secure AS Deploy App to each node Provision cluster: è provision nodes Secure LB (not a transparent update process) Install loadbalancer (LB) Setup BC for cluster Configure LB QA cluster Manage environment (recurring) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs Configure DNS maintain OS maintain JVM maintain AS maintain DB Metering/Scaling (recurring) Measure App performance maintain FW Acquire Hardware Validate/QA stack Provision node Update Cluster Update LB Update Security
8 Vous reprendrez bien un peu de sable avec ça?
9 Développeurs vs. Sys Admins Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html
10 M. Développeur M. Sys Admin/ops Intérêts & hobbies: Etudier le dernier framework à la mode Mettre dans l application de production le dernier truc sympa vu à DEVOXX Participer au débat Scala vs. Ceylon, langage statique vs. dynamique, etc. Rêve de rencontrer James Gosling Intérêts & hobbies: Ne pas se faire beeper à 2h00 du matin Ne pas se faire beeper à 4h00 du matin Participer au débat Debian vs. Fedora vs. Ubuntu Rêve de rencontrer Linus Torvald
Bref, le grand amour 11
12 Bref, le grand amour (et oui )
13 Au fait, ça sert à quoi l informatique? A faire du chouette code en Scala? A installer Windows 2008? A configurer grub.conf sur Linux?
14 L IT sert au BUSINESS! Besoin Business Specification Implémenta-tion Déploiement
15 L IT sert au BUSINESS! Bien sûr Augmenter le CA! 15 secondes Implémenter application commandes enligne JVM? Ruby? PHP? Java? Scala? Play? Groovy? Lift? Jruby? CFML? Grails? Spring? EE6? JBoss? Tomcat? Glassfish? Jetty? MySQL? MongoDB? CouchDB? Cassandra? JMS? AMQP? Memcache? Ehcache? Quartz? Lucene? Solr? Jquery? GWT? iphone? Android? JIRA? Redmine? SVN? Git? Maven? Ant/Ivy? Jenkins? Artifactory/Nexus? etc. AMD/Intel? HP? DELL? SPARC? UX? AWS? Linux? Windows? Solaris? RHEL? Ubuntu? Debian? Arch? EXT2/3? NFS/ CIFS? Backup? Chef? Puppet? Continuous Deployment? Apache HTTPD? Mod_jk? Mod_proxy? Nginx? Haproxy? Firewall? SSL? Server provisioing? Load-balancing? Failover? Monitoring? Management? Alerting? Escalation procedure? etc.! 2 semaines! 18 mois!!!
On lui avait pas simplement demandé de faire un site d ecommerce? 16
Et demain? 17
Des changements importants! Mobile Social Local Big Data Consumerization of IT HTML5 Component reuse Open Source Agile SCRUM
A l aube de l ère post-pc Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC
Source: Mary Meeker, 2011, www.kpcb.com/internettrends2011 20
Source: Mary Meeker, 2011, www.kpcb.com/internettrends2011 21
Internet Mobile - 10x plus grand! Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC
Comment faire? 23
24 Comment faire? 10x plus d applications! 10x plus de développeurs? 10x moins de salaire? 10x plus productifs?
Solution! 25
26 Solutions 1.Valoriser l échec 2.Augmenter la productivité
Valoriser l échec?!? Environ un quart des projets échouent Et l échec, c est mal, c est bien connu Alors on force le succès! On augmente les budget, on étend les délais, on réduit les fonctionnalités, on réduit les attentes Bref, on «réussit» Source: http://bit.ly/aapgxe 27
1. Il faut AUGMENTER l échec Puisque nous devons développer 10x plus d applications 100% des idées sont-elles de bonnes idées? NON! Est-ce toujours possible de le savoir à l avance? NON! Si une idée est mauvaise ou pas intéressante, autant le savoir rapidement! è FAIL-FASTER!!! A lire absolument: http://speakerdeck.com/u/searls/p/the-mythical-team-month 28
1. Fail-Faster - Fail-Smaller Idée 1 Idée 2 Idée 3 Idée 4 Idée 5 Idée 6 Idée 7 Idée 8 DEV+IT TEAM App 1 App 2 App 3 App 4 Idée 5 Idée 6 Idée 7 Idée 8 Idée 1 Idée 2 Idée 3 Idée 4 Dev 1 Dev 2 Dev 3 Dev 4 DEV TEAM App 1 App 2 App 3 App 4 App 5 App 6 App 7 App 8 29
30 Repeat after me 1. Échouer VITE avec PEU de RESSOURCES C est BIEN!
31 2. Augmenter la productivité Faire de petits projets, rapidement, OK, mais la FRICTION reste constante! è pas de scalabilité! è Il faut supprimer la friction entre développement et IT!
32 Supprimez l IT! Deploy App: è Provision cluster Provision DB Deploy schema Deploy App to each node Provision cluster: è provision nodes (not a transparent update process) Install load-balancer (LB) Configure LB Secure LB Setup BC for cluster QA cluster Configure DNS Provision DB: è Provision node Install DB Configure DB Secure DB Setup BC for DB Provision node: Configure OS Secure OS Setup JVM vs. DEPLOY Install AS on OS Configure AS Secure AS Manage environment (recurring) Analyse sec. bulletins Analyse QA bulletins Analyse AS/OS logs maintain OS maintain JVM maintain AS maintain DB Metering/Scaling (recurring) Measure App performance maintain FW Acquire Hardware Validate/QA stack Provision node Update Cluster Update LB Update Security
Développeurs 33
34 A l IT de payer leur complexité! serveurs
35
Un monde sur Mars, sans IT, ni serveur! 36
37 Pas un cloud à l horizon... Y en a Marre de l IT!
38 Comment faire?!? PaaS! (i.e. Platform as a Service)
Avant PaaS Unit Test Functional Test Développeur IT Source Code Managemnt Jenkins Continuous Integration Load Test Pourriez-vous provisionner un serveur? Pourrais-je avoir un serveur avec X, Y et Z? Pourriez-vous me patcher mon serveur? Pourriez-vous me copier ma base de données? Pourrais-je avoir un répoertoire Git Pourrais-je avoir un serveur Jenkins? Integration Test
Avec PaaS Unit Test Functional Test Développeur Portail PaaS Source Code Managemnt Jenkins Continuous Integration Load Test Créer un nouveau compte Créer répertoire Git Créer Job Jenkins Déployer App Terminé. Integration Test
CloudBees PaaS 41
PaaS Pas d attente Pas d erreurs
PaaS Vous faites le DEV Le PaaS fait les Ops
PaaS Vous ne gérez plus du middleware Vous utilisez des services
45 Cela fonctionne-t-il? BULLSHIT 2.0?
46 LoseIt! Les Faits loseit! La Réalité Application Mobile >12 millions d utilisateurs >25 000 transactions/minute Monitoring temps réel d activité Plusieurs releases par semaine 4 employés au total 2 développeurs 2 marketing 0 IT/opérations è 4 employés
47 Je ne suis pas très cloud perso Le cloud ce n est pas sûr! pas stable! La vraie question est: que fera votre société aura un LoseIt! comme compétiteur? If you don t like change, you are going to like irrelevance even less. -- Gen. Erik Shineski
48 Conclusion Les nouvelles données et les applications vont exploser Il sera essentiel de valoriser l écher et d augmenter la productivité De nouveaux outils et processus sont nécessaires Le cloud est la nouvelle plate-forme Le futur est maintenant!
49 CloudBees en 2 minutes > git clone ssh://git@git.cb.com/webinar/jbosskitchensink.git kitchensink > bees app:create --withcd t jboss kitchensink Crée un répertoire Git, un job Jenkins et une application > git remote add cloudbees ssh://git@git.cb.com/webinar/kitchensink.git > git push cloudbees master > git commit -a -m did modification" App Project Push Source Control Build/Test DEV@cloud Jenkins Deploy Elastic App Elastic RUN@cloud
50 La suite Maintenant: Sur le stand d Oxiane, démo complète de dev +deploy sur CloudBees Plus tard: Créez votre compte gratuit sur http://www.cloudbees.com/