¿Qué son los contenedores en desarrollo de aplicaciones?
En el marco de la evolución de los sistemas, la optimización de recursos y la transformación digital, es de carácter obligatorio hablar de la virtualización. Con la llegada de la virtualización se consigue la posibilidad de desplegar, de manera simultánea, múltiples sistemas en el mismo servidor, maximizando el aprovechamiento de los recursos físicos. Las máquinas virtuales comparten el mismo grupo de procesamiento informático (computing), almacenamiento (storage), y recursos de red (networking).
Por un lado, la llegada de software de virtualización ha permitido, si no hay requerimientos específicos, poder utilizar el computing de manera compartida, optimizando la utilización de recursos que antes eran dedicados y vinculados al hardware físico.
Por otro lado, la evolución de los sistemas y el constante desarrollo de las aplicaciones, debido a la creciente demanda en el sector TI, ha requerido la evolución de las máquinas virtuales (VM) a los contenedores (containers), unidades ejecutables de software donde se empaqueta el código, bibliotecas y dependencias de una aplicación. Dicha demanda del sector TI viene impuesta por una necesidad flagrante en la consecución de objetivos, ya que cada empresa debe responder de forma ágil, y lo más eficiente posible, a las necesidades de negocio. La virtualización es una tecnología que permite maximizar al máximo los recursos TI necesarios para ahorrar costos.
Las máquinas virtuales han permitido a las empresas reducir sus requerimientos de TI, convirtiéndose en un recurso eficiente para actualizar ambientes de TI. Los contenedores van más allá, ya que logran simplificar mejorablemente la virtualización de aplicaciones.
Esta evolución sienta la base para que proveedores de software como VMware o proveedores de nube pública como Azure o Google, puedan ofrecer un catálogo de servicios donde se incluyen el despliegue y la gestión de contenedores, acordes a la necesidad de cada cliente, ya sea un particular, PYME o una gran empresa.
Computing
Hace referencia a los recursos de CPU. El hipervisor permite dividir una CPU individual en varias CPU virtuales para que puedan ser utilizadas por varias máquinas virtuales.
Storage
Es el almacenamiento. La virtualización de almacenamiento permite acceder a todos los dispositivos de almacenamiento en la infraestructura, si así se requiere, tanto si están instalados en servidores individuales como en unidades de almacenamiento autónomas. Mediante la capa virtual se pueden gestionar como un único dispositivo de almacenamiento.
Networking