Download - Développement dans le cloud - Sacha Labourey
©2011 Cloud Bees, Inc. All Rights Reserved
Développeurs, bienvenue dans le cloud18 octobre 2011 – Lyon JUG
Sacha LaboureyCEO, CloudBees, Inc.
2©2011 CloudBees, Inc. All Rights Reserved
• 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
Présentation – Sacha Labourey
X
3©2011 CloudBees, Inc. All Rights Reserved
• 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
Agenda
Un petit retour en arrière …
©2011 CloudBees, Inc. All Rights Reserved
5
• 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
Les premier consommateurs
©2011 CloudBees, Inc. All Rights Reserved
6
• 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
L’électricité se démocratise…
©2011 CloudBees, Inc. All Rights Reserved
7
Quelques exemples (Le Locle)
©2011 CloudBees, Inc. All Rights Reserved
8
De belles constructions (La Chaux-de-Fonds)
©2011 CloudBees, Inc. All Rights Reserved
9
• Installations très coûteuses• Pas de standard
– Courant continu ou alternatif?– Quelle fréquence?– 110V, 220V, 230V, 240V, autre?– Prise électrique? Quel format?
Et pourtant, ce n’est pas si simple
©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
11
« The Grid »
Producteur A
Nucléaire
Producteur B
Solaire
Producteur C
Hydrolique
Producteur D
Thermique
Producteur ANucléaire
Producteur BSolaire
Producteur DThermique
Producteur CHydraulique
Distributeur
Autres Grilles
Et aujourd’hui? Vive les standards!
Consommateurs
©2011 CloudBees, Inc. All Rights Reserved
12
• 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é
L’électricité est devenue une commodité
©2011 CloudBees, Inc. All Rights Reserved
13
L’informatique actuelle ressemble aux générateur électriques du 19e siècle
Flashback
Premier Data-Center de Google
L’IT pourrait-elle évoluer de manière identique??
©2011 CloudBees, Inc. All Rights Reserved
14
Le Cloud Computing
Centrales électriques
Cloud Providers
La Grilleélectrique
Internet
Prise électrique
Browser Web
©2011 CloudBees, Inc. All Rights Reserved
15
• 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
La révolution « Cloud » est en marche!
©2011 CloudBees, Inc. All Rights Reserved
16
Data Centers – quelques examples
17
Croissance des data centers
18©2011 CloudBees, Inc. All Rights Reserved
Qu’est-ce que cela signifie pour moi, en tant que développeur?
Oui mais…
©2011 Cloud Bees, Inc. All Rights Reserved
Cloud 101
Le Cloud pour les pas si nuls
20©2011 CloudBees, Inc. All Rights Reserved
Pile Logicielle Typique
Serveur
Hypervisor
VM
AS
JVM
LB
Application
Installer
Monitorer
Patcher
Mettre à jour
Valider la Pile
VOUS
21©2011 CloudBees, Inc. All Rights Reserved
Serveurs
OS
VM
AS
JVM
LB
Applications
Installer
Monitorer
Patcher
Mettre à jour
Valider la Pile
Cloud Computing: comment faire? Qui fait quoi?
Cloud Provider
?
22
Services Cloud - Typologie
©2011 CloudBees, Inc. All Rights Reserved
"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 for via subscription, and accessed over the Web.“
- John Foley, Information Week
SaaS
PaaS
IaaS
23©2011 CloudBees, Inc. All Rights Reserved
• 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
IaaS
24©2011 CloudBees, Inc. All Rights Reserved
• 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é
SaaS
25©2011 CloudBees, Inc. All Rights Reserved
• 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
PaaS
26©2011 CloudBees, Inc. All Rights Reserved
1ère décision: IaaS, SaaS ou PaaS?
IaasJongle avec les technologies
SaasContraint
PaasFlexible
Mais il y a PaaS et PaaS…
©2011 Cloud Bees, Inc. All Rights Reserved
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
• 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)
PaaS 1.0
©2011 Cloud Bees, Inc. All Rights Reserved
?
30
PaaS 1.0 – Félicitations!
©2011 Cloud Bees, Inc. All Rights Reserved
“Grande” nouvelle: vous êtes désormais responsable du data-center!
31©2011 Cloud Bees, Inc. All Rights Reserved
Passer au PaaS 1.0
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodesInstall load-
balancer (LB)Configure LB
Secure LBSetup BC for
clusterQA 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 App to traditional Java platform:
Deploy App to PaaS 1.0 Java platform:
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodesInstall load-
balancer (LB)Configure LB
Secure LBSetup BC for
clusterQA 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
32©2011 CloudBees, Inc. All Rights Reserved
• 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…
PaaS 1.0 – Les conséquences
PaaS 1.5
Egalement connu sous le nom de “Hosting 2.0”
©2010 Cloud Bees, Inc. All Rights Reserved
34
• 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é
PaaS 1.5
©2011 Cloud Bees, Inc. All Rights Reserved
35
Passer au PaaS 1.5
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodesInstall load-
balancer (LB)Configure LB
Secure LBSetup BC for
clusterQA 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 App to traditional Java platform:
Configure AS
provision nodes Configure LB
Setup BC for cluster
QA cluster
Configure DNS
Provision node:
Provision cluster:
Provision node
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
Provision node
Update Cluster Update LB
Metering/Scaling (recurring)
Update Security
Deploy App to PaaS 1.5 Java platform:
©2011 CloudBees, Inc. All Rights Reserved
36
• 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
PaaS 1.5
©2011 Cloud Bees, Inc. All Rights Reserved
PaaS 2.0 –PaaS natifs
Bienvenue dans le monde de la virtualisation d’applications
©2010 Cloud Bees, Inc. All Rights Reserved
38
• 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 2.0
©2011 Cloud Bees, Inc. All Rights Reserved
39
Cloud 2.0 - CloudBees
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodesInstall load-
balancer (LB)Configure LB
Secure LBSetup BC for
clusterQA 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
Déployer l’Application
TERMINÉ
• Pas besoin d’instancier des serveurs, des load-balancers, des bases de données, etc.
• L’environnement est constamment géré et monitoré
• La montée en charge se fait en temps réel
• La tolérance aux pannes est intégrée
Deploy App to traditional Java platform:
Deploy App to CloudBees:
©2011 CloudBees, Inc. All Rights Reserved
40
• 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
Survol (subjectif) de quelques approches
©2011 CloudBees, Inc. All Rights Reserved
Flexibilité/Compatibilité
SaaS-likeReally “as a SERVICE”
IaaS-like“do-it-yourself”
AzureGAE
CloudBees
VMWCF
ORCL
BeansTalk
OS Flex is server-centric
Basic orchestration of AWS blocks
.Net-on-a-Server, with only … more
constraintsMulti-runtime with little Java-depth, focused on-premise
JVM-based offering - fully server-agnostic
Oldest SaaS-like offering but with
lots of env. constraints
RHTOS
ASP model mostly!
41©2011 CloudBees, Inc. All Rights Reserved
• 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!
Un dernier avertissement
Pourquoi est-ce que je vous raconte ça?
Entrez dans le monde de CloudBees!
©2011 Cloud Bees, Inc. All Rights Reserved
43©2011 Cloud Bees, Inc. All Rights Reserved
A Propos de CloudBees
Notre Mission
Stratégie
Become the leading Java™ Platform as a Service (PaaS)
En quoi noussommes différents
CloudBees satisfait l’ensemble du cycle de vie d’une application, dans le cloud, du développement au déploiement.
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.
DEV@cloud – Services Clouds en phase de développement RUN@cloud – Services d’exécution d’applications Java
44
Sacha LaboureyCEO
Co-founder of JBossGM JBoss EMEA, then JBoss CTO. After JBoss acquisition by Red Hat, co-GM middleware division, left in March 2009;
Adrian BrockArchitect
Chief Scientist at JBoss, Office of the JBoss CTO at Red HatLed most of JBoss AS key technologies
Michael NealeArchitect
Senior engineer at Red HatLeading key JBoss-in-the-cloud projects at Red Hat
Ryan CampbellArchitect
JBoss QA manager at JBoss and then Red Hat; Java Enterprise Developer at Debix
Spike WashburnArchitect
Founder Stax. Middleware engineer and Dev Mgr. IBM WebSphere Allaire, Macromedia, Aptana and Microsoft.
The CloudBees Team
©2011 Cloud Bees, Inc. All Rights Reserved
Kohsuke KawaguchiArchitect
Founder and lead developer of Hudson
Vivek PandeyArchitect
Senior Staff Engineer at Sun Microsystems, Inc.Specialist in Java and dynamic languages, Glassfish and lead of Sun’s Web Services stack
François DécheryServices
Dir. Services EMEA at JBoss, Dir. JBoss Support at Red Hat, Dir. Support Partners at Red Hat, KPMG Peat Marwick, Sun Microsystems, Metaware, Infor
Bob BickelAdvisor
GM HP middleware/Bluestone, VP Strategy & Business Dev at JBoss; Hyperic, Metaverse, Ringside Networks, eXo Platform and more
Proven team of developers and entrepreneurs
45
18 mois dans le rétroviseur
©2011 CloudBees, Inc. All Rights Reserved
04.2010 – start of
CloudBees
04.2010 – Plan for v1.0 locked-down
April 2010
may june july aug. sept. oct. nov. dec. jan. feb.
08.2010 – release of
DEV@cloud Beta
10.2010 – InfraDNA joins CloudBees
12.2010 – Stax.net joins CloudBees
1.2011 – DEV@ &
RUN@ go GA
10.2010 - Raises Series-A
From Matrix
mar. apr. may.
04.2011 – DEV@cloud goes for-pay
05.2011 – RUN@cloud goes for-pay
June
06.2011 – CloudBees Ecosystem
July Aug. Sept.
7.2011 – Series-BFrom LightSpeed Venture Partners
10.2011 – Organizes
Jenkins Conf.
10.2011 – First Java EE PaaS in GA
Oct.
46©2011 Cloud Bees, Inc. All Rights Reserved
Cloud Services Market
"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 for via subscription, and accessed over the Web.“
- John Foley, Information Week
SaaS
PaaS
IaaS
47©2011 CloudBees, Inc. All Rights Reserved
Pourquoi CloudBees est le meilleur PaaS?
Configure OS Secure OS Setup JVM
Install AS on OS Configure AS Secure AS
provision nodesInstall load-
balancer (LB)Configure LB
Secure LBSetup BC for
clusterQA 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
(transparent, multi-version,HA, scalable)
• Pas besoin d’instancier des serveurs, des load-balancers, des bases de données, etc.
• L’environnement est constamment géré et monitoré
• La montée en charge se fait en temps réel
• La tolérance aux pannes est intégrée
• On fait « Ops », vous faites « Dev »
Deploy App to traditional Java platform
Deploy App to CloudBees
DEPLOY
48
Public Edition - IaaS Providers
©2011 CloudBees, Inc. All Rights Reserved
CloudBees Platform as a Service
Continuous Deployme
ntProduction
Build
Test
Provisioning
Maintenance
Jenkins
SaaS Vendor Applications
Enterprise UserApplications
JVM – Java EEJava, Python, Scala,
…
CloudBees Core Platform Services
RUN@DEV@
Repositories
Data Services
MeteringBilling
MonitoringManagement
Messaging IdentityLogging/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
49
Public Edition - IaaS Providers
©2011 CloudBees, Inc. All Rights Reserved
CloudBees Platform as a Service
Continuous Deployme
ntProduction
Build
Test
Provisioning
Maintenance
Jenkins
SaaS Vendor Applications
Enterprise UserApplications
JVM – Java EEJava, Python, Scala,
…
CloudBees Core Platform Services
RUN@DEV@
Repositories
Data Services
MeteringBilling
MonitoringManagement
Messaging IdentityLogging/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
BuildTest
Deploy
Stage Deploy Scale
Iterate
50©2011 CloudBees, Inc. All Rights Reserved
51
• 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.
Elements clefs
©2011 CloudBees, Inc. All Rights Reserved
52
CloudBees: End-to-End Application Lifecycle
©2011 Cloud Bees, Inc. All Rights Reserved
App Project
Deploy
DEV@cloud RUN@cloud
Elastic AppElastic AppElastic AppSource
Control
JenkinsBuild/Test
Push
53©2011 CloudBees, Inc. All Rights Reserved
• 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?
Example: LoseIt!
54
• 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.
Le Cloud – Météo
©2011 Cloud Bees, Inc. All Rights Reserved
55©2011 CloudBees, Inc. All Rights Reserved
• 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
Rejoignez le côté clair de la Force!
56
Merci!
©2011 Cloud Bees, Inc. All Rights Reserved
Hier
Extra IT
CloudBees
Build. Test. Run.
No IT