développeurs, bienvenue dans le cloud
Post on 15-Jun-2015
3.448 Views
Preview:
DESCRIPTION
TRANSCRIPT
Développeurs, bienvenue dans le Cloud.
22 mai 2012 – Xebia Cloud Conference Sacha Labourey CEO, CloudBees, Inc.
Photo credit: @romainguy ©2012 CloudBees, Inc. All Rights Reserved
2
• Né en 1975 à Neuchâtel (Suisse) • JBoss
– Développeur du clustering - 2001 – GM Europe de JBoss - 2003 – CTO - 2005
• RHT – Acquisition de JBoss en juin 2006 – co-GM de la division middleware chez RHT – Départ de RHT en avril 2009
• CloudBees – Fondé en avril 2010 – Environ 30 abeilles dans 6 pays
Présentation – Sacha Labourey
©2012 CloudBees, Inc. All Rights Reserved
X
3
• Ce que signifie le Cloud pour les développeurs? – IaaS vs. PaaS vs. SaaS
• Status quo ou explosions de projets? • Ai-je vraiment besoin du cloud? • Prévisions Météorologiques
Agenda
©2012 CloudBees, Inc. All Rights Reserved
Cloud 101 Le Cloud pour les pas si nuls
©2012 Cloud Bees, Inc. All Rights Reserved
5
Pile Logicielle Typique
©2012 CloudBees, Inc. All Rights Reserved
Installer
Monitorer
Patcher
Me0re à jour
Valider la Pile
6 ©2012 CloudBees, Inc. All Rights Reserved
Installer
Monitorer
Patcher
Me0re à jour
Valider la Pile
Cloud Computing: comment faire? Qui fait quoi?
Cloud Provider
?
7
Utilisez un « PaaS » !
©2012 CloudBees, Inc. All Rights Reserved
8
Un quoi?!?
©2012 CloudBees, Inc. All Rights Reserved
Décryptons ensemble…
9
• Amazon – l’exemple le plus populaire • Blocs Lego de serveurs, VM’s, DBs, AS etc • Environnement de développement:
– Flexible mais compliqué – “Donne-moi un serveur, un OS, une plateforme de
virtualisation, un AS, une base de données. Je vais gérer le tout, de A à Z.”
• SYSTÈMES!
IaaS
©2012 CloudBees, Inc. All Rights Reserved
10
• Gestion de « piles logiciels » traditionnels • A la place d’utiliser un serveur SUN/HP/IBM/XYZ,
vous utilisez les serveurs virtuels d’un IaaS (à la EC2)
IaaS – On reproduit ce que l’on fait déjà
©2012 Cloud Bees, Inc. All Rights Reserved
?
11
IaaS – Tout change, mais rien ne change
©2012 Cloud Bees, Inc. All Rights Reserved
12 ©2012 CloudBees, Inc. All Rights Reserved
13
• Gérer ses ressources IaaS directement vous offre l’élasticité des ressources (sans CAPEX), mais…
• La quantité d’IT à effectuer est généralement … plus élevée! – Toutes les activités traditionnelles persistent
(mises à jour OS+JVM+AS+DB++, etc.) – Auxquelles s’ajoutent les activités spécifiques au cloud – Et devinez qui sera responsable de ce nouvel ensemble?
IaaS – Les conséquences
©2012 CloudBees, Inc. All Rights Reserved
14
• SalesForce.com, Zendesk, NetSuite, etc. • Point de vue de l’utilisateur
– Applications typiques: CRM, e-mail, HR, etc. – Mise en route très rapide
• Environnement de développement: – Rigide – principalement par la CONFIGURATION – Lorsqu’il est disponible, le développement prend
place au sein du SaaS directement
SaaS
©2012 CloudBees, Inc. All Rights Reserved
15 ©2012 CloudBees, Inc. All Rights Reserved
16 ©2012 CloudBees, Inc. All Rights Reserved
17
• Fournit un environnement focalisé sur les applications – Code source, build, test, clustering, messaging, etc.
• On ne pense plus en SYSTÈMES – Pas de pile logicielle, d’OS, de middleware, de patches,
etc.
• Objectifs – Applications sur-mesure
PaaS
©2012 CloudBees, Inc. All Rights Reserved
18 ©2012 CloudBees, Inc. All Rights Reserved
…
19 ©2012 CloudBees, Inc. All Rights Reserved
20 ©2012 CloudBees, Inc. All Rights Reserved
21 ©2012 CloudBees, Inc. All Rights Reserved
22 ©2012 CloudBees, Inc. All Rights Reserved
23
• Les applications et les données sont au centre du monde! – Oubliez les serveurs, VMs, load-balancers, etc.
• Les concepts du cloud sont appliqués aux applications et aux données directement – Pay as you go, elasticity, on-demand, etc. – Pas besoin de gérer les mises à jour, les patches,
la montée en charge, la tolérance aux pannes, etc. Ceci est un Service, pas un Logiciel.
PaaS
©2012 Cloud Bees, Inc. All Rights Reserved
24
1ère décision: IaaS, SaaS ou PaaS?
©2012 CloudBees, Inc. All Rights Reserved
Iaas Jongle avec les technologies
Saas Contraint
Paas Flexible
25
PaaS! Par ce que je le vaux bien.
©2012 CloudBees, Inc. All Rights Reserved
Paas Flexible
26
• Puis-je avoir un “PaaS Privé”? – Oui, bien sûr, nous pouvons également vous vendre un jet privé – Tentant: semble fournir tous les avantages du cloud et la
promesse de pouvoir personnaliser l’environnement!
• Mais… – Une grande partie de la valeur d’un PaaS provient du “S”:
• Avec un PaaS public, vous out-sourcez vos OPERATIONS&DEVOPS!
– Avec un PaaS privé, vous bénéficiez d’une délimitation plus propre entre DEV et IT … mais vous restez en charge de tout!
• Pas de masse réelle spécialisation, pas de masse critique
– Et surtout: la « personnalisation » est la source de tous les maux!
• « Bonjour EDF, pourriez-vous me fournir une prise 160V pour mon toaster? »
Un dernier avertissement
©2012 CloudBees, Inc. All Rights Reserved
Oui, mais moi j’aime bien gérer des SYSTÈMES!
Grand geek, va…
©2012 Cloud Bees, Inc. All Rights Reserved
28
Friction, friction, friction
28
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodes
Install load-balancer (LB) Configure LB
Secure LB Setup BC for cluster QA cluster
Configure DNS
Provision node:
Provision cluster:
Provision node Install DB Configure DB
Secure DB Setup BC for DB
Provision DB:
Provision cluster Provision DB Deploy
schema
Deploy App to each node
Deploy App:
(not a transparent update process)
Analyse sec. bulletins
Analyse QA bulletins
Analyse AS/OS logs
maintain OS maintain JVM maintain AS
maintain DB
Manage environment (recurring)
maintain FW Validate/QA stack
Measure App performance
Acquire Hardware
Provision node
Update Cluster Update LB
Metering/Scaling (recurring)
Update Security
29
Friction, friction, friction
29
èprovision nodes
Install load-balancer (LB) Configure LB
Secure LB Setup BC for cluster QA cluster
Configure DNS
Provision cluster:
è Provision cluster Provision DB Deploy
schema
Deploy App to each node
Deploy App:
(not a transparent update process)
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodes
Install load-balancer (LB) Configure LB
Secure LB Setup BC for cluster QA cluster
Configure DNS
Provision node:
Provision cluster:
Provision node Install DB Configure DB
Secure DB Setup BC for DB
Provision DB:
Provision cluster Provision DB Deploy
schema
Deploy App to each node
Deploy App:
(not a transparent update process)
Analyse sec. bulletins
Analyse QA bulletins
Analyse AS/OS logs
maintain OS maintain JVM maintain AS
maintain DB
Manage environment (recurring)
maintain FW Validate/QA stack
Measure App performance
Acquire Hardware
Provision node
Update Cluster Update LB
Metering/Scaling (recurring)
Update Security
30
Développeurs vs. Sys Admins
30
Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html
31
• M. Développeur
• 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
• M. Sys Admin/ops
• 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
31
32
L’IT sert au BUSINESS!
32
Besoin Business
Specification Implémenta-tion Déploiement
33
L’IT sert au BUSINESS?
33
Augmenter le CA!
Implémenter application
commandes en-ligne
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.
15 secondes
‚ ! 2 semaines
”! 18 mois ……………………………………………………!……………………………………………………!!
34 34
On lui avait pas simplement demandé de faire un site d’e-commerce?
Mais, ai-je vraiment besoin du cloud? i.e. le syndrome de “La cabane au fond du jardin”
©2012 Cloud Bees, Inc. All Rights Reserved
36
Des changements importants!
• Mobile • Social • Local • Big Data
• Consumerization of IT
• HTML5 • Component reuse • Open Source • Agile SCRUM
37
A l’aube de l’ère post-PC…
Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC
38 38 Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011
39 39 Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011
40
Internet Mobile - 10x plus grand!
Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC
41
Comment gérer cette croissance?
41
42
Comment gérer cette croissance?
42
10x plus d’applications!
10x plus de développeurs?
10x moins de salaire?
10x plus productifs?
43
Solution!
43
44
1. Valoriser l’échec
2. Augmenter la productivité
Solutions (partielles)
44
45
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 »…
Valoriser l’échec?!?
45 Source: http://bit.ly/aaPgxe
46
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!!!
1. Il faut AUGMENTER l’échec
46
A lire absolument: http://speakerdeck.com/u/searls/p/the-mythical-team-month
47
1. Fail-Faster - Fail-Smaller
47
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
Ap
p 1
Ap
p 2
Ap
p 3
Ap
p 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 TEAM
Dev 1 Dev 2 Dev 3 Dev 4
App 1
App 2
App 3
App 4
App 5
App 6
App 7
App 8
48
1. Échouer VITE avec PEU de RESSOURCES
C’est BIEN!
“Repeat after me”
48
49
Faire de petits projets, rapidement, OK, mais… la FRICTION reste constante! pas de scalabilité!
Il faut supprimer la friction entre le dev et l’IT!
2. Augmenter la productivité
49
50
Supprimez l’IT!
50
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodes
Install load-balancer (LB) Configure LB
Secure LB Setup BC for cluster QA cluster
Configure DNS
Provision node:
Provision cluster:
Provision node Install DB Configure DB
Secure DB Setup BC for DB
Provision DB:
Provision cluster Provision DB Deploy schema
Deploy App to each node
Deploy App:
(not a transparent update process)
Analyse sec. bulletins
Analyse QA bulletins
Analyse AS/OS logs
maintain OS maintain JVM maintain AS
maintain DB
Manage environment (recurring)
maintain FW Validate/QA stack
Measure App performance
Acquire Hardware Provision node
Update Cluster Update LB
Metering/Scaling (recurring)
Update Security
DEPLOY vs.
51 51
Développeurs
52 52
A l’IT de payer leur complexité!
serveurs
53 53
54 54
Un monde sur Mars, sans IT, ni serveur!
55 55
Les claviers aux développeurs
Comment faire?!?
PaaS! (i.e. Platform as a Service)
56
57
Avant PaaS
Source Code
Managemnt
Jenkins Con@nuous Integra@on
Unit Test
Functional Test
Load Test
Integration Test
Développeur
• “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?
IT
58
Avec PaaS
Source Code
Managemnt
Jenkins Con@nuous Integra@on
Unit Test
Functional Test
Load Test
Integration Test
Développeur
• Créer un nouveau compte • Créer répertoire Git • Créer Job Jenkins • Déployer App • Terminé.
Portail PaaS
59
Public Edition - IaaS Providers
©2012 CloudBees, Inc. All Rights Reserved
CloudBees Platform as a Service
Continuous Deployment
Production
Build
Test
Provisioning
Maintenance
Jenkins
SaaS Vendor Applica7ons
Enterprise User Applica7ons
JVM – Java EE Java, Python, Scala, …
CloudBees Core PlaBorm Services
RUN@ DEV@
Repositories
Data Services
Metering Billing Monitoring Management
Messaging Identity Logging/ Auditing
Back-end services
Runtime services
Development Projects
CloudBees Ecosystem
GIT Maven … SVN
APIs
CloudBees Smart
Plugins
Databases
Other SaaS
On Premise
Private Edition - On-Premise
60
Public Edition - IaaS Providers
©2012 CloudBees, Inc. All Rights Reserved
CloudBees Platform as a Service
Continuous Deployment
Production
Build
Test
Provisioning
Maintenance
Jenkins
SaaS Vendor Applica7ons
Enterprise User Applica7ons
JVM – Java EE Java, Python, Scala, …
CloudBees Core PlaBorm Services
RUN@ DEV@
Repositories
Data Services
Metering Billing Monitoring Management
Messaging Identity Logging/ Auditing
Back-end services
Runtime services
Development Projects
CloudBees Ecosystem
GIT Maven … SVN
APIs
CloudBees Smart
Plugins
Databases
Other SaaS
On Premise
Private Edition - On-Premise
Code
Build Test
Deploy
Stage Deploy Scale
Iterate
Cela fonctionne-t-il? BULLSHIT 2.0 ?
61
62
• LoseIt! – Les Faits
• Application Mobile
• >12 millions d’utilisateurs
• >25’000 transactions/minute
• Monitoring temps réel d’activité
• Plusieurs releases par semaine
• loseIt! – La Réalité
• 4 employés au total
• 2 développeurs
• 2 marketing
• 0 IT/opérations
• 4 employés
62
63
• Le cloud ce n’est • … pas sûr! • … pas stable!
• La vraie question est: • que fera quand votre société aura un LoseIt! comme
compétiteur? • (conseil: soyez ce “LoseIt!”)
“If you don’t like change, you are going to like irrelevance even
less.” -- Gen. Erik Shineski
“Je ne suis pas très cloud perso…”
63
64
• 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!
Conclusion
64
65
The cloud – prévisions météo
©2012 CloudBees, Inc. All Rights Reserved
SaaS En 2020, tout projet IT sera soit un
PaaS ou un
Puis-je trouver une solution pré-développée qui satisfasse mon besoin? è SaaS
Si je ne la trouve pas, je développe une application sur mesureè PaaS
66
Les OS n’intéresseront plus grand monde
©2012 CloudBees, Inc. All Rights Reserved
Operating Systems
67
Plus besoin d’apprendre à l’épeler!
©2012 CloudBees, Inc. All Rights Reserved
Middleware
68
Les IaaS deviennent un “détail d’implémentation”
©2012 CloudBees, Inc. All Rights Reserved
IaaS
69
• Et maintenant, qu’attendez-vous? • Enregistrez-vous sur CloudBees.com, c’est gratuit et complet:
– Runtime PaaS, Java EE, etc. – MySQL as a Service – Jenkins as a Service – Repositories: Git, SVN, Maven/DAV – Elasticity, clustering, HA, etc. – Eclipse plugin – Programme gratuit étendu pour projet Open Source
https://grandcentral.cloudbees.com/account/signup
Rejoignez le côté clair de la Force!
©2012 CloudBees, Inc. All Rights Reserved
70
• Nouveau podcast sur le développement dans le cloud
http://code-2020.org/
• “PaaS for the dummies” – Gratuit – Dispo sur www.cloudbees.com
Encore un peu de pub
©2012 CloudBees, Inc. All Rights Reserved
71
Merci!
©2012 Cloud Bees, Inc. All Rights Reserved
Hier
Extra IT
CloudBees
Build. Test. Run.
No IT
72
• > git clone ssh://git@git.cb.com/webinar/jboss- kitchensink.git kitchensink
• > bees app:create --withCD –t jboss kitchensink
• > git remote add cloudbees ssh://git@git.cb.com/webinar/kitchensink.git
• > git push cloudbees master
CloudBees en 2 minutes
72
App Project
Deploy DEV@cloud RUN@cloud
Elastic Elastic Elastic App Source Control
Jenkins Build/Test Push
Crée un répertoire Git, un job Jenkins et une application
top related