The Doppler Quarterly (FRANÇAIS) L'automne 2017 | Page 48
plus et plus souvent à la recherche d’OPC (code d’autres personnes), ce qui rend leur
travail beaucoup plus productif. Toutefois, cela crée un défi en termes de cycle de
vie du conteneur, dans la mesure où le nombre de dépendances dont vous effectuez
le suivi est limité.
Et il s’agit ici clairement d’un problème à résoudre. Si, à une étape donnée, le dével-
oppeur a besoin de rechercher et d’exploiter des images de conteneurs préassem-
blées, il doit savoir où les stocker et comment y accéder afi n de simplifi er le travail
de suivi qui s’impose.
Pour stocker une copie de l’image de base en cours d’exploitation, ainsi que vos
extensions de cette image, vous pouvez faire appel à un référentiel privé. L’avantage
est que vous pouvez alors conserver un exemplaire original de l’image dont votre
version personnalisée est dérivée. De plus, vous pouvez enregistrer cette dernière
dans ce même référentiel privé.
Sachez toutefois que si cette méthode vous protège contre les modifi cations de
l’image publique dont vous dépendez désormais (lesquelles pourraient rendre
inopérante l’application que vous développez à l’aide de conteneurs), vous ne pou-
vez plus bénéfi cier des mises à jour et des correctifs de bugs dans l’image
d’origine.
La solution consiste alors à utiliser un système de gestion des confi gurations
prenant en charge les conteneurs. Bien qu’il soit possible d’adapter les outils tradi-
tionnels à la gestion des images de conteneurs, ceux-ci pâtissent de certaines lim-
ites. Pour l’heure, la meilleure pratique consiste à collaborer avec votre actuel
prestataire de gestion de la confi guration, afi n de comprendre comment exploiter
gérer vos applications à base de conteneurs à l’aide des outils existants. Mais d’ici
un an ou deux, tenez-vous prêt à vous mettre en quête de meilleurs outils que ceux
de votre pool de fournisseurs DevOps existants.
Test de conteneurs
Il existe de nombreuses approches pour pratiquer des tests sur les conteneurs.
Dans tous les cas, il importe de se souvenir que l’automatisation de vos batteries de
tests constitue la clé de voûte de cette activité.
Avec les conteneurs, vous pouvez décider de positionner l’automatisation des tests
à l’intérieur ou à l’extérieur du processus. Pour cela, il convient de mettre en place
des environnements de test reproductibles dans lesquels le même test pourra être
exécuté au moyen des mêmes outils de test d’automatisation. Le test doit donc être
envisagé comme faisant entièrement partie des outils d’intégration en continu, de
transfert et de déploiement. De cette manière, les tests sont systémiques entre le
moment où un développeur est prêt à les lancer et la phase de passage en
production.
L’approche qui consiste à tester la partie interne des conteneurs implique que les
outils de test fassent partie intégrante de l’image. Dans ce cas, leur confi guration a
lieu automatiquement.
Avec l’approche externe, en revanche, vous pouvez créer des conteneurs de test
d’intégration spéciaux qui contiendront uniquement des outils et des artefacts de
mise à l’essai, tels que les scripts, données et paramètres de confi guration de l’en-
vironnement de test. Bien qu’il s’agisse par essence de conteneurs, ils ne feront pas
partie intégrante de l’image du conteneur en production, ce qui fait qu’ils n’auront
aucune incidence sur la taille ou les performances de cette image. En revanche, ils
ne sont pas autoconfi gurés, et doivent donc être paramétrés en fonction des tâches
46 | THE DOPPLER | AUTOMNE 2017