Contenerización de aplicación (contenerización de app)
La contenerización de aplicaciones es un método de virtualización de nivel de sistema operativo (nivel OS) para implementar y ejecutar aplicaciones distribuidas sin lanzar una máquina virtual completa (VM) para cada aplicación. En su lugar, varios sistemas aislados se ejecutan en un único host de control y acceden a un único kernel. Los contenedores de aplicaciones contienen los componentes, como archivos, variables de entorno y bibliotecas, necesarios para ejecutar el software deseado. Debido a que los recursos se comparten de esta manera, se pueden crear contenedores de aplicaciones que ponen menos presión a los recursos globales disponibles. Por ejemplo, si se desea una variación de la imagen estándar, se puede crear un contenedor que contenga solo la nueva biblioteca.
Los defensores de la contenerización apuntan a un aumento de la eficiencia de la memoria, la CPU y el almacenamiento como ventajas clave de este enfoque, en comparación con la virtualización tradicional. Debido a que los contenedores de aplicación no tienen la sobrecarga requerida por las máquinas virtuales, es posible soportar muchos más contenedores en la misma infraestructura. La portabilidad es también un beneficio. Siempre y cuando la configuración del servidor sea idéntica entre los sistemas, un contenedor de aplicación puede ejecutarse en cualquier sistema y en cualquier nube sin requerir cambios de código. No hay variables de entorno de SO huésped o dependencias de biblioteca para administrar. Un inconveniente potencial de la contenerización es la falta de aislamiento del sistema operativo central. Dado que los contenedores de aplicación no se extraen del sistema operativo host en una máquina virtual, las amenazas de seguridad tienen un acceso más fácil a todo el sistema.
La contenerización ganó prominencia con Docker de código abierto. Los contenedores de Docker están diseñados para funcionar en todo, desde computadoras físicas hasta máquinas virtuales, servidores bare metal, clústeres de nube OpenStack e instancias públicas.
Además de Docker, CoreOS lanzó una alternativa coordinada llamada Rocket.
Y Canonical, desarrolladores del sistema operativo Ubuntu basado en Linux, anunció el motor de contenedor LXD para Ubuntu, que también se integrará con OpenStack. Además, Microsoft está trabajando en su propia tecnología de contenedor llamada Drawbridge. .