Infrastructure, cloud et DevOps · Mixte

Conteneurs : ce qu'ils apportent et quand ils sont superflus

En une ligne : Un conteneur emballe l'application avec tout ce dont elle a besoin pour tourner, de sorte qu'elle se comporte pareil partout.

Quel problème il résout

Faire correspondre les versions et les dépendances entre les machines. Au lieu d'installer et de configurer sur chaque serveur, on construit une image et on l'exécute partout. D'où aussi la facilité à scaler : faire tourner une instance de plus est une affaire de secondes.

Comment construire une bonne image

Une base légère et à jour, une construction multi-étapes pour que les outils de build n'atteignent pas l'image finale, un utilisateur sans permissions complètes et un tag de version explicite — pas seulement « latest ».

Ne mettez pas de secrets dans l'image. Ils sont injectés à l'exécution.

Quand on n'en a pas besoin

Un site statique, une petite fonction ou un système tournant sur une plateforme gérée qui s'en charge elle-même. Les conteneurs ajoutent une couche à maintenir ; si vous n'en tirez pas de portabilité ou d'uniformité, renoncez-y.

Pour aller plus loin

Analysez les images à la recherche de vulnérabilités dans le processus de build, et reconstruisez à un rythme régulier même sans changement de code — la plupart des vulnérabilités viennent de la couche de base. Et fixez une politique de tag claire pour toujours savoir quelle version exacte est en train de tourner.