Un contenedor es un paquete ejecutable de software que incluye todo lo necesario para ejecutarlo. La Plataforma de Contenedores Red Hat OpenShift hace uso de contenedores.
Piensa en un contenedor como una aplicación completamente empaquetada con todo lo necesario para ejecutarla, como las bibliotecas y los binarios requeridos, que puedes enviar a cualquier lugar y ejecutarla en cualquier momento. El concepto de contenedores es similar al de los contenedores de envío. Todo lo necesario para que la aplicación funcione reside dentro del «contenedor de envío». Por ejemplo, cuando la aplicación necesita ejecutarse en Windows, se puede enviar allí. Cuando necesita ejecutarse en Linux, se puede enviar allí.
Tomemos el concepto de un contenedor, como una aplicación con todo lo necesario para ejecutarla, y combinémoslo con el concepto de microservicios.
Puedes pensar en un microservicio como una entidad simple, que realiza una única función o servicio. Diferentes microservicios pueden conectarse a una única interfaz de usuario.
Considera un microservicio desarrollado dentro de un contenedor. Este contenedor realiza una única función. Siguiendo la analogía de los contenedores de envío, donde cada contenedor es ahora un microservicio.
Combina muchos microservicios juntos y ahora tienes un barco lleno de contenedores. El objetivo del diseño de aplicaciones utilizando este marco es que cada servicio pueda operar independientemente de los demás. Cada contenedor, o servicio, puede actualizarse de manera independiente sin ninguna interrupción para toda la aplicación y la plataforma.