Un outil de conteneurisation permettant d'emballer une application et ses dépendances dans un container portable, exécutable sur n'importe quelle machine.
Docker est une plateforme de containerisation lancée en 2013 qui a transformé le déploiement applicatif. Plutôt que d'installer une application sur un serveur nu, Docker crée des "containers" : des environnements isolés contenant l'application et toutes ses dépendances (librairies, runtime, configuration).
Les avantages de Docker sont majeurs : portabilité totale ("ça marche sur ma machine" devient "ça marche partout"), isolation des services, déploiements rapides et répétables, et facilité de scalabilité. Un fichier Dockerfile décrit l'environnement, et Docker Compose orchestre plusieurs containers en local.
Pour un développeur, Docker est devenu une compétence quasi-indispensable, même côté frontend. Elle s'est imposée comme standard pour les environnements de développement et la production. Les développeurs DevOps maîtrisent Docker pour préparer les images destinées à être orchestrées par Kubernetes.
Un ensemble de pratiques et d'outils visant à automatiser le déploiement, la configuration et le monitoring des applications en production.
Un orchestrateur de containers open source permettant de déployer, scaler et gérer des applications containerisées en production à grande échelle.
Intégration Continue et Déploiement Continu : l'automatisation du test et du déploiement du code pour fiabiliser les releases.
Utilisation de ressources informatiques (serveurs, stockage, bases de données) hébergées sur internet plutôt que sur des machines locales.
Un style architectural découpant une application en services indépendants communicant via APIs, opposé à l'approche monolithique traditionnelle.