Prólogo
Los contenedores son omnipresentes. Desde el desarrollo local, pasando por la integración continua, hasta la gestión de cargas de trabajo de producción a gran escala, los contenedores están en todas partes. ¿Por qué ha surgido esto, hacia dónde va, y qué necesitas saber tú, lector, sobre esta revolución que se ha apoderado de nuestra industria?
Muchas tecnologías antiguas ofrecen la promesa de "escribir una vez, ejecutar en cualquier parte". Sin embargo, no todos los tiempos de ejecución ofrecían esta facilidad, e incluso los que lo hacían seguían requiriendo que el tiempo de ejecución (y cualquier dependencia adicional) estuvieran disponibles para que una aplicación pudiera ejecutarse. Los contenedores ofrecen la promesa de "compilar una vez, ejecutar en cualquier lugar". Te permiten empaquetar tus aplicaciones, el tiempo de ejecución necesario para ejecutarla, los archivos de configuración y todas las dependencias de archivos que necesite en un solo artefacto. Siempre que tengas un tiempo de ejecución de contenedor en la máquina de destino, tu aplicación simplemente funcionará. Esto permite que tu infraestructura sea realmente agnóstica en cuanto a aplicaciones. "Funciona en mi máquina", ¡fuera!
Los contenedores ofrecen una interfaz de programación de aplicaciones (API) estándar para gestionar el ciclo de vida de un contenedor y las aplicaciones empaquetadas en él. Esta API proporciona una interfaz homogénea a un entorno de implementación que, de otro modo, sería heterogéneo, ...