En 2016, on peut instancier un SI from scratch avec du code. La maturité des outils d'infrastructure nous permet d'importer des pratiques issues du monde du développement. Par ailleurs les besoins des utilisateurs de l'infrastructure (aka les Dev) emmène à repenser des services d'infrastructure classiques tel que le Monitoring ou le Backup en mode 'as a Service'. Or comme chacun sait : Dev + Service = Produit. Et quelle meilleure manière de faire un produit que de le faire en agile avec des pratiques de qualité ? Nous vous conterons l'histoire d'un produit d'infrastructure avec son why, sa roadmap, ses epics et ses user stories. Nous vous plongerons dans le quotidien d'une équipe OPS avec ses rituels et ses pratiques de développement. Nous vous décrirons ce qu'est une plateforme d'intégration continue OPS et comment on teste une infrastructure en continu.
1. 50 AVENUE DES CHAMPS-ÉLYSÉES 75008 PARIS > FRANCE > WWW.OCTO.COM
Agile Tour Lille 2016
13 octobre 2016
Francois-Xavier Vende
Mathieu Herbert
Du Craft chez les OPS
2. 2OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les speakers
François-Xavier Vende
Architecte Technique
@vendefx
Mathieu Herbert
Expert Cloud
@MathieuHerbert
3. 3OCTO TECHNOLOGY > THERE IS A BETTER WAY
“Construction avec des
pratiques de développement et
des méthodes
visant à créer
une solution adaptée,
maintenable et évolutive”
Notre définition du Craft
4. 4OCTO TECHNOLOGY > THERE IS A BETTER WAY
☉ De gestion du “run” en mode Kanban
☉ De transformation d’organisation
Les sujets suivants, on n’abordera pas !
5. 5OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une infrastructure en cycle long….très long !
Opérations
• Durée : 2 - 3 semaines • Durée : 2 mois à 1 an
Design architecture
Provision
infrastructure
Deploy
application
Operate
Code
Build
Test
DEV
Package
Développement Agile
6. 6OCTO TECHNOLOGY > THERE IS A BETTER WAY
Un produit pour “agiliser” l’infrastructure
Notre produit : un “SI as a Service”
Capacité à fournir à la demande un ensemble intégré de
composants d’infrastructure nécessaires au build “applicatif”
7. 7OCTO TECHNOLOGY > THERE IS A BETTER WAY
Produit
d’infrastructure
Une interface numérique entre DEV et OPS...
Interface unifiée
Engagement sur le SLA
APIs
Scripts
SDK
Développement Agile
Opérations
Application A
Application B
Application C
...
8. 8OCTO TECHNOLOGY > THERE IS A BETTER WAY
Produit
d’infrastructure
..nécessitant une évolution des responsabilités
Interface unifiée
Engagement sur le SLA
APIs
Scripts
SDK
Développement Agile
Opérations
Application A
Application B
Application C
...
Build
Applicatif
Build
Produit d’infrastructure
Run Applicatif Run Infrastructure
9. 9OCTO TECHNOLOGY > THERE IS A BETTER WAY
“SI as a Service” : des interfaces
API / SDK / Scripts
10. 10OCTO TECHNOLOGY > THERE IS A BETTER WAY
“SI as a Service” : des briques à automatiser
Briques à instancier automatiquement
API / SDK / Scripts
Tomcat WebSphere AS WebLogic JBoss
Oracle Monitoring
Relais serveur de temps Relais serveur de mails Collecte de logs
Système d’exploitation durci
Gestionnaire de paquetsDB2
11. 11OCTO TECHNOLOGY > THERE IS A BETTER WAY
SI as a Service : une intégration avec le SI Historique
Briques à instancier automatiquement
SI Historique Entreprise
API / SDK / Scripts
Tomcat WebSphere AS WebLogic JBoss
Oracle Monitoring
Relais serveur de temps Relais serveur de mails Collecte de logs
Système d’exploitation durci
Serveur de temps Serveur de mails ...
Gestionnaire de paquetsDB2
12. 12OCTO TECHNOLOGY > THERE IS A BETTER WAY
SI as a Service : en global
SI as a
Service
Briques à instancier automatiquement
SI Historique Entreprise
API / SDK / Scripts
Tomcat WebSphere AS WebLogic JBoss
Oracle Monitoring
Relais serveur de temps Relais serveur de mails Collecte de logs
Système d’exploitation durci
Serveur de temps Serveur de mails ...
Gestionnaire de paquetsDB2
13. 13OCTO TECHNOLOGY > THERE IS A BETTER WAY
Un produit tu construiras !
SI as a Service
Usine de
Développ-
ement et de
Déploiement
Securité
Liens au
SI entreprise
Monitoring
APIs / IHM
Gestion des
utilisateurs et
des droits
Niveau de
service
Exploitation
16. 16OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
Utilisateurs
techniques
17. 17OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Utilisateurs
techniques
18. 18OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Développeurs
OPS
Utilisateurs
techniques
19. 19OCTO TECHNOLOGY > THERE IS A BETTER WAY
Le vocabulaire tu adapteras !
PO
Développeur
OPS
20. 20OCTO TECHNOLOGY > THERE IS A BETTER WAY
Le vocabulaire tu adapteras !
Est-ce que vous
pourriez monter un un
Gitlab et un Jenkins
avec le plugin Maven
?
PO
Développeur
OPS
21. 21OCTO TECHNOLOGY > THERE IS A BETTER WAY
Le vocabulaire tu adapteras !
PO
Développeur
OPS
Du Redhat ou de l’Ubuntu ?
Doivent-elles être enrollées
dans un AD ? Quels ports
doivent être ouverts ? Dans
quelle zone reseau ?
22. 22OCTO TECHNOLOGY > THERE IS A BETTER WAY
PO
Développeur
OPS
Heu, je veux juste un
Jenkins et un Gitlab
Le vocabulaire tu adapteras !
23. 23OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Développeurs
OPS
Utilisateurs
techniques
Co-PO
24. 24OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Développeurs
OPS
Intervenants
techniques
externes
Utilisateurs
techniques
Co-PO
25. 25OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Développeurs
OPS
Intervenants
techniques
externes
Utilisateurs
techniques
Liens avec les
intervenants
externes
Co-PO
26. 26OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PO
Développeurs
OPS
Intervenants
techniques
externes
Utilisateurs
techniques
Liens avec les
intervenants
externes
Expertise
ponctuelle
Co-PO
27. 27OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une organisation tu définiras !
PODelivery
Manager
Développeurs
OPS
Intervenants
techniques
externes
Utilisateurs
techniques
Liens avec les
intervenants
externes
Expertise
ponctuelle
Co-PO
29. 29OCTO TECHNOLOGY > THERE IS A BETTER WAY
Des pratiques tu maintiendras !
Maturité
Technique
Maturité Fonctionnelle
Release 1
Création de VMs
DNS
Serveur
de mail
30. 30OCTO TECHNOLOGY > THERE IS A BETTER WAY
Des pratiques tu maintiendras !
Création de VMs
DNS
Création de VMs
DNS lié au SI
interne
Serveur de
mail résilient
Serveur de
temps
Active Directory
Centralisation
des logs
Release 4
Release 1
Serveur
de mail
Certificats SSL
Connexion
via SSO
Maturité
Technique
Maturité Fonctionnelle
33. 33OCTO TECHNOLOGY > THERE IS A BETTER WAY
La définition de backlog tu réaliseras !
Je dispose du code
permettant de
déployer le SMTP
Je mets en place
règles de filtrages
pour sécuriser le
SMTP
Création du code
Puppet pour
configurer le SMTP
Création du code
Terraform pour
déployer
l’infrastructure pour
le SMTP
OPSUsers
Composants Tâches Sous-tâches
PO PO
34. 34OCTO TECHNOLOGY > THERE IS A BETTER WAY
La définition de backlog tu réaliseras !
Je dispose du code
permettant de
déployer le SMTP
Je mets en place
règles de filtrages
pour sécuriser le
SMTP
Création du code
Puppet pour
configurer le SMTP
Création du code
Terraform pour
déployer
l’infrastructure pour
le SMTP
OPS
Composants Tâches Sous-tâches
CO-POPO CO-PO
36. 36OCTO TECHNOLOGY > THERE IS A BETTER WAY
Ton infrastructure avec du code tu décriras !
Décrire sous forme de code exécutable et
testable la configuration de l’architecture
technique d’infrastructure
Orchestrateur de
déploiement
d’infrastructure
Infra
as Code
Infrastructure
API
Infra
37. 37OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les couches de déploiement tu organiseras et tu automatiseras !
Environnements
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TESTS
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
38. 38OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les couches de déploiement tu organiseras et tu automatiseras !
Environnements
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TESTS
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
Orchestrateur
Infrastructure as a Service
Private
Cloud
Public
Cloud
3
Pilote les APIs du
IaaS pour déployer
l’infrastructure
39. 39OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les couches de déploiement tu organiseras et tu automatiseras !
Environnements
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TESTS
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
Orchestrateur
Infrastructure as a Service
Private
Cloud
Public
Cloud
System
Configuration
3
4
Déclenche la
configuration
des systèmesPilote les APIs du
IaaS pour déployer
l’infrastructure
40. 40OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les couches de déploiement tu organiseras et tu automatiseras !
Environnements
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TESTS
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
Orchestrateur
Infrastructure as a Service
Private
Cloud
Public
Cloud
System
Configuration
3
4
Déclenche la
configuration
des systèmesPilote les APIs du
IaaS pour déployer
l’infrastructure
Tests
5Tests des
environnements
41. 41OCTO TECHNOLOGY > THERE IS A BETTER WAY
Les couches de déploiement tu organiseras et tu automatiseras !
Environnements
Code Repository
Env.
PRODUCTION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
TESTS
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
INTEGRATION
Env.
TEST / DEMO
Env.
TEST / DEMO
Env.
PREPROD
Orchestrateur
Infrastructure as a Service
Private
Cloud
Public
Cloud
System
Configuration
UDD
L’UDD appelle
l’orchestrateur
3
4
Déclenche la
configuration
des systèmes
2
1
Récupération du code
d’orchestration et de
configuration système
Pilote les APIs du
IaaS pour déployer
l’infrastructure
Tests
5Tests des
environnements
42. 42OCTO TECHNOLOGY > THERE IS A BETTER WAY
Des bonnes pratiques pour coder tu adopteras !
Clean Code
Code
Review
KISS
YAGNI
DRY
TESTS
Refactoring
TDD
Pair
Programming
43. 43OCTO TECHNOLOGY > THERE IS A BETTER WAY
La “pair review” tu systématiseras !
Production
SMTP
NTP
PR SMTP
PR NTP
Cas nominal
44. 44OCTO TECHNOLOGY > THERE IS A BETTER WAY
La “pair review” tu systématiseras !
Production
Cas dégradé
45. 45OCTO TECHNOLOGY > THERE IS A BETTER WAY
Des tests tu feras !
Tests
d’intégration
Tests unitaires
Tests
fonctionnels
UDD
UDD
UDD
Avant chaque
Push
Après chaque
modification
de code
Après chaque
Push
Après chaque
Push
Chaque nuit / avant
chaque passage en
production
46. 46OCTO TECHNOLOGY > THERE IS A BETTER WAY
Des tests tu feras !
< 10 min
< 10 s
> 10 min
UDD
UDD
UDD
Avant chaque
Push
Après chaque
modification
de code
Après chaque
Push
Après chaque
Push
Chaque nuit / avant
chaque passage en
production
47. 47OCTO TECHNOLOGY > THERE IS A BETTER WAY
En mode OPS tu les déclineras !
Je teste que mon code compile,
et unitairement il fait ce que j’attends
Je teste la feature sur une
plateforme indépendante
Je teste la feature avec
une intégration complète
(iso-prod)
48. 48OCTO TECHNOLOGY > THERE IS A BETTER WAY
Autant que possible tu testeras unitairement !
< 1 seconde
49. 49OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
50. 50OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
VM
Création
51. 51OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
Configuration
Serveur de
mails
52. 52OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
Serveur de
mails
Test
Est-ce que mon service tourne bien ?
Est-ce que la configuration est bonne ?
...
53. 53OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
Serveur de
mails
Destruction
54. 54OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes composants d’infrastructure indépendamment tu testeras !
< 10 minutes
55. 55OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes services au moins chaque nuit globalement tu testeras
UDD
56. 56OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes services au moins chaque nuit globalement tu testeras
NTP
Application
témoin
Auth ...SMTP
Dépendances
simulées
Création
UDD
57. 57OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes services au moins chaque nuit globalement tu testeras
NTP
Application
témoin
Auth ...SMTP
Dépendances
simulées
Tests
UDD
Est-ce que mon Application témoin est bien
reliée au serveur de mail ?
Est-ce que mon Application témoin peut
envoyer des mails ?
...
58. 58OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes services au moins chaque nuit globalement tu testeras
NTP
Application
témoin
Auth ...SMTP
Dépendances
simulées
Destruction
UDD
59. 59OCTO TECHNOLOGY > THERE IS A BETTER WAY
Tes services au moins chaque nuit globalement tu testeras
UDD
> 10 minutes
60. 60OCTO TECHNOLOGY > THERE IS A BETTER WAY
Une CI avec des pipelines en oeuvre tu mettras !
61. 61OCTO TECHNOLOGY > THERE IS A BETTER WAY
Takeway!
1 Une vision produit tu construiras !
2 L’organisation du projet tu adapteras !
3 Des processus de développement tu maintiendras !
3 Des tests avant tout tu feras !
4 Les environnements pour valider l’infrastructure tu auras !
6 Nooooon, l’ingénieur “DevOps” tu ne chercheras pas !
62. 62OCTO TECHNOLOGY > THERE IS A BETTER WAY
recrutement@octo.com
Vous croyez que les technologies changent le
monde ?
Nous aussi ! Rejoignez-nous !