We couldn't find a match for given <KEYWORD>, please try again.

¿Qué es la implementación de contenedores?

Los contenedores son un método de crear, empaquetar y distribuir software. Un contenedor incluye el código, el entorno de ejecución, las bibliotecas y el resto de elementos que una carga de trabajo contenedorizada requiere para ejecutarse.

La implementación de contenedores es el acto de traspasar (o implementar) los contenedores a su entorno, como una nube o un servidor local. Si bien un contenedor puede englobar una aplicación entera, lo cierto es que la mayoría de implementaciones de contenedores son implementaciones multicontenedor, es decir, es necesario implementar múltiples contenedores en el entorno de destino. En el caso de los sistemas de mayor tamaño y dinamismo, puede ser preciso implementar cientos o incluso miles de contenedores al día.

Se han diseñado para encenderse y apagarse rápido, según la aplicación. Esto es porque los contenedores suelen utilizarse como método para crear, empaquetar e implementar microservicios. Los microservicios describen una arquitectura de software que divide una solución de gran tamaño (también llamada «monolito» o «aplicación monolítica») en unidades lógicas más pequeñas. Cada uno de estos microservicios se ejecuta independientemente en un contenedor propio. Esta práctica de desarrollo de software moderna aporta numerosas ventajas, como la capacidad para acelerar las implementaciones y los subsiguientes cambios en el código.

Estado de Kubernetes

«Siete formas de mejorar la experiencia de los desarrolladores y acelerar la distribución de software en Kubernetes»

¿Qué ventajas tiene la implementación de contenedores?

Los contenedores y las tecnologías relacionadas, como las herramientas de coordinación, resultan atractivas para los equipos de desarrollo de software moderno porque ofrecen múltiples ventajas. Esto es especialmente cierto para los equipos que trabajan en los objetivos de transformación digital o que, sencillamente, necesitan producir productos de software más rápido y con mayor frecuencia que en pasado. Algunas de las ventajas de las implementaciones de contenedores son:

Velocidad: los contenedores pueden allanar el camino hacia un desarrollo más rápido e implementaciones más frecuentes, en especial cuando se utilizan en flujos de integración y distribución continuas (CI/CD). Los contenedores, así como la coordinación de contenedores y el aumento en el uso de la automatización con la CI/CD, tienden a amplificar el esfuerzo operativo necesario para enviar el código a producción, incluyendo ámbitos como el aprovisionamiento de infraestructura y las pruebas.

Agilidad y flexibilidad: Los contenedores están diseñados para ponerse en marcha y retirarse rápidamente según las necesidades. Esto significa que pueden respaldar los objetivos y condiciones empresariales variables y en evolución. Su naturaleza aislada, en especial cuando se combina con una arquitectura de microservicios, puede generar otras ventajas, como una mejora en el control de la seguridad y la capacidad para actualizar a cargas de trabajo contenedorizadas sin tener que volver a implementar la aplicación por completo.

Utilización y optimización de recursos: Los contenedores se desvinculan del sistema operativo y la infraestructura subyacentes. Esto los convierte en elementos ligeros que no exigen demasiados recursos del sistema, que constituye la principal diferencia que los distingue de las máquinas virtuales, en las que cada aplicación debe tener un sistema operativo invitado. En el caso de los contenedores, múltiples aplicaciones pueden compartir el mismo sistema operativo, lo que significa que múltiples aplicaciones pueden ejecutarse compartiendo recursos en una misma máquina. A este concepto a veces se le llama «densidad», y se refiere a la cantidad de contenedores que pueden ejecutarse en un mismo host.

Ejecución en cualquier ubicación: Que los contenedores se desvinculen del sistema operativo y la infraestructura subyacentes también significa que pueden ejecutarse de manera uniforme en cualquier entorno. El código (y el resto de elementos que necesita para funcionar) se ejecuta de la misma forma, dondequiera que se haya implementado el contenedor. Puede tratarse de una nube privada o pública, un servidor local o alojado o el portátil de un desarrollador. Los contenedores se han diseñado para ejecutarse allá donde estén.

¿Por qué utilizar la implementación de contenedores?

Las implementaciones de contenedores son idóneas para una gran variedad de software moderno y estrategias de infraestructura, incluyendo el enfoque ya mencionado de los microservicios. Pueden acelerar el desarrollo de aplicaciones y reducir el presupuesto de los equipos de operaciones de TI, ya que se desvinculan de los entornos en los que se ejecutan.

En consecuencia, las aplicaciones contenedorizadas se han convertido en una opción popular entre los equipos de DevOps y otras organizaciones que han dejado atrás los enfoques monolíticos tradicionales (o «heredados») del desarrollo de software. Las implementaciones de contenedores también funcionan bien con los procesos y herramientas de integración continua (CI) y distribución continua (CD). (La implementación continua, un ámbito relacionado pero separado y que también utiliza el acrónimo «CD», lleva la distribución continua más lejos y automatiza por completo la implementación del código en el entorno de producción, sin necesidad de aprobarla manualmente).

La tecnología contenedorizada y las implementaciones de contenedores también funcionan bien con los entornos distribuidos o de infraestructura heterogénea, como los entornos multinube y de nube híbrida.

¿Cómo se implementan los contenedores?

Existen diversas herramientas disponibles para la implementación de contenedores. Por ejemplo, Docker es una popular plataforma y entorno de ejecución de contenedores que las personas y los equipos suelen utilizar para crear e implementar los contenedores. Para empezar a utilizar Docker a fin de implementar contenedores, es necesario crear una imagen de Docker para el contenedor. También puede aprovechar una imagen de Docker ya existente del repositorio Docker Hub, donde los usuarios comparten imágenes predefinidas adaptadas a las necesidades de los servicios y las aplicaciones populares. La documentación de Docker incorpora instrucciones técnicas detalladas sobre cómo empezar.

Varias herramientas de gestión de la configuración o de infraestructura como código ofrecen maneras de crear scripts que automaticen total o parcialmente las implementaciones de contenedores, normalmente en colaboración con una plataforma de contenedores como Docker. Cada una de estas herramientas tiene sus métodos particulares, así como instrucciones técnicas para automatizar la implementación de contenedores o la configuración de las aplicaciones. Puede utilizar las herramientas de gestión de la configuración o infraestructura como código para escribir scripts (que se llaman de forma distinta en cada plataforma) a fin de automatizar ciertas tareas de implementación y gestión de contenedores, según las prácticas recomendadas de configuración.

Productos y soluciones relacionados

VMware Tanzu for Kubernetes Operations

La base para una infraestructura de contenedores multinube moderna

VMware Tanzu Application Platform

Obtenga una experiencia de desarrollo multinube superior en Kubernetes.

VMware Tanzu Community Edition

VMware Tanzu ya a su alcance