Nous développons et livrons du logiciel plus vite que jamais, ou du moins nous le souhaitons. De nombreux obstacles empêchent généralement cet objectif : ségrégations technologiques, méthodes de travail, dispersion des équipes, manque de traçabilité, etc. Cette présentation est 100% « No Silver Bullet », toutefois vous y trouverez des réponses concrètes à vos problèmes.
Par Michel Perfetti. Michel Perfetti travaille depuis 2006 sur les problématiques d'industrialisation sur la plateforme Microsoft. Il est MVP depuis 2006, MVP Visual Studio ALM depuis 2010 et ALM Rangers. Michel est également Manager du pôle ALM chez Cellenza. Il intervient en tant que consultant sur des problématiques d'architecture ou développement ainsi que des problématiques liées aux méthodologies de travail et à l'Agilité.
La vidéo de la conférence est à retrouver sur : http://www.xebicon.fr/programme.html
XebiCon'18 - Ce que l'histoire du métro Parisien m'a enseigné sur la création...
XebiConFr 15 - Développer dans le Cloud
1. Développer dans le Cloud
#Multiplateforme #Cloud #Agilité #Devops #Traçabilité #Disponibilité
#Accessibilité #OpenSource #Déploiement #Monitoring
2. • D’où l’on vient
• Les défis des usines logicielles modernes
• Et c’est pas fini… vous avez dit DevOps ?
Agenda
3. • 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
6. 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/
7. • 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
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é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 !
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 !
• 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/…
16. • 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
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 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
22. • 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
23. • 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
24. 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)
26. 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 ?
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
34. • 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 ?