Contenu connexe Similaire à Développement dans le cloud - Sacha Labourey (20) Développement dans le cloud - Sacha Labourey1. Développeurs, bienvenue dans le
cloud
18 octobre 2011 – Lyon JUG
Sacha Labourey
CEO, CloudBees, Inc.
©2011 Cloud Bees, Inc. All Rights Reserved
2. Présentation – Sacha Labourey
• 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 employées, 6 pays
X
©2011 CloudBees, Inc. All Rights Reserved 2
3. Agenda
• Petit retour en arrière…
• L’inexorable Cloud Computing
• Ce que signifie le Cloud pour les
développeurs?
• La plateforme CloudBees
• Prévisions Météorologiques
©2011 CloudBees, Inc. All Rights Reserved 3
5. Les premier consommateurs
• Au 19e siècle, les premiers générateurs
électriques font leur apparition
• Certaines entreprises installent leur
propre générateur afin de satisfaite leur
propres besoins
– Complexes, délicats,
très coûteux
– Absolument pas accessibles
au consommateurs
©2011 CloudBees, Inc. All Rights Reserved 5
6. L’électricité se démocratise…
• Des villes investissent dans des usines
électriques
• A la fin du 19e siècle, les premières
usines électriques apparaissent
– 1878 – Exposition Universelle de Paris
– 1879 – St-Moritz (Grisons, Suisse)
– 1882 – Londres & NYC
– 1883 – Grenoble
– 1884 – Le Locle
©2011 CloudBees, Inc. All Rights Reserved 6
9. Et pourtant, ce n’est pas si simple
• Installations très coûteuses
• Pas de standard
– Courant continu ou alternatif?
– Quelle fréquence?
– 110V, 220V, 230V, 240V, autre?
– Prise électrique? Quel format?
9
©2011 CloudBees, Inc. All Rights Reserved
10. Example: Paris (env. 1902)
?
Source: http://seaus.free.fr/spip.php?article601
©2011 CloudBees, Inc. All Rights Reserved 10
11. Et aujourd’hui? Vive les standards!
Autres Grilles
Producteur A Producteur C Distributeur
Producteur A Producteur C
Nucléaire
Nucléaire Hydrolique
Hydraulique
Producteur B Producteur D
Producteur B Producteur D
Solaire
Solaire Thermique
Thermique
Consommateurs
« The Grid »
©2011 CloudBees, Inc. All Rights Reserved 11
12. L’électricité est devenue une commodité
• L’ensemble de la chaîne de consommation de
l’électricité est *standardisée*
– Les producteurs d’électricité ne sont pas liés à un
consommateur en particulier
– La distribution de l’électricité est standardisée
– L’accès au réseau électrique est standardisé
• 230V, 50Hz, prises C+J, etc.
• Le consommateur est « libre »
– On ne se soucie plus de « où » ni « comment » est créée
l’électricité
– On ne se soucie pas de la façon dont elle est acheminée
chez soi
– On ne se soucie pas de « comment » on consomme
l’électricité
©2011 CloudBees, Inc. All Rights Reserved 12
14. Le Cloud Computing
Centrales Cloud Providers
électriques
La Grille
Internet
électrique
Prise Browser Web
électrique
©2011 CloudBees, Inc. All Rights Reserved 14
15. La révolution « Cloud » est en marche!
• En 2006, Amazon lance AWS
– Merci Jeff
– Taille double chaque année
• De nombreux fournisseurs se
« cloudifient »
– Hosting providers cloud providers
– Virtualization layers IaaS
– ISVs SaaS
©2011 CloudBees, Inc. All Rights Reserved 15
18. Oui mais…
Qu’est-ce que cela signifie pour moi,
en tant que développeur?
©2011 CloudBees, Inc. All Rights Reserved 18
20. Pile Logicielle Typique
Valider la
Installer
Pile
Mettre à
Monitorer
jour
Patcher
©2011 CloudBees, Inc. All Rights Reserved 20
21. Cloud Computing: comment faire? Qui fait quoi?
Valider la
Installer
Pile
Cloud
Provider
Mettre à
jour ? Monitorer
Patcher
©2011 CloudBees, Inc. All Rights Reserved 21
22. Services Cloud - Typologie
SaaS "Cloud computing is on-
demand access to
virtualized IT resources
that are housed outside of
your own data
center, shared by
others, simple to use, paid
PaaS for via subscription, and
accessed over the Web.“
- John Foley, Information Week
IaaS
©2011 CloudBees, Inc. All Rights Reserved 22
23. IaaS
• 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.”
• Point de vue de l’utilisateur
– Applications et environnements sur mesure
©2011 CloudBees, Inc. All Rights Reserved 23
24. SaaS
• SalesForce.com, Zendesk, NetSuite, etc.
• Environnement de développement:
– Rigide – principalement par la
CONFIGURATION
– Lorsqu’il est disponible, le développement prend
place au sein du SaaS directement.
• Point de vue de l’utilisateur
– Applications typiques
– Mise en route très rapide
– Lock-in souvent très élevé
©2011 CloudBees, Inc. All Rights Reserved 24
25. PaaS
• CloudBees, BeansTalk, CloudFoundry, etc.
• Environnement de développement:
– “Donne-moi mon environnement habituel et gère le
reste pour moi – les serveurs, la montée en
charge, etc.””
– Beaucoup de “philsophies”
différentes selon les PaaS!
• Point de vue de l’utilisateur
– Applications sur-mesure
©2011 CloudBees, Inc. All Rights Reserved 25
26. 1ère décision: IaaS, SaaS ou PaaS?
Iaas
Saas Paas
Jongle avec les
Contraint Flexible
technologies
©2011 CloudBees, Inc. All Rights Reserved 26
27. Mais il y a PaaS et PaaS…
©2011 Cloud Bees, Inc. All Rights Reserved
28. PaaS 1.0 – Première approche
Le jour où vous avez décidé de remplacer l’IT
©2011 Cloud Bees, Inc. All Rights Reserved
29. PaaS 1.0
• Vous ne changez pas la façon dont vous
développez et déployez vos applications
• A la place d’utiliser un serveur
SUN/HP/IBM/XYZ, vous utilisez les serveurs
virtuels d’un IaaS (à la EC2)
?
©2011 Cloud Bees, Inc. All Rights 29
Reserved
30. PaaS 1.0 – Félicitations!
“Grande” nouvelle: vous êtes désormais responsable du data-center!
©2011 Cloud Bees, Inc. All Rights 30
Reserved
31. Passer au PaaS 1.0
Deploy App to traditional Java Deploy App to PaaS 1.0 Java platform:
platform:
Deploy App: Deploy App:
Provision cluster Provision DB Deploy schema Provision cluster Provision DB Deploy schema
Deploy App to each Deploy App to each
(not a transparent update process) node (not a transparent update process)
node
Provision cluster: Provision cluster:
Install load-
provision nodes
Install load-
Configure LB provision nodes Configure LB
balancer (LB) balancer (LB)
Setup BC for Setup BC for
Secure LB QA cluster Secure LB QA cluster
cluster cluster
Configure DNS Configure DNS
Provision DB: Provision DB:
Provision node Install DB Configure DB Provision node Install DB Configure DB
Secure DB Setup BC for DB Secure DB Setup BC for DB
Provision node: Provision node:
Configure OS Secure OS Setup JVM Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS Install AS on OS Configure AS Secure AS
Manage environment (recurring) Manage environment (recurring)
Analyse sec. Analyse QA Analyse AS/OS Analyse sec. Analyse QA Analyse AS/OS
bulletins bulletins logs bulletins bulletins logs
maintain OS maintain JVM maintain AS maintain OS maintain JVM maintain AS
maintain DB maintain DB maintain FW Validate/QA stack
maintain FW Validate/QA stack
Metering/Scaling (recurring) Metering/Scaling (recurring)
Measure App Measure App
Acquire Hardware Provision node Acquire Hardware Provision node
performance performance
Update Cluster Update LB Update Security Update Cluster Update LB Update Security
©2011 Cloud Bees, Inc. All Rights 31
Reserved
32. PaaS 1.0 – Les conséquences
• 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?
• Conseil: vous devriez passer votre tour…
©2011 CloudBees, Inc. All Rights Reserved 32
34. PaaS 1.5
• Une pile logicielle “pré-installée” et “pré-
configurée” est mise à votre disposition
– “Platform as a SOFTWARE”
• Avec de jolies interfaces graphiques afin
de cacher la complexité
©2011 Cloud Bees, Inc. All Rights 34
Reserved
35. Passer au PaaS 1.5
Deploy App to traditional Java Deploy App to PaaS 1.5 Java platform:
platform:
Deploy App: Deploy App:
Provision cluster Provision DB Deploy schema Provision cluster Provision DB Deploy schema
Deploy App to each Deploy App to each
node (not a transparent update process) node (not a transparent update process)
Provision cluster: Provision cluster:
Install load-
provision nodes Configure LB provision nodes Configure LB
balancer (LB)
Setup BC for Setup BC for
Secure LB QA cluster QA cluster
cluster cluster
Configure DNS Configure DNS
Provision DB: Provision DB:
Provision node Install DB Configure DB Provision node
Secure DB Setup BC for DB Setup BC for DB
Provision node: Provision node:
Configure OS Secure OS Setup JVM
Configure AS
Install AS on OS Configure AS Secure AS
Manage environment (recurring) Manage environment (recurring)
Analyse sec. Analyse QA Analyse AS/OS Analyse sec. Analyse QA Analyse AS/OS
bulletins bulletins logs bulletins bulletins logs
maintain OS maintain JVM maintain AS maintain OS maintain JVM maintain AS
maintain DB maintain FW Validate/QA stack maintain DB maintain FW Validate/QA stack
Metering/Scaling (recurring) Metering/Scaling (recurring)
Measure App Measure App
Acquire Hardware Provision node Provision node
performance performance
Update Cluster Update LB Update Security Update Cluster Update LB Update Security
©2011 CloudBees, Inc. All Rights Reserved 35
36. PaaS 1.5
• Le début de votre projet a pu être rapide
– Mais c’est un piège!
• Les éléments de travail restent des blocs IaaS
– Serveurs, VM, AS, load-balancer, DB, etc.
• VOUS ÊTES TOUJOURS LE RESPONSABLE
– Il s’agit toujours et encore de décisions IT
– Vous êtes désormais en charge d’une partie de l’IT
• Mais vos collègues de l’IT étaient probablement meilleurs
©2011 Cloud Bees, Inc. All Rights 36
Reserved
37. PaaS 2.0 –PaaS natifs
Bienvenue dans le monde de la virtualisation
d’applications
©2010 Cloud Bees, Inc. All Rights Reserved
38. PaaS 2.0
• 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.
©2011 Cloud Bees, Inc. All Rights 38
Reserved
39. Cloud 2.0 - CloudBees
Deploy App to traditional Java Deploy App to CloudBees:
platform:
Deploy App:
Provision cluster Provision DB Deploy schema
Deploy App to each
node (not a transparent update process) Déployer
TERMINÉ
Provision cluster: l’Application
Install load-
provision nodes Configure LB
balancer (LB)
Setup BC for
Secure LB QA cluster
cluster
Configure DNS
Provision DB:
Provision node Install DB Configure DB
• Pas besoin d’instancier des
Secure DB Setup BC for DB serveurs, des load-balancers, des
Provision node:
Configure OS Secure OS Setup JVM
bases de données, etc.
Install AS on OS Configure AS Secure AS
• L’environnement est constamment
Manage environment (recurring) géré et monitoré
Analyse sec. Analyse QA Analyse AS/OS
bulletins bulletins logs
maintain OS maintain JVM maintain AS • La montée en charge se fait en
maintain DB maintain FW Validate/QA stack
temps réel
Metering/Scaling (recurring)
Measure App
performance
Acquire Hardware Provision node • La tolérance aux pannes est intégrée
Update Cluster Update LB Update Security
39
©2011 CloudBees, Inc. All Rights Reserved
40. Survol (subjectif) de quelques approches
JVM-based
Basic OS Flex is offering - fully
orchestration server-centric server-agnostic
Flexibilité/
of AWS blocks
Compatibilité
Beans RHT VMW Cloud
Talk OS CF Bees
.Net-on-a-Server, Oldest SaaS-like
with only … more offering but with
constraints lots of env.
Multi-runtime constraints
with little Java-
ASP depth, focused
Azure model ORCL on-premise
GAE
mostly!
IaaS-like SaaS-like
“do-it-yourself” Really “as a SERVICE”
• AWS and Azure sont une approche “naïve” au PaaS i.e. IaaS+Middleware
• Les approches modernes fournissent une abstraction de l’infrastructure
• Certaines plateformes (t.q. GAE) restreignent la capacité du développeur à
faire ce qu’il désire (API réduites, etc.), ce qui réduit d’autant la capacité de
migrer une application existante depuis un AS
©2011 CloudBees, Inc. All Rights 40
Reserved
41. Un dernier avertissement
• Puis-je avoir un “PaaS Privé”?
– Oui, bien sûr
– Tentant: promesse de pouvoir personnaliser l’environnement!
• Mais…
– Une grande partie de la valeur d’un PaaS provient du “S”:
SERVICE
• 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 des
opérations
• Gain nettement réduit!
©2011 CloudBees, Inc. All Rights Reserved 41
42. Pourquoi est-ce que je vous raconte ça?
Entrez dans le monde de CloudBees!
©2011 Cloud Bees, Inc. All Rights Reserved
43. A Propos de CloudBees
Notre Mission Become the leading Java™ Platform as a Service (PaaS)
En quoi nous CloudBees satisfait l’ensemble du cycle de vie d’une
sommes application, dans le cloud, du développement au déploiement.
différents
CloudBees est le leader du support de Java, en profondeur.
CloudBees abstrait complètement l’infrastructure et permet aux
développeurs de se focaliser à 150% sur ce qu’ils font le mieux:
développer la meilleure application qu’il soit.
Pas de serveurs. Pas de machines virtuelles. Pas d’IT. Juste vous.
Stratégie DEV@cloud – Services Clouds en phase de développement
RUN@cloud – Services d’exécution d’applications Java
©2011 Cloud Bees, Inc. All Rights 43
Reserved
44. The CloudBees Team
Proven team of developers and entrepreneurs
Sacha Co-founder of JBoss Kohsuke Founder and lead developer of
Labourey GM JBoss EMEA, then JBoss CTO. Kawaguchi Hudson
CEO After JBoss acquisition by Red Architect
Hat, co-GM middleware division,
left in March 2009;
Adrian Chief Scientist at JBoss, Office of Vivek Pandey Senior Staff Engineer at Sun
Brock the JBoss CTO at Red Hat Architect Microsystems, Inc.
Architect Led most of JBoss AS key Specialist in Java and dynamic
technologies languages, Glassfish and lead of
Sun’s Web Services stack
Michael Senior engineer at Red Hat
Neale Leading key JBoss-in-the-cloud François Dir. Services EMEA at JBoss, Dir.
Architect projects at Red Hat Déchery JBoss Support at Red Hat, Dir.
Services Support Partners at Red Hat,
Ryan JBoss QA manager at JBoss and KPMG Peat Marwick, Sun
Campbell then Red Hat; Java Enterprise Microsystems, Metaware, Infor
Architect Developer at Debix
Bob Bickel GM HP middleware/Bluestone,
Advisor VP Strategy & Business Dev at
Spike Founder Stax. Middleware JBoss; Hyperic, Metaverse,
Washburn engineer and Dev Mgr. IBM Ringside Networks, eXo
Architect WebSphere Allaire, Macromedia, Platform and more
Aptana and Microsoft.
©2011 Cloud Bees, Inc. All Rights 44
Reserved
45. 18 mois dans le rétroviseur
04.2010 – 10.2010 – 1.2011 – 7.2011 – Series-B
start of InfraDNA joins DEV@ & From LightSpeed
CloudBees CloudBees RUN@ go GA Venture Partners
04.2010 – 05.2011 –
Plan for v1.0 RUN@cloud
locked-down goes for-pay
may june july aug. sept. oct. nov. dec. jan. feb. mar. apr. may. June July Aug. Sept. Oct.
April 2010
10.2010 - 04.2011 – 10.2011 –
Raises Series-A DEV@cloud Organizes
08.2010 –
From Matrix goes for-pay Jenkins Conf.
release of
DEV@cloud Beta 12.2010 – 06.2011 – 10.2011 –
Stax.net joins CloudBees First Java EE
CloudBees Ecosystem PaaS in GA
©2011 CloudBees, Inc. All Rights 45
Reserved
46. Cloud Services Market
SaaS "Cloud computing is on-
demand access to
virtualized IT resources
that are housed outside of
your own data
center, shared by
others, simple to use, paid
PaaS for via subscription, and
accessed over the Web.“
- John Foley, Information Week
IaaS
©2011 Cloud Bees, Inc. All Rights 46
Reserved
47. Pourquoi CloudBees est le meilleur
PaaS? Deploy App to traditional Java platform Deploy App to CloudBees
Deploy App:
Provision cluster Provision DB Deploy schema
Deploy App to each
(not a transparent update process)
node (transparent,
Provision cluster:
provision nodes
Install load-
balancer (LB)
Configure LB
DEPLOY multi-version,
HA, scalable)
Setup BC for
Secure LB QA cluster
cluster
Configure DNS
Provision DB: • Pas besoin d’instancier des
Provision node Install DB Configure DB
serveurs, des load-balancers, des
Secure DB Setup BC for DB
bases de données, etc.
Provision node:
Configure OS Secure OS Setup JVM
• L’environnement est constamment
Install AS on OS Configure AS Secure AS
géré et monitoré
Manage environment (recurring)
Analyse sec.
bulletins
Analyse QA
bulletins
Analyse AS/OS
logs • La montée en charge se fait en
maintain OS maintain JVM maintain AS temps réel
maintain DB maintain FW Validate/QA stack
Metering/Scaling (recurring) • La tolérance aux pannes est intégrée
Measure App
Acquire Hardware Provision node
performance
Update Cluster Update LB Update Security
• On fait « Ops », vous faites « Dev »
©2011 CloudBees, Inc. All Rights 47
Reserved
48. CloudBees Platform as a Service
Development SaaS Vendor Enterprise User
Projects Applications Applications
Test DEV@ RUN@
Ecosystem
CloudBees
Continuous JVM – Java EE
Build Jenkins Deployment Java, Python, Scala, …
Production
Maintenance
Repositories
GIT SVN Maven …
APIs
CloudBees Core Platform Services
CloudBees Smart
Databases
Logging/ Runtime services
Data Services Messaging Identity
Auditing
Plugins
Other SaaS
Metering Back-end services
Provisioning Management Monitoring
Billing
On Premise
Public Edition - IaaS Providers Private Edition - On-Premise
©2011 CloudBees, Inc. 48
All Rights Reserved
49. CloudBees Platform as a Service
Development SaaS Vendor Enterprise User
Projects Applications Applications
Test DEV@ RUN@
Deploy Code
Ecosystem
CloudBees
Continuous JVM – Java EE
Build Jenkins Deployment
Stage Deploy
Java, Python, Scala, …
Scale
Production
Test Build
Maintenance
Repositories
Iterate
GIT SVN Maven …
APIs
CloudBees Core Platform Services
CloudBees Smart
Databases
Logging/ Runtime services
Data Services Messaging Identity
Auditing
Plugins
Other SaaS
Metering Back-end services
Provisioning Management Monitoring
Billing
On Premise
Public Edition - IaaS Providers Private Edition - On-Premise
©2011 CloudBees, Inc. 49
All Rights Reserved
51. Elements clefs
• CloudBees couvre l’ensemble du cycle de vie de
l’application – “dev-to-prod”
– Développement, build, tests, déploiement, maintenance, etc.
• Focalisé sur Java et la JVM– “profondeur, use-cases”
– Support pour des frameworks et langages multiples: EE6-WP,
Spring, Play, Scala, ColdFusion, JRuby, etc.
• Abstrait l’infrastructure du développeur
– C’est quoi un serveur?
• Disponible en GA – “le future c’est maintenant!”
– L’ensemble est disponible en GA, avec de vrais clients qui
déploient des applications critiques dessus.
©2011 CloudBees, Inc. 51
All Rights Reserved
52. CloudBees: End-to-End Application Lifecycle
Source Elastic App
Jenkins Elastic App
Control Build/Test Elastic App
Deploy
DEV@cloud RUN@cloud
Push
App Project
©2011 Cloud Bees, Inc. All Rights 52
Reserved
53. Example: LoseIt!
• Lose It!
– Application mobile pour gérer votre consommation
– 1.5 millions de clients
– 20’000 transactions par minute en charge de pointe
• Et… 5 développeurs seulement!
– Pas d’IT, pas de serveurs, pas de DevOps
– Focus exclusif sur le développement de leur application
– Tout est géré par CloudBees (PaaS + DB)
• Ceci représente un niveau de productivité inégalé
– Ceci est possible AUJOURD’HUI
– Comment comptent faire les acteurs du marché pour rester
compétitif?
©2011 CloudBees, Inc. All Rights Reserved 53
54. Le Cloud – Météo
• Le Cloud est la nouvelle plateforme universelle
• D’ici à 2020, >80% des charges de calculs auront
lieu dans des clouds publics
– Vous n’acheterez plus de logiciel SaaS
– L’informatique “sur site” et “sur mesure” sera du passé
• Plus lent, moins sûr, distant de “l’action”
• Et entre maintenant et 2020?
– Des sociétés vont naître sur le cloud directement et forcer les
vendeurs traditionnels à devenir compétitifs
• Les développeurs vont initier ce changement
(oui, vous.)
– (Pas votre CIO)
– Vous souvenez-vous de l’Open Source? Idem.
©2011 Cloud Bees, Inc. All Rights 54
Reserved
55. Rejoignez le côté clair de la Force!
• Et maintenant, qu’attendez-vous?
• Enregistrez-vous sur CloudBees.com, c’est gratuit et complet:
– Jenkins as a Service
– Repositories: Git, SVN, Maven/DAV
– MySQL as a Service
– Runtime PaaS, Java EE, etc.
– Elasticity, clustering, HA, etc.
– Eclipse plugin
– Programme gratuit étendu pour projet Open Source
https://grandcentral.cloudbees.com/account/signup
©2011 CloudBees, Inc. All Rights Reserved 55
56. Merci!
Hier CloudBees
Build. Test.
Run.
Extra IT No IT
©2011 Cloud Bees, Inc. All Rights 56
Reserved
Notes de l'éditeur The cloud is the new platform while Java is a money rich market, it is late to the PaaS game It is late because the SS+JBoss are tied up in their existing business model and legacy architecture The cloud is the new platform while Java is a money rich market, it is late to the PaaS game It is late because the SS+JBoss are tied up in their existing business model and legacy architecture