Développeurs, bienvenue dans le Cloud

Post on 15-Jun-2015

3.448 views 0 download

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

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