Développeurs, bienvenue dans le Cloud

72
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

description

Sacha Labourey, CEO et Fondateur de CloudBees, présente "Développeurs, bienvenue dans le Cloud". La vidéo de la présentation est disponible ici : http://vimeo.com/47412919 Le Xebia Cloud Day 2012 est une conférence gratuite dédiée au Cloud Computing focalisée sur l'écosystème Java. http://blog.xebia.fr/22-mai-2012-cloud-day-chez-xebia/

Transcript of Développeurs, bienvenue dans le Cloud

Page 1: Développeurs, bienvenue dans le Cloud

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

Page 2: Développeurs, bienvenue dans le Cloud

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

Page 3: Développeurs, bienvenue dans le Cloud

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

Page 4: Développeurs, bienvenue dans le Cloud

Cloud 101 Le Cloud pour les pas si nuls

©2012 Cloud Bees, Inc. All Rights Reserved

Page 5: Développeurs, bienvenue dans le Cloud

5

Pile Logicielle Typique

©2012 CloudBees, Inc. All Rights Reserved

Installer  

Monitorer  

Patcher  

Me0re  à  jour  

Valider  la  Pile  

Page 6: Développeurs, bienvenue dans le Cloud

6 ©2012 CloudBees, Inc. All Rights Reserved

Installer  

Monitorer  

Patcher  

Me0re  à  jour  

Valider  la  Pile  

Cloud Computing: comment faire? Qui fait quoi?

Cloud  Provider

?  

Page 7: Développeurs, bienvenue dans le Cloud

7

Utilisez un « PaaS » !

©2012 CloudBees, Inc. All Rights Reserved

Page 8: Développeurs, bienvenue dans le Cloud

8

Un quoi?!?

©2012 CloudBees, Inc. All Rights Reserved

Décryptons ensemble…

Page 9: Développeurs, bienvenue dans le Cloud

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

Page 10: Développeurs, bienvenue dans le Cloud

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

?

Page 11: Développeurs, bienvenue dans le Cloud

11

IaaS – Tout change, mais rien ne change

©2012 Cloud Bees, Inc. All Rights Reserved

Page 12: Développeurs, bienvenue dans le Cloud

12 ©2012 CloudBees, Inc. All Rights Reserved

Page 13: Développeurs, bienvenue dans le Cloud

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

Page 14: Développeurs, bienvenue dans le Cloud

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

Page 15: Développeurs, bienvenue dans le Cloud

15 ©2012 CloudBees, Inc. All Rights Reserved

Page 16: Développeurs, bienvenue dans le Cloud

16 ©2012 CloudBees, Inc. All Rights Reserved

Page 17: Développeurs, bienvenue dans le Cloud

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

Page 18: Développeurs, bienvenue dans le Cloud

18 ©2012 CloudBees, Inc. All Rights Reserved

Page 19: Développeurs, bienvenue dans le Cloud

19 ©2012 CloudBees, Inc. All Rights Reserved

Page 20: Développeurs, bienvenue dans le Cloud

20 ©2012 CloudBees, Inc. All Rights Reserved

Page 21: Développeurs, bienvenue dans le Cloud

21 ©2012 CloudBees, Inc. All Rights Reserved

Page 22: Développeurs, bienvenue dans le Cloud

22 ©2012 CloudBees, Inc. All Rights Reserved

Page 23: Développeurs, bienvenue dans le Cloud

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

Page 24: Développeurs, bienvenue dans le Cloud

24

1ère décision: IaaS, SaaS ou PaaS?

©2012 CloudBees, Inc. All Rights Reserved

Iaas  Jongle  avec  les  technologies  

Saas  Contraint  

Paas  Flexible  

Page 25: Développeurs, bienvenue dans le Cloud

25

PaaS! Par ce que je le vaux bien.

©2012 CloudBees, Inc. All Rights Reserved

Paas  Flexible  

Page 26: Développeurs, bienvenue dans le Cloud

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

Page 27: Développeurs, bienvenue dans le Cloud

Oui, mais moi j’aime bien gérer des SYSTÈMES!

Grand geek, va…

©2012 Cloud Bees, Inc. All Rights Reserved

Page 28: Développeurs, bienvenue dans le Cloud

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

Page 29: Développeurs, bienvenue dans le Cloud

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

Page 30: Développeurs, bienvenue dans le Cloud

30

Développeurs vs. Sys Admins

30

Photo Credit: Joseph Viles/ The CW Photo Credit: http://www.sysadminday.com/people.html

Page 31: Développeurs, bienvenue dans le Cloud

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

Page 32: Développeurs, bienvenue dans le Cloud

32

L’IT sert au BUSINESS!

32

Besoin Business

Specification Implémenta-tion Déploiement

Page 33: Développeurs, bienvenue dans le Cloud

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 ……………………………………………………!……………………………………………………!!

Page 34: Développeurs, bienvenue dans le Cloud

34 34

On lui avait pas simplement demandé de faire un site d’e-commerce?

Page 35: Développeurs, bienvenue dans le Cloud

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

Page 36: Développeurs, bienvenue dans le Cloud

36

Des changements importants!

•  Mobile •  Social •  Local •  Big Data

•  Consumerization of IT

•  HTML5 •  Component reuse •  Open Source •  Agile SCRUM

Page 37: Développeurs, bienvenue dans le Cloud

37

A l’aube de l’ère post-PC…

Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC

Page 38: Développeurs, bienvenue dans le Cloud

38 38 Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011

Page 39: Développeurs, bienvenue dans le Cloud

39 39 Source: Mary Meeker , 2011, www.kpcb.com/internettrends2011

Page 40: Développeurs, bienvenue dans le Cloud

40

Internet Mobile - 10x plus grand!

Thanks to Mary Meeker and Matt Murphy, From David Skok presentation @ MassTLC

Page 41: Développeurs, bienvenue dans le Cloud

41

Comment gérer cette croissance?

41

Page 42: Développeurs, bienvenue dans le Cloud

42

Comment gérer cette croissance?

42

10x plus d’applications!

10x plus de développeurs?

10x moins de salaire?

10x plus productifs?

Page 43: Développeurs, bienvenue dans le Cloud

43

Solution!

43

Page 44: Développeurs, bienvenue dans le Cloud

44

1. Valoriser l’échec

2. Augmenter la productivité

Solutions (partielles)

44

Page 45: Développeurs, bienvenue dans le Cloud

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

Page 46: Développeurs, bienvenue dans le Cloud

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

Page 47: Développeurs, bienvenue dans le Cloud

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

Page 48: Développeurs, bienvenue dans le Cloud

48

1. Échouer VITE avec PEU de RESSOURCES

C’est BIEN!

“Repeat after me”

48

Page 49: Développeurs, bienvenue dans le Cloud

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

Page 50: Développeurs, bienvenue dans le Cloud

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.

Page 51: Développeurs, bienvenue dans le Cloud

51 51

Développeurs

Page 52: Développeurs, bienvenue dans le Cloud

52 52

A l’IT de payer leur complexité!

serveurs

Page 53: Développeurs, bienvenue dans le Cloud

53 53

Page 54: Développeurs, bienvenue dans le Cloud

54 54

Un monde sur Mars, sans IT, ni serveur!

Page 55: Développeurs, bienvenue dans le Cloud

55 55

Les claviers aux développeurs

Page 56: Développeurs, bienvenue dans le Cloud

Comment faire?!?

PaaS! (i.e. Platform as a Service)

56

Page 57: Développeurs, bienvenue dans le Cloud

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

Page 58: Développeurs, bienvenue dans le Cloud

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

Page 59: Développeurs, bienvenue dans le Cloud

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

Page 60: Développeurs, bienvenue dans le Cloud

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  

Page 61: Développeurs, bienvenue dans le Cloud

Cela fonctionne-t-il? BULLSHIT 2.0 ?

61

Page 62: Développeurs, bienvenue dans le Cloud

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

Page 63: Développeurs, bienvenue dans le Cloud

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

Page 64: Développeurs, bienvenue dans le Cloud

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

Page 65: Développeurs, bienvenue dans le Cloud

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

Page 66: Développeurs, bienvenue dans le Cloud

66

Les OS n’intéresseront plus grand monde

©2012 CloudBees, Inc. All Rights Reserved

Operating Systems

Page 67: Développeurs, bienvenue dans le Cloud

67

Plus besoin d’apprendre à l’épeler!

©2012 CloudBees, Inc. All Rights Reserved

Middleware

Page 68: Développeurs, bienvenue dans le Cloud

68

Les IaaS deviennent un “détail d’implémentation”

©2012 CloudBees, Inc. All Rights Reserved

IaaS

Page 69: Développeurs, bienvenue dans le Cloud

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

Page 70: Développeurs, bienvenue dans le Cloud

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

Page 71: Développeurs, bienvenue dans le Cloud

71

Merci!

©2012 Cloud Bees, Inc. All Rights Reserved

Hier

Extra IT

CloudBees

Build. Test. Run.

No IT

Page 72: Développeurs, bienvenue dans le Cloud

72

•  > git clone ssh://[email protected]/webinar/jboss- kitchensink.git kitchensink

•  > bees app:create --withCD –t jboss kitchensink

•  > git remote add cloudbees ssh://[email protected]/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