Développer dans le Cloud
#Multiplateforme #Cloud #Agilité #Devops #Traçabilité #Disponibilité
#Accessibilité #OpenSource #Déploiement #Monitoring
•  D’où l’on vient
•  Les défis des usines logicielles modernes
•  Et c’est pas fini… vous avez dit DevOps ?
Agenda
•  Le Cloud est une alternative pour héberger
vos développements
•  Le Cloud est une alternative pour héberger
vos applications
•  Une usine pour toutes les écrire
Objectifs de cette présentation
D’où l’on vient
Quand j’ai commencé à bosser, les
outils c’étaient
C’est-à-dire…
Je reçois les
specs
Je récupère
le code que
je peux
Je code
J’archive en
croisant les
doigts
On file le
binaire à
l’infra
On part en
week end o/
•  Chacun est dans son coin
•  On ne sait pas ce qu’on livre et à quoi cela va
servir
•  Beaucoup de tâches qui pourrait être
automatisées (mais ne le faisait pas ou alors
chacun dans son coin)
Qu’est ce que l’on remarque
Et il se passait ça :
On a créé des « usines logicielles » !
•  Très rudimentaires : on sait tracer le source
et construire des binaires
•  Les devs ont maintenant leurs outils (eux)
•  Initiatives individuelles des équipes
•  Aux ops de s’adapter
Ce qu’on a fait :
Avantages & inconvénients
•  On installe, ça marche
•  On sait tracer le code dans les
binaires
•  Les devs sont contents
•  On y touche pas de peur que
cela ne marche plus
•  On ne trace pas ou peu le
besoin
•  Le métier, les DBA et les OPS
ne veulent pas en entendre
parler
•  Chaque équipe choisit la sienne
•  Cela devient petit à petit une
contrainte
•  Pas toujours lié à l’infra
•  Le métier s’en mêle,
•  Les Kanbans apparaissent un peu partout,
•  La qualité logicielle n’est plus un sujet de discussion, il
faut maintenant mesurer pour s’améliorer,
•  On doit livrer plus vite (c’est ce que les consultants nous
ont vendu),
Hey les gars, on est agile maintenant !
•  Gestion agile,
•  Traçabilité (un besoin à un code à un binaire),
•  Intégration des tests dans le cycle de développement,
•  On isole par fonctionnalité et par métier (les fameuses
« feature teams »)
Donc on a intégré le métier dans le
développement
Nos processus (= « les gens ne savent pas encore travailler
ensemble »)
•  On est dans l’urgence (on verra plus tard)
•  C’est pas comme ça que l’on fait à la Cogip
•  Le manifeste agile : c’est bien pour mettre au mur
Mais qu’est-ce qui nous freine finalement ?
1/…
Nos outils !
•  On n’a pas deux fois les mêmes,
•  On ne sait pas la faire évoluer,
•  Ça coute cher et on a personne pour gérer,
•  A chaque équipe ses outils, ses mesures.
Mais qu’est-ce qui nous freine finalement ?
2/…
Nous !
•  On n’est pas prêt
•  Le coût d’entrée est trop cher si cela ne convient pas
•  Il faut former les équipes
•  On ne sait pas comment commencer
Mais qu’est-ce qui nous freine finalement ?
3/…
•  Ceux qui s’en sortent se sont organisés
•  Outils propices à la collaboration
§  GitHub
§  Uservoice
§  Trello
§  Plusieurs outils mais des outils qui se combinent
En Open source, ils y arrivent bien
Les usines logicielles
modernes
•  Traçabilité
•  Multi technos
•  Évolutives
•  Simples à maintenir
Qu’attendre d’elles ?
Besoin
Code
Build
Dépl.
Bug
Test
Traçabilité
•  Java, .Net, Node, C++,…
•  Dénominateur commun : Git
•  Moteur de build multiplateforme (.Net ou
Node.js)
§  Windows
§  Linux (même sous Raspberry PI)
§  iOS
Agnostiques
•  Éviter les produits en fin de vie
•  Les éditeurs qui proposent une version Cloud sont ceux
qui feront évoluer le plus vite leurs outils
(GitHub,MS,Atlassian, etc.)
•  Passer facilement d’une équipe à plusieurs
Évolutives
•  On ne doit pas avoir peur d’installer une nouvelle
version,
•  Passer la barrière psychologique de la mise à jour,
•  Avoir les bonnes personnes,
•  Ne pas sous-estimer l’évolution (ou la non-évolution) des
postes de travail.
Maintenance
•  On est pas l’hébergeur,
•  On a pas à gérer la QOS ou le SLA,
•  On a pas à gérer le stockage,
•  Accessible de partout,
•  Mise à jour au fil de l’eau.
Avantage d’avoir son usine dans le
Cloud
La version Cloud de Team Foundation Server
•  Pure SaaS,
•  Mise à jour toutes les 3 semaines,
•  Toujours en avance sur la version On Premises (TFS).
Visual Studio Online (vs TFS)
Faisons les présentations
Visual Studio Online
On ne sait pas efficacement répondre à ces questions :
•  Que s’est-il passé sur ce fichier, cette méthode ?
•  Où est-elle utilisée ?
•  Est-ce que les tests relatifs à ma méthode passent ?
Et les dev dans tout ça ?
Aperçu de l’IDE du futur
Visual Studio 2015
Vous avez dit DevOps ?
Build Depl. Mesures
Après le build, il reste encore du
chemin
•  Infrastructure à la demande/élastiques,
•  Multi OS,
•  Pilotage,
•  « Infra as Code ».
Avantages du cloud
Infra as Code
Powershell DSC
•  Nos applications : utilisées « world wide »,
•  Nos serveurs : rarement à plusieurs endroits,
•  Infra pas adapté à un trafic dense,
•  Fabriquer ses outils de monitoring : généralement une
fausse bonne idée.
Monitoring
Monitoring applicatif
Application Insight
•  Regarder ce que vous avez déjà
•  Trouver une équipe pilote
•  Commencer par les environnements de dev
•  Accumuler des données pour estimer les coûts
•  Former vos équipes
Comment choisir / comment avancer ?
Merci
XebiConFr 15 - Développer dans le Cloud

XebiConFr 15 - Développer dans le Cloud

  • 1.
    Développer dans leCloud #Multiplateforme #Cloud #Agilité #Devops #Traçabilité #Disponibilité #Accessibilité #OpenSource #Déploiement #Monitoring
  • 2.
    •  D’où l’onvient •  Les défis des usines logicielles modernes •  Et c’est pas fini… vous avez dit DevOps ? Agenda
  • 3.
    •  Le Cloudest une alternative pour héberger vos développements •  Le Cloud est une alternative pour héberger vos applications •  Une usine pour toutes les écrire Objectifs de cette présentation
  • 4.
  • 5.
    Quand j’ai commencéà bosser, les outils c’étaient
  • 6.
    C’est-à-dire… Je reçois les specs Jerécupère le code que je peux Je code J’archive en croisant les doigts On file le binaire à l’infra On part en week end o/
  • 7.
    •  Chacun estdans son coin •  On ne sait pas ce qu’on livre et à quoi cela va servir •  Beaucoup de tâches qui pourrait être automatisées (mais ne le faisait pas ou alors chacun dans son coin) Qu’est ce que l’on remarque
  • 8.
    Et il sepassait ça :
  • 9.
    On a créédes « usines logicielles » ! •  Très rudimentaires : on sait tracer le source et construire des binaires •  Les devs ont maintenant leurs outils (eux) •  Initiatives individuelles des équipes •  Aux ops de s’adapter Ce qu’on a fait :
  • 10.
    Avantages & inconvénients • On installe, ça marche •  On sait tracer le code dans les binaires •  Les devs sont contents •  On y touche pas de peur que cela ne marche plus •  On ne trace pas ou peu le besoin •  Le métier, les DBA et les OPS ne veulent pas en entendre parler •  Chaque équipe choisit la sienne •  Cela devient petit à petit une contrainte •  Pas toujours lié à l’infra
  • 11.
    •  Le métiers’en mêle, •  Les Kanbans apparaissent un peu partout, •  La qualité logicielle n’est plus un sujet de discussion, il faut maintenant mesurer pour s’améliorer, •  On doit livrer plus vite (c’est ce que les consultants nous ont vendu), Hey les gars, on est agile maintenant !
  • 12.
    •  Gestion agile, • Traçabilité (un besoin à un code à un binaire), •  Intégration des tests dans le cycle de développement, •  On isole par fonctionnalité et par métier (les fameuses « feature teams ») Donc on a intégré le métier dans le développement
  • 13.
    Nos processus (=« les gens ne savent pas encore travailler ensemble ») •  On est dans l’urgence (on verra plus tard) •  C’est pas comme ça que l’on fait à la Cogip •  Le manifeste agile : c’est bien pour mettre au mur Mais qu’est-ce qui nous freine finalement ? 1/…
  • 14.
    Nos outils ! • On n’a pas deux fois les mêmes, •  On ne sait pas la faire évoluer, •  Ça coute cher et on a personne pour gérer, •  A chaque équipe ses outils, ses mesures. Mais qu’est-ce qui nous freine finalement ? 2/…
  • 15.
    Nous ! •  Onn’est pas prêt •  Le coût d’entrée est trop cher si cela ne convient pas •  Il faut former les équipes •  On ne sait pas comment commencer Mais qu’est-ce qui nous freine finalement ? 3/…
  • 16.
    •  Ceux quis’en sortent se sont organisés •  Outils propices à la collaboration §  GitHub §  Uservoice §  Trello §  Plusieurs outils mais des outils qui se combinent En Open source, ils y arrivent bien
  • 17.
  • 18.
    •  Traçabilité •  Multitechnos •  Évolutives •  Simples à maintenir Qu’attendre d’elles ?
  • 19.
  • 20.
    •  Java, .Net,Node, C++,… •  Dénominateur commun : Git •  Moteur de build multiplateforme (.Net ou Node.js) §  Windows §  Linux (même sous Raspberry PI) §  iOS Agnostiques
  • 21.
    •  Éviter lesproduits en fin de vie •  Les éditeurs qui proposent une version Cloud sont ceux qui feront évoluer le plus vite leurs outils (GitHub,MS,Atlassian, etc.) •  Passer facilement d’une équipe à plusieurs Évolutives
  • 22.
    •  On nedoit pas avoir peur d’installer une nouvelle version, •  Passer la barrière psychologique de la mise à jour, •  Avoir les bonnes personnes, •  Ne pas sous-estimer l’évolution (ou la non-évolution) des postes de travail. Maintenance
  • 23.
    •  On estpas l’hébergeur, •  On a pas à gérer la QOS ou le SLA, •  On a pas à gérer le stockage, •  Accessible de partout, •  Mise à jour au fil de l’eau. Avantage d’avoir son usine dans le Cloud
  • 24.
    La version Cloudde Team Foundation Server •  Pure SaaS, •  Mise à jour toutes les 3 semaines, •  Toujours en avance sur la version On Premises (TFS). Visual Studio Online (vs TFS)
  • 25.
  • 26.
    On ne saitpas efficacement répondre à ces questions : •  Que s’est-il passé sur ce fichier, cette méthode ? •  Où est-elle utilisée ? •  Est-ce que les tests relatifs à ma méthode passent ? Et les dev dans tout ça ?
  • 27.
    Aperçu de l’IDEdu futur Visual Studio 2015
  • 28.
    Vous avez ditDevOps ?
  • 29.
    Build Depl. Mesures Aprèsle build, il reste encore du chemin
  • 30.
    •  Infrastructure àla demande/élastiques, •  Multi OS, •  Pilotage, •  « Infra as Code ». Avantages du cloud
  • 31.
  • 32.
    •  Nos applications: utilisées « world wide », •  Nos serveurs : rarement à plusieurs endroits, •  Infra pas adapté à un trafic dense, •  Fabriquer ses outils de monitoring : généralement une fausse bonne idée. Monitoring
  • 33.
  • 34.
    •  Regarder ceque vous avez déjà •  Trouver une équipe pilote •  Commencer par les environnements de dev •  Accumuler des données pour estimer les coûts •  Former vos équipes Comment choisir / comment avancer ?
  • 35.