SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
© Copyright IBM Corporation 2016
La valeur de Docker pour les équipes de développement
La transformation digitale ?
Nous savons que nous allons
devoir faire face à des de-
mandes disruptives, sans forcé-
ment en connaître la nature, car
en rupture avec les pratiques
usuelles : nouveaux modèles
métiers, nouveaux clients, ex-
périences individualisées, opti-
misation drastique du délai de
fourniture de nouveaux services.
L'approche DevOps vise à répondre à 3 objectifs
majeurs :
• Accélérer la livraison d'un produit ;
• Équilibrer les axes de réussite d'un projet (vélo-
cité, coûts, qualité et risques) ;
• Réduire les temps de retour client.
Pour cela, la chaîne de fabrication doit s’adapter et
répondre aux exigences d’une innovation continue,
avec un temps de mise sur le marché « TTM » tou-
jours plus réduit, et la mise en place de boucles de
retour permettant de réorienter en quasi temps-réel
la transformation digitale.
Les leviers du changement :
• L’expérience client au cœur des préoccupations ;
• L’adoption large du Cloud, sous toutes ses formes
(SaaS, API, micro-services, Hybrid Cloud, etc.) ;
• Une transformation profonde du cycle de fabrica-
tion, abandonnant les cycles de releases larges au
profit de scénarios de fabrication au fil de l’eau (mi-
cro releases), accélérant d’autant les réponses aux
demandes du marché ;
• Le déploiement large des principes DevOps avec
un réalignement de l’organisation reposant sur des
équipes intégrées responsabilisées sur l’ensemble
du cycle (du métier à l’exploitation).
Cela amène à un changement de paradigme : la
spécification n’est plus la référence, et le « feed-
back » continu devient le guide de l’orientation à
suivre.
Répondant à cela, DevOps peut être considéré
comme une nouvelle capacité apportée à l’Entre-
prise, lui permettant de se positionner sur une
boucle continue centrée sur le client. Les interac-
tions entre ce dernier et la boucle de production con-
tribuent à leur transformation continue. Les résultats
tangibles attendus : une accélération de l’innovation,
une capacité à se réorienter pour répondre à de nou-
veaux besoins non encore identifiés, et surtout à me-
surer en continu l’impact de l’offre sur la demande.
Les apports de Docker pour le dé-
veloppeur
Le développeur sera plus agile, car il devient plus
indépendant de l’OS cible, faisant fi des considéra-
tions de déploiement physique, virtualisé ou Cloud
public/privé. Docker assure cette cohérence grâce à
ses outils de gestion et de production de conteneur
nativement intégrés.
Le poste du développeur se voit simplifié à l’ex-
trême : un OS, supportant son « IDE », indépendant
de la technologie utilisée pour l’implémentation cible
de la solution développée (serveur d’applications,
base de données, etc.). Il suffit au développeur de
déployer un conteneur approprié issu des images du
référentiel Docker. Le code de l’application, les bi-
bliothèques associées et les configurations sont in-
changés lors du passage entre les mains des
équipes de qualification et de production.
Le développeur, le testeur, le qualifieur et l’exploitant
conservent la cohérence du code et de sa configu-
ration depuis l’environnement de développement
jusqu’à l’environnement de production. En particu-
lier, les niveaux des bibliothèques logicielles et des
packages restent inchangés sur l’ensemble de la
chaîne de production, car encapsulés dans la four-
niture et la maintenance des images Docker.
Au niveau de la documentation, le développeur ap-
plique un nouveau paradigme. Là où dans un mode
traditionnel, le développeur devait, souvent au der-
nier moment, écrire toute la procédure d’installation
TEC-F TechNotes TECF Volume X, Number X, 2016
© Copyright IBM Corporation 2016
à fournir aux opérations, l’apport de Docker entraine
une facilité de documentation car il va fournir l’envi-
ronnement cible réellement utilisé et non un en-
semble de composants à installer, déployer et opé-
rer. Le volume de documentation produit par le dé-
veloppeur est grandement optimisé, car le modèle
opérationnel cible est porté par la configuration du
conteneur (auto documentation). Les équipes opé-
rationnelles n’ont plus alors qu’à installer le conte-
neur - qu’ils ont par ailleurs standardisé – sans avoir
à se préoccuper de l’installation et de la cohérence
de l’ensemble des composants nécessaires.
Le développeur bénéficie ainsi d’images standards
fournies par l’équipe de production. Il n’a plus à se
soucier de savoir s’il respecte le catalogue d’entre-
prise, s’il a la bonne version du middleware, ou en-
core si les procédures de sauvegarde et de purges
sont en place.
A l'issue des tests, les images ainsi construites sont
livrées dans les environnements de recette, pré-pro-
duction et production, les conteneurs étant iden-
tiques à l'exception des valeurs des variables d'en-
vironnement utilisées.
Docker et la chaîne de fabrication
L'industrialisation de la chaîne de fabrication est un
vecteur fondamental de la transformation DevOps,
et repose sur quatre piliers : standardisation et auto-
matisation, communication et partage.
Ces principes sont au cœur de Docker, le cycle de
vie des conteneurs étant géré de façon totalement
agnostique à l'application, que ce soit pour les cons-
truire, les publier ou les exécuter.
Ce mode de fonctionnement permet donc aux
équipes de développement, de bâtir des conteneurs
à partir d'images de base (disponibles dans un re-
gistre docker), d'un fichier de description normalisé
(« dockerfile ») et des fichiers de l'application (bi-
naires et configuration). Les variables dépendant de
l'environnement sont positionnées ou valorisées à
l'exécution du conteneur.
Cela permet également de mettre en application un
principe clé de DevOps : le « shift-left », qui consiste
à rapprocher au maximum les environnements et les
activités de production des activités de développe-
ment.
La production peut préparer des images de bases
contenant les versions de produits homologués avec
la configuration technique adéquate et les fournir
aux équipes de développement au travers du re-
gistre docker (référentiel d'entreprise). Il devient
alors très facile aux développeurs de construire et
démarrer leur conteneur afin de tester leur applica-
tion dans une configuration très proche de la produc-
tion.
A l'issue des tests, les images ainsi construites sont
livrées dans les environnements suivants (recette,
pré-production ...) les conteneurs étant identiques à
l'exception des valeurs des variables d'environne-
ment utilisées. La légèreté des images, de même
ordre que les applications, et leur simplicité d'utilisa-
tion permettent d'effectuer ces tâches de façon
quasi-transparente pour les développeurs.
© Copyright IBM Corporation 2016
Finalement, l'adoption de Docker bouleverse peu les
bonnes pratiques de développement :
• Gestion de configuration : tout comme le code
source des applications, les images docker sont
gérées en version, et stockées dans un référen-
tiel dédié (registre docker), les dépendances
entre images étant gérées au travers de fichiers
dédiés (Dockerfile) ;
• Externalisation de la configuration : la configura-
tion des conteneurs s'effectue essentiellement
au travers de variables d'environnement ;
• Assemblage et livraison : tout comme pour les
applications, les étapes d'assemblage, déploie-
ment et exécution des conteneurs sont parfaite-
ment dissociées. A partir d'une image construite,
on peut la déployer à plusieurs endroits et l’exé-
cuter de multiples fois (par principe les conte-
neurs Docker sont des processus 'stateless').
Cette industrialisation poussée est particulièrement
précieuse pour les applications de type SaaS (soft-
ware-as-a-service), destinées à être opérées dans
un environnement de type Cloud, et pour lesquelles
il est important de respecter des règles de base
telles que celles des 12 facteurs1
.
Docker et les organisations
Transformation des organisations et des personnes
L’émergence de Docker dans l'entreprise n'est pas
sans poser des questions d'organisation, avec des
impacts sur la formation des professionnels. Le point
important de transformation est de travailler progres-
sivement pour permettre une prise en compte de ce
nouvel outil sans entrainer de rupture auprès des
équipes (celles qui connaissent Docker et les
autres).
La mise en place minimale requise pour démarrer ce
type de transformation doit s’effectuer via une
équipe réduite qui constituera les champions de de-
main, en mesure d'accompagner l'entreprise dans
sa transformation. Un centre de compétence ou
d'excellence DevOps pourra par exemple accueillir
ces champions. Si l'entreprise n'est pas dans une
transformation DevOps, le centre de Compétence
Docker sera l'animateur de cette transformation.
1
http://12factor.net/fr/
Un outil contribuant à supprimer les silos
Au-delà des généralités de transformation que nous
aborderons dans le chapitre suivant, nous pouvons
profiter de cet outil pour supprimer les silos entre les
équipes de développement, avec un changement de
paradigme : ce ne sont plus les études qui fournis-
sent les informations d'installation à la production,
mais la production et le développement qui construi-
sent les images/conteneurs qui seront mis en œuvre
dès le début du développement, basés sur des stan-
dards validés par la production. In fine, il s’avère que
la contribution des équipes de production dans la
constitution du référentiel Docker est primordiale. In-
versement, il s’avère que les entreprises ayant mis
en avant Docker en commençant par une transfor-
mation des études se sont souvent vues stoppées
au moment du passage en production.
Une transformation selon 5 axes :"Keep
CALMS and adopt Docker"
Culture :
« Shift left », les équipes de production sont à l'ori-
gine de la fourniture des standards et n'attendent
plus les guides d'installations des applications is-
sues des études, les environnements de dévelop-
pement sont proches des configurations de la pro-
duction.
Automatisation :
Docker, en tant que conteneur est un acteur ma-
jeur de la transformation de l'IT via l'automatisation
des déploiements et entraine une facilité de mise
en œuvre des déploiements en continu.
© Copyright IBM Corporation 2016
Lean :
La mise à disposition des environnements reste un
processus souvent mal perçu par les équipes de
développement et représente un ensemble de
tâches pour les équipes de production. La mise à
disposition de conteneurs dans un référentiel est
une source de simplification de ces processus.
L'arrivée de Docker permet de travailler sur les pro-
cessus de mise à disposition des environnements
et ainsi simplifier la gestion des demandes d'envi-
ronnement. Il permet aussi de simplifier le proces-
sus de mise en production puisque l'on ne s'at-
tache plus qu'à déployer le conteneur plutôt que la
ou les applications.
Mesures :
L'apport de Docker est important pour le TTM.
Nous pouvons, via la mise en œuvre de Docker,
contribuer à la culture de la mesure de l'entreprise,
et ainsi, mesurer le temps de mise à disposition
d'une application ou du conteneur devant héberger
la ou les applications.
Share (Partage) :
La mise en place de Docker est un élément de par-
tage au sein de l'entreprise. Sa mise en œuvre
peut être faite via des évènements de type
Hackathon et va ainsi permettre de communiquer
fortement sur sa mise en œuvre. Ce partage va se
faire au sein de l'entreprise. Il est bien entendu im-
portant de mettre en place la notion de partage au
sein de l'équipe projet, de manière à ce que les
équipes opérationnelles en charge de Docker
soient en mesure d'expliquer leurs contraintes, et
prendre en compte celles du développement. Ce
partage va permettre d'améliorer progressivement
la compréhension par chacun des contraintes des
autres.
Mais pour que l'intégration de la technologie Docker
porte ses fruits, elle doit également s'accompagner
d'une implication conjointe des équipes de Dévelop-
pement et de Production dans l'adoption d’une gou-
vernance commune et adaptée, englobant le cycle
de vie complet du conteneur de sa conception à son
arrêt, en passant par sa mise en production et ses
mises à jour régulières. Le dialogue entre le Dev et
les Ops portant sur les ressources utilisées et les be-
soins non fonctionnels de l’application (concept
d’une plateforme de service « Container As A Ser-
vice ») serait ainsi « standardisé ».
Offres GBS autour de Docker
GBS accompagne ses clients dans le cadre de
transformation digitale. Ces transformations devien-
nent efficientes dès l’instant où les modes de fabri-
cation des applications deviennent plus agiles et
plus autonomes, en synchronisation avec les be-
soins exprimés par les métiers.
GBS propose donc dans le cadre de l’émergence de
Docker différentes prestations, visant à définir la
stratégie d’adoption de Docker avec les équipes
client, et la plupart du temps complétée d’une éva-
luation de la maturité de l’entreprise.
GBS offre aussi la possibilité de mettre en œuvre
cette transformation en accompagnant au plus près
les équipes clients, allant de la mise en place du
centre d’excellence Docker avec les Etudes, jusqu’à
l’accompagnement des équipes opérationnelles
dans le déploiement de nouvelles solutions en sy-
nergie avec les équipes de développement. Finale-
ment, la clé de succès reste la capacité à accompa-
gner nos clients sur la totalité du cycle DevOps, pilier
et cadre des transformations digitales actuelles et à
venir.
Conclusion
Docker est un outil qui révolutionne le mode de fa-
brication et d’exécution des applications. Il apporte,
à titre de comparaison, le même type de transforma-
tion que ce que les porte-conteneurs ont apporté
dans le transport maritime : une standardisation, et
donc une automatisation et un gain d’efficacité cons-
tatés sur l’intégralité de la chaîne de production, de
la conception métier jusqu’au maintien en conditions
opérationnelles. Il apporte son lot de transformation,
avec un positionnement à valeur des équipes de
production qui n’ont plus à subir les nouvelles livrai-
sons rapides des études, mais à devenir acteurs de
la transformation et maitres de ce qu’ils exploiteront,
tout en accompagnant leur entreprise dans sa trans-
formation digitale.

Contenu connexe

Tendances

Rational France - Livre Blanc - Repenser la production de logiciels en enterp...
Rational France - Livre Blanc - Repenser la production de logiciels en enterp...Rational France - Livre Blanc - Repenser la production de logiciels en enterp...
Rational France - Livre Blanc - Repenser la production de logiciels en enterp...Rational_France
 
Découvrez Windows server 2012
Découvrez Windows server 2012Découvrez Windows server 2012
Découvrez Windows server 2012PROJECT SI
 
Cwin16 - Paris - cloud
Cwin16 - Paris - cloudCwin16 - Paris - cloud
Cwin16 - Paris - cloudCapgemini
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgile Toulouse
 
Cwin16 - Paris - dev ops
Cwin16 - Paris - dev opsCwin16 - Paris - dev ops
Cwin16 - Paris - dev opsCapgemini
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudMicrosoft Technet France
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryZenika
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec dockergcatt
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceChristian Charreyre
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11CompatibleOne
 
REX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryREX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryDamien Goldenberg
 
French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0XebiaLabs
 
DCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft ServicesDCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft ServicesMicrosoft Technet France
 
MEGA International: Junior .NET Developer
MEGA International: Junior .NET Developer MEGA International: Junior .NET Developer
MEGA International: Junior .NET Developer Jason De Oliveira
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Ippon
 
MEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperMEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperJason De Oliveira
 

Tendances (17)

Dev opsday case study
Dev opsday   case studyDev opsday   case study
Dev opsday case study
 
Rational France - Livre Blanc - Repenser la production de logiciels en enterp...
Rational France - Livre Blanc - Repenser la production de logiciels en enterp...Rational France - Livre Blanc - Repenser la production de logiciels en enterp...
Rational France - Livre Blanc - Repenser la production de logiciels en enterp...
 
Découvrez Windows server 2012
Découvrez Windows server 2012Découvrez Windows server 2012
Découvrez Windows server 2012
 
Cwin16 - Paris - cloud
Cwin16 - Paris - cloudCwin16 - Paris - cloud
Cwin16 - Paris - cloud
 
AgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFSAgileTour Toulouse 2012 : TFS
AgileTour Toulouse 2012 : TFS
 
Cwin16 - Paris - dev ops
Cwin16 - Paris - dev opsCwin16 - Paris - dev ops
Cwin16 - Paris - dev ops
 
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private CloudLe Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
Le Cloud Privé, de la théorie à la réalité avec Microsoft Private Cloud
 
NightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous DeliveryNightClazz Build Tools & Continuous Delivery
NightClazz Build Tools & Continuous Delivery
 
Architecture microservices avec docker
Architecture microservices avec dockerArchitecture microservices avec docker
Architecture microservices avec docker
 
Comment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open SourceComment travailler avec les logiciels Open Source
Comment travailler avec les logiciels Open Source
 
CompatibleOne OSCi OW2 Workshop July 11
CompatibleOne  OSCi OW2 Workshop July 11CompatibleOne  OSCi OW2 Workshop July 11
CompatibleOne OSCi OW2 Workshop July 11
 
REX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous DeliveryREX sur l'outilage Continuous Delivery
REX sur l'outilage Continuous Delivery
 
French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0French Webinar: XL Deploy 4.0
French Webinar: XL Deploy 4.0
 
DCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft ServicesDCS : La solution de Cloud Privé par Microsoft Services
DCS : La solution de Cloud Privé par Microsoft Services
 
MEGA International: Junior .NET Developer
MEGA International: Junior .NET Developer MEGA International: Junior .NET Developer
MEGA International: Junior .NET Developer
 
Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014Formation Usine Logicielle gratuite par Ippon 2014
Formation Usine Logicielle gratuite par Ippon 2014
 
MEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperMEGA International: Senior .NET Developer
MEGA International: Senior .NET Developer
 

Similaire à La valeur de Docker pour les équipes de développement et accélérateur dans le déploiement des principes DevOps

Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsStephane Woillez
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs XebiaLabs
 
MEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperMEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperJason De Oliveira
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudMichel-Marie Maudet
 
MEGA International: .NET Architect
MEGA International: .NET Architect MEGA International: .NET Architect
MEGA International: .NET Architect Jason De Oliveira
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...Niji
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
devops.pdf
devops.pdfdevops.pdf
devops.pdfqsdqsd4
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Technet France
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsNicolas Herbaut
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOpsMicrosoft
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du CloudLINAGORA
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxZALIMAZA
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfboulonvert
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptxboulonvert
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devopsEmmanuel Roldan
 

Similaire à La valeur de Docker pour les équipes de développement et accélérateur dans le déploiement des principes DevOps (20)

Sw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applicationsSw 100 fr docker conteneurisation des applications
Sw 100 fr docker conteneurisation des applications
 
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �Amener vos applications Dockerisées jusqu’en production avec XebiaLabs �
Amener vos applications Dockerisées jusqu’en production avec XebiaLabs
 
Rational cloud
Rational cloudRational cloud
Rational cloud
 
MEGA International: Senior .NET Developer
MEGA International: Senior .NET DeveloperMEGA International: Senior .NET Developer
MEGA International: Senior .NET Developer
 
OpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du CloudOpenStack & DevOps, l'Open Source au service du Cloud
OpenStack & DevOps, l'Open Source au service du Cloud
 
MEGA International: .NET Architect
MEGA International: .NET Architect MEGA International: .NET Architect
MEGA International: .NET Architect
 
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
[Webinar Niji] Clés de succès et partage d’expériences pour mettre en œuvre e...
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
DEVOPS
DEVOPSDEVOPS
DEVOPS
 
devops.pdf
devops.pdfdevops.pdf
devops.pdf
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
 
Déploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIsDéploiement, orchestration & sécurisation d’APIs
Déploiement, orchestration & sécurisation d’APIs
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Introduction à DevOps
Introduction à DevOpsIntroduction à DevOps
Introduction à DevOps
 
OpenStack - open source au service du Cloud
OpenStack - open source au service du CloudOpenStack - open source au service du Cloud
OpenStack - open source au service du Cloud
 
Présentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptxPrésentation DEVOPS_PO.pptx
Présentation DEVOPS_PO.pptx
 
Livre blanc docker
Livre blanc docker Livre blanc docker
Livre blanc docker
 
Cours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdfCours Devops Sparks.pptx.pdf
Cours Devops Sparks.pptx.pdf
 
Présentation DEVOPS.pptx
Présentation DEVOPS.pptxPrésentation DEVOPS.pptx
Présentation DEVOPS.pptx
 
#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops#1 cloud-infra-talk- l ops-du-devops
#1 cloud-infra-talk- l ops-du-devops
 

La valeur de Docker pour les équipes de développement et accélérateur dans le déploiement des principes DevOps

  • 1. © Copyright IBM Corporation 2016 La valeur de Docker pour les équipes de développement La transformation digitale ? Nous savons que nous allons devoir faire face à des de- mandes disruptives, sans forcé- ment en connaître la nature, car en rupture avec les pratiques usuelles : nouveaux modèles métiers, nouveaux clients, ex- périences individualisées, opti- misation drastique du délai de fourniture de nouveaux services. L'approche DevOps vise à répondre à 3 objectifs majeurs : • Accélérer la livraison d'un produit ; • Équilibrer les axes de réussite d'un projet (vélo- cité, coûts, qualité et risques) ; • Réduire les temps de retour client. Pour cela, la chaîne de fabrication doit s’adapter et répondre aux exigences d’une innovation continue, avec un temps de mise sur le marché « TTM » tou- jours plus réduit, et la mise en place de boucles de retour permettant de réorienter en quasi temps-réel la transformation digitale. Les leviers du changement : • L’expérience client au cœur des préoccupations ; • L’adoption large du Cloud, sous toutes ses formes (SaaS, API, micro-services, Hybrid Cloud, etc.) ; • Une transformation profonde du cycle de fabrica- tion, abandonnant les cycles de releases larges au profit de scénarios de fabrication au fil de l’eau (mi- cro releases), accélérant d’autant les réponses aux demandes du marché ; • Le déploiement large des principes DevOps avec un réalignement de l’organisation reposant sur des équipes intégrées responsabilisées sur l’ensemble du cycle (du métier à l’exploitation). Cela amène à un changement de paradigme : la spécification n’est plus la référence, et le « feed- back » continu devient le guide de l’orientation à suivre. Répondant à cela, DevOps peut être considéré comme une nouvelle capacité apportée à l’Entre- prise, lui permettant de se positionner sur une boucle continue centrée sur le client. Les interac- tions entre ce dernier et la boucle de production con- tribuent à leur transformation continue. Les résultats tangibles attendus : une accélération de l’innovation, une capacité à se réorienter pour répondre à de nou- veaux besoins non encore identifiés, et surtout à me- surer en continu l’impact de l’offre sur la demande. Les apports de Docker pour le dé- veloppeur Le développeur sera plus agile, car il devient plus indépendant de l’OS cible, faisant fi des considéra- tions de déploiement physique, virtualisé ou Cloud public/privé. Docker assure cette cohérence grâce à ses outils de gestion et de production de conteneur nativement intégrés. Le poste du développeur se voit simplifié à l’ex- trême : un OS, supportant son « IDE », indépendant de la technologie utilisée pour l’implémentation cible de la solution développée (serveur d’applications, base de données, etc.). Il suffit au développeur de déployer un conteneur approprié issu des images du référentiel Docker. Le code de l’application, les bi- bliothèques associées et les configurations sont in- changés lors du passage entre les mains des équipes de qualification et de production. Le développeur, le testeur, le qualifieur et l’exploitant conservent la cohérence du code et de sa configu- ration depuis l’environnement de développement jusqu’à l’environnement de production. En particu- lier, les niveaux des bibliothèques logicielles et des packages restent inchangés sur l’ensemble de la chaîne de production, car encapsulés dans la four- niture et la maintenance des images Docker. Au niveau de la documentation, le développeur ap- plique un nouveau paradigme. Là où dans un mode traditionnel, le développeur devait, souvent au der- nier moment, écrire toute la procédure d’installation TEC-F TechNotes TECF Volume X, Number X, 2016
  • 2. © Copyright IBM Corporation 2016 à fournir aux opérations, l’apport de Docker entraine une facilité de documentation car il va fournir l’envi- ronnement cible réellement utilisé et non un en- semble de composants à installer, déployer et opé- rer. Le volume de documentation produit par le dé- veloppeur est grandement optimisé, car le modèle opérationnel cible est porté par la configuration du conteneur (auto documentation). Les équipes opé- rationnelles n’ont plus alors qu’à installer le conte- neur - qu’ils ont par ailleurs standardisé – sans avoir à se préoccuper de l’installation et de la cohérence de l’ensemble des composants nécessaires. Le développeur bénéficie ainsi d’images standards fournies par l’équipe de production. Il n’a plus à se soucier de savoir s’il respecte le catalogue d’entre- prise, s’il a la bonne version du middleware, ou en- core si les procédures de sauvegarde et de purges sont en place. A l'issue des tests, les images ainsi construites sont livrées dans les environnements de recette, pré-pro- duction et production, les conteneurs étant iden- tiques à l'exception des valeurs des variables d'en- vironnement utilisées. Docker et la chaîne de fabrication L'industrialisation de la chaîne de fabrication est un vecteur fondamental de la transformation DevOps, et repose sur quatre piliers : standardisation et auto- matisation, communication et partage. Ces principes sont au cœur de Docker, le cycle de vie des conteneurs étant géré de façon totalement agnostique à l'application, que ce soit pour les cons- truire, les publier ou les exécuter. Ce mode de fonctionnement permet donc aux équipes de développement, de bâtir des conteneurs à partir d'images de base (disponibles dans un re- gistre docker), d'un fichier de description normalisé (« dockerfile ») et des fichiers de l'application (bi- naires et configuration). Les variables dépendant de l'environnement sont positionnées ou valorisées à l'exécution du conteneur. Cela permet également de mettre en application un principe clé de DevOps : le « shift-left », qui consiste à rapprocher au maximum les environnements et les activités de production des activités de développe- ment. La production peut préparer des images de bases contenant les versions de produits homologués avec la configuration technique adéquate et les fournir aux équipes de développement au travers du re- gistre docker (référentiel d'entreprise). Il devient alors très facile aux développeurs de construire et démarrer leur conteneur afin de tester leur applica- tion dans une configuration très proche de la produc- tion. A l'issue des tests, les images ainsi construites sont livrées dans les environnements suivants (recette, pré-production ...) les conteneurs étant identiques à l'exception des valeurs des variables d'environne- ment utilisées. La légèreté des images, de même ordre que les applications, et leur simplicité d'utilisa- tion permettent d'effectuer ces tâches de façon quasi-transparente pour les développeurs.
  • 3. © Copyright IBM Corporation 2016 Finalement, l'adoption de Docker bouleverse peu les bonnes pratiques de développement : • Gestion de configuration : tout comme le code source des applications, les images docker sont gérées en version, et stockées dans un référen- tiel dédié (registre docker), les dépendances entre images étant gérées au travers de fichiers dédiés (Dockerfile) ; • Externalisation de la configuration : la configura- tion des conteneurs s'effectue essentiellement au travers de variables d'environnement ; • Assemblage et livraison : tout comme pour les applications, les étapes d'assemblage, déploie- ment et exécution des conteneurs sont parfaite- ment dissociées. A partir d'une image construite, on peut la déployer à plusieurs endroits et l’exé- cuter de multiples fois (par principe les conte- neurs Docker sont des processus 'stateless'). Cette industrialisation poussée est particulièrement précieuse pour les applications de type SaaS (soft- ware-as-a-service), destinées à être opérées dans un environnement de type Cloud, et pour lesquelles il est important de respecter des règles de base telles que celles des 12 facteurs1 . Docker et les organisations Transformation des organisations et des personnes L’émergence de Docker dans l'entreprise n'est pas sans poser des questions d'organisation, avec des impacts sur la formation des professionnels. Le point important de transformation est de travailler progres- sivement pour permettre une prise en compte de ce nouvel outil sans entrainer de rupture auprès des équipes (celles qui connaissent Docker et les autres). La mise en place minimale requise pour démarrer ce type de transformation doit s’effectuer via une équipe réduite qui constituera les champions de de- main, en mesure d'accompagner l'entreprise dans sa transformation. Un centre de compétence ou d'excellence DevOps pourra par exemple accueillir ces champions. Si l'entreprise n'est pas dans une transformation DevOps, le centre de Compétence Docker sera l'animateur de cette transformation. 1 http://12factor.net/fr/ Un outil contribuant à supprimer les silos Au-delà des généralités de transformation que nous aborderons dans le chapitre suivant, nous pouvons profiter de cet outil pour supprimer les silos entre les équipes de développement, avec un changement de paradigme : ce ne sont plus les études qui fournis- sent les informations d'installation à la production, mais la production et le développement qui construi- sent les images/conteneurs qui seront mis en œuvre dès le début du développement, basés sur des stan- dards validés par la production. In fine, il s’avère que la contribution des équipes de production dans la constitution du référentiel Docker est primordiale. In- versement, il s’avère que les entreprises ayant mis en avant Docker en commençant par une transfor- mation des études se sont souvent vues stoppées au moment du passage en production. Une transformation selon 5 axes :"Keep CALMS and adopt Docker" Culture : « Shift left », les équipes de production sont à l'ori- gine de la fourniture des standards et n'attendent plus les guides d'installations des applications is- sues des études, les environnements de dévelop- pement sont proches des configurations de la pro- duction. Automatisation : Docker, en tant que conteneur est un acteur ma- jeur de la transformation de l'IT via l'automatisation des déploiements et entraine une facilité de mise en œuvre des déploiements en continu.
  • 4. © Copyright IBM Corporation 2016 Lean : La mise à disposition des environnements reste un processus souvent mal perçu par les équipes de développement et représente un ensemble de tâches pour les équipes de production. La mise à disposition de conteneurs dans un référentiel est une source de simplification de ces processus. L'arrivée de Docker permet de travailler sur les pro- cessus de mise à disposition des environnements et ainsi simplifier la gestion des demandes d'envi- ronnement. Il permet aussi de simplifier le proces- sus de mise en production puisque l'on ne s'at- tache plus qu'à déployer le conteneur plutôt que la ou les applications. Mesures : L'apport de Docker est important pour le TTM. Nous pouvons, via la mise en œuvre de Docker, contribuer à la culture de la mesure de l'entreprise, et ainsi, mesurer le temps de mise à disposition d'une application ou du conteneur devant héberger la ou les applications. Share (Partage) : La mise en place de Docker est un élément de par- tage au sein de l'entreprise. Sa mise en œuvre peut être faite via des évènements de type Hackathon et va ainsi permettre de communiquer fortement sur sa mise en œuvre. Ce partage va se faire au sein de l'entreprise. Il est bien entendu im- portant de mettre en place la notion de partage au sein de l'équipe projet, de manière à ce que les équipes opérationnelles en charge de Docker soient en mesure d'expliquer leurs contraintes, et prendre en compte celles du développement. Ce partage va permettre d'améliorer progressivement la compréhension par chacun des contraintes des autres. Mais pour que l'intégration de la technologie Docker porte ses fruits, elle doit également s'accompagner d'une implication conjointe des équipes de Dévelop- pement et de Production dans l'adoption d’une gou- vernance commune et adaptée, englobant le cycle de vie complet du conteneur de sa conception à son arrêt, en passant par sa mise en production et ses mises à jour régulières. Le dialogue entre le Dev et les Ops portant sur les ressources utilisées et les be- soins non fonctionnels de l’application (concept d’une plateforme de service « Container As A Ser- vice ») serait ainsi « standardisé ». Offres GBS autour de Docker GBS accompagne ses clients dans le cadre de transformation digitale. Ces transformations devien- nent efficientes dès l’instant où les modes de fabri- cation des applications deviennent plus agiles et plus autonomes, en synchronisation avec les be- soins exprimés par les métiers. GBS propose donc dans le cadre de l’émergence de Docker différentes prestations, visant à définir la stratégie d’adoption de Docker avec les équipes client, et la plupart du temps complétée d’une éva- luation de la maturité de l’entreprise. GBS offre aussi la possibilité de mettre en œuvre cette transformation en accompagnant au plus près les équipes clients, allant de la mise en place du centre d’excellence Docker avec les Etudes, jusqu’à l’accompagnement des équipes opérationnelles dans le déploiement de nouvelles solutions en sy- nergie avec les équipes de développement. Finale- ment, la clé de succès reste la capacité à accompa- gner nos clients sur la totalité du cycle DevOps, pilier et cadre des transformations digitales actuelles et à venir. Conclusion Docker est un outil qui révolutionne le mode de fa- brication et d’exécution des applications. Il apporte, à titre de comparaison, le même type de transforma- tion que ce que les porte-conteneurs ont apporté dans le transport maritime : une standardisation, et donc une automatisation et un gain d’efficacité cons- tatés sur l’intégralité de la chaîne de production, de la conception métier jusqu’au maintien en conditions opérationnelles. Il apporte son lot de transformation, avec un positionnement à valeur des équipes de production qui n’ont plus à subir les nouvelles livrai- sons rapides des études, mais à devenir acteurs de la transformation et maitres de ce qu’ils exploiteront, tout en accompagnant leur entreprise dans sa trans- formation digitale.