• Aucun résultat trouvé

Cloud et PaaS: les développeurs reprennent le

N/A
N/A
Protected

Academic year: 2022

Partager "Cloud et PaaS: les développeurs reprennent le"

Copied!
50
0
0

Texte intégral

(1)

Cloud et PaaS: les développeurs reprennent le POUVOIR!

@SachaLabourey

(2)

2

Abstract

•  Le monde de l’informatique va vivre sa révolution industrielle.

•  Développeurs de tous les pays, soyez prêts!

(3)

@SachaLabourey

JBoss

•  Clustering lead – 2001

•  GM Europe - 2003

•  CTO - 2005

•  Acquisition de JBoss en juin 2006

•  co-GM de la division middleware

•  Départ en avril 2009

•  (Pas intéressé du tout par le Cloud)

CloudBees

•  Créé en avril 2010

•  Environ 30 abeilles dans 6 pays

•  (Très intéressé par le

Cloud)

(4)

Reprendre le POUVOIR?

4

(5)

Reprendre le POUVOIR!

Pouvoir … FAIRE

Pouvoir … INNOVER

Pouvoir … CRÉER DE LA VALEUR

(as in “GO GO GO!”)

(6)

Friction, friction, friction

6

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

(7)

Friction, friction, friction

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

è 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)

(8)

Vous reprendrez bien

un peu de sable avec ça?

8

(9)

Développeurs vs. Sys Admins

(10)

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

10

(11)

Bref, le grand amour

(12)

Bref, le grand amour

12

(et oui…)

(13)

Au fait, ça sert à quoi l’informatique?

A faire du chouette code en Scala?

A installer Windows 2008?

A configurer grub.conf sur Linux?

(14)

L’IT sert au BUSINESS!

14

Besoin Business Specification Implémenta-tion Déploiement

(15)

L’IT sert au BUSINESS! Bien sûr…

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

……… !

……… !

!

(16)

16

On lui avait pas

simplement demandé de faire un site d’e-

commerce?

(17)

Et demain?

(18)

Des changements importants!

Mobile Social

Local Big Data

Consumerization of IT

HTML5

Component reuse Open Source

Agile SCRUM

(19)

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

(20)

20

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

(21)
(22)

Internet Mobile - 10x plus grand!

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

(23)

Comment faire?

(24)

Comment faire?

24

10x plus

d’applications

!

10x plus de développeurs?

10x moins de salaire?

10x plus

productifs?

(25)

Solution!

(26)

1. Valoriser l’échec

2. Augmenter la productivité

Solutions

26

(27)

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…

Valoriser l’échec?!?

(28)

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

28

A lire absolument: http://speakerdeck.com/u/searls/p/the-mythical-team-month

(29)

1. Fail-Faster - Fail-Smaller

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 p 1 p 2 p 3 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 7

App 8

(30)

1. Échouer VITE avec PEU de RESSOURCES

C’est BIEN!

“Repeat after me”

30

(31)

Faire de petits projets, rapidement, OK, mais…

la FRICTION reste constante! è pas de scalabilité!

è Il faut supprimer la friction entre développement et IT!

2. Augmenter la productivité

(32)

Supprimez l’IT!

32

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.

(33)

Développeurs

(34)

34

A l’IT de payer

leur complexité!

serveurs

(35)
(36)

36

Un monde sur Mars, sans IT, ni

serveur!

(37)

Pas un cloud à l’horizon...

Y’en a Marre de

l’IT!

(38)

Comment faire?!?

PaaS!

(i.e. Platform as a Service)

38

(39)

Avant PaaS

Source Code Managemnt

Jenkins Continuous

Integration

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

(40)

Avec PaaS

Source Code Managemnt

Jenkins Continuous

Integration

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

(41)

CloudBees PaaS

(42)

PaaS

•  Pas d’attente

•  Pas d’erreurs

(43)

PaaS

•  Vous faites le DEV

•  Le PaaS fait les Ops

(44)

PaaS

•  Vous ne gérez plus du middleware

•  Vous utilisez des services

(45)

Cela fonctionne-t-il?

BULLSHIT 2.0 ?

(46)

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

46

(47)

Le cloud ce n’est … pas sûr!

… pas stable!

La vraie question est:

que fera votre société aura un LoseIt! comme compétiteur?

“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…”

(48)

•  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

48

(49)

> 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

> git commit -a -m “did modification"

CloudBees en 2 minutes

App Project

Deploy Elastic App Elastic Elastic

Source

Control Jenkins

Build/Test

Push

Crée un répertoire Git, un job Jenkins et

une application

(50)

•  Maintenant: Sur le stand d’Oxiane, démo complète de dev +deploy sur CloudBees

•  Plus tard: Créez votre compte gratuit sur http://www.CloudBees.com/

La suite…

50

Références

Documents relatifs

This is quite equitable since via the subjects of oral and written expression which are vouchsafed prominence in the syllabus, learners will be able to express

Ensuite, lorsque j’ai collecté les cartes de tous les participants, je compte le nombre de cartes rouges qu’on m’a données et ce total est le gain collectif : chacun dans le

work, gave final approval of the version to be published and agree to be accountable for all aspects of the 23.. work in ensuring that questions related to the accuracy or integrity

Instance Manager: After successful service deployment, the SO starts an instance management function, which carries out the appropriate monitoring tasks and executes dynamic

We have proposed an algorithm to the controller placement problem in this SD-IoT architecture aiming at satisfy- ing the delay constraints between IoT devices and the controllers.

Mickley, 2008: Linking global to regional models to assess future climate impacts on surface ozone levels in the United States. NRC, 1991: Rethinking the Ozone Problem in Urban

When a fibreboard overlay and a PVC membrane were secured onto a phenolic insulation specimen, and the assembly subjected to cyclic compression with the heel

Presented Pando, a new volunteer computing platform designed to be easy to deploy and which does not require a dedicated server and can be scaled to a thousand browser tabs