Inicio Topics ¿Qué es la orquestación de contenedores? ¿Qué es la orquestación de contenedores?
Explore la solución de orquestación de contenedores de IBM Suscríbase para recibir actualizaciones sobre la nube
Ilustración con collage de pictogramas de monitor de ordenador, servidor, nubes, puntos
¿Qué es la orquestación de contenedores?

La orquestación de contenedores automatiza y simplifica el suministro, la implementación y la administración de aplicaciones en contenedores.

Hoy en día, Kubernetes es la plataforma de orquestación de contenedores más popular y la mayoría de los principales proveedores de servicios en la nube pública, incluidos Amazon Web Services (AWS), Google Cloud Platform, IBM Cloud y Microsoft Azure, ofrecen servicios gestionados de Kubernetes. Otras herramientas de orquestación de contenedores incluyen Docker Swarm y Apache Mesos.

Aproveche todo el valor de su nube híbrida

Conecte e integre sus sistemas para preparar su infraestructura para la IA.

Contenido relacionado

Regístrese para obtener la guía sobre DaaS

Más información sobre contenedores y por qué necesitan orquestación

Los contenedores son componentes de aplicación ejecutables ligeros que combinan el código fuente de la aplicación con todas las bibliotecas del sistema operativo (SO) y dependencias necesarias para ejecutar el código en cualquier entorno. 

La capacidad de crear contenedores existe desde hace décadas, pero se generalizó en 2008, cuando Linux incluyó la funcionalidad de contenedores en su kernel. Y luego se generalizó su uso con la llegada de la plataforma de contenerización de código abierto Docker en 2013. (Docker es tan popular que "contenedores Docker" y "contenedores" a menudo se usan indistintamente). 

Debido a que son más pequeños, eficientes en los recursos y portátiles que las máquinas virtuales (VM), los contenedores (y más específicamente, los microservicios en contenedores o las funciones sin servidor) se han convertido en unidades de cálculo de facto de las aplicaciones modernas nativas de la nube. (Para obtener más información sobre los beneficios de los contenedores, consulte la visualización interactiva de datos a continuación)

En pequeñas cantidades, los contenedores son bastante fáciles de implementar y gestionar manualmente. Pero en la mayoría de las organizaciones el número de aplicaciones en contenedores está creciendo rápidamente, y se administran a escala, especialmente como parte de un pipeline de integración continua/entrega continua (CI/CD) o  DevOps, es imposible sin automatización.

Introduzca la orquestación de contenedores, que automatiza las tareas de operaciones relacionadas con la implementación y ejecución de aplicaciones y servicios en contenedorizados . Según la reciente investigación de IBM, el 70 % de los desarrolladores que utilizan contenedores utiliza una solución de orquestación de contenedores, y el 70% de ellos afirman utilizar un servicio de orquestación de contenedores totalmente gestionado (en la nube) en su organización.

Descargue el informe completo: Contenedores en la empresa
Cómo funciona la orquestación de contenedores

Aunque existen diferencias en las metodologías y capacidades en todas las herramientas, la orquestación de contenedores es esencialmente un proceso de tres pasos (o ciclo, cuando forma parte de un pipeline ágil iterativo o DevOps ).

La mayoría de las herramientas de orquestación de contenedores son compatibles con un modelo de configuración declarativo : un desarrollador escribe un archivo de configuración (en YAML o JSON según la herramienta) que define el estado de configuración deseado. La herramienta de orquestación que ejecuta el archivo utiliza su propia inteligencia para lograr ese estado. El fichero de configuración , normalmente:

  • Define qué imágenes de contenedor componen la aplicación y dónde se encuentran (en qué registro).

  • Suministra los contenedores con almacenamiento y otros recursos.

  • Define y protege las conexiones de red entre contenedores.

  • Especifica el control de versiones (para implementaciones escalonadas o canary).

La herramienta de orquestación programa la implementación de los contenedores (y réplicas de los contenedores, para la resiliencia) en un host. Elige el mejor host en función de la capacidad de CPU disponible, la memoria u otros requisitos o restricciones especificados en el archivo de configuración. 

Una vez implementados los contenedores, la herramienta de orquestación gestiona el ciclo de vida de la aplicación contenerizada en función del archivo de definición del contenedor (a menudo un Dockerfile). Esto incluye: 

  • Gestión de la escalabilidad (hacia arriba y hacia abajo), el equilibrio de carga y la asignación de recursos entre los contenedores.

  • Garantía de disponibilidad y rendimiento trasladando los contenedores a otro host en caso de interrupción o escasez de recursos del sistema.

  • Recopilación y almacenamiento de datos de registro y otra telemetría que se utilizan para monitorizar la salud y el rendimiento de la aplicación.

Ventajas de la orquestación de contenedores


Probablemente esté claro que el principal beneficio de la organización de contenedores es la automatización , y no solo porque reduce en gran medida el esfuerzo y la complejidad de administrar un gran conjunto de aplicaciones contenedorizadas . Al automatizar las operaciones, la orquestación favorece un método ágil o DevOps que permite a los equipos desarrollar e implementar en ciclos rápidos e iterativos y lanzar nuevas funciones y capacidades más rápidamente.

Además, la inteligencia de una herramienta de orquestación puede mejorar o ampliar muchos de los beneficios inherentes de la contenerización. Por ejemplo, la selección automatizada de hosts y la asignación de recursos, basadas en la configuración declarativa , maximizan el uso eficiente de los recursos de cálculo; la monitorización automatizada de la salud y la reubicación de contenedores maximiza la disponibilidad.

Kubernetes

Como se ha indicado anteriormente, Kubernetes es la plataforma de orquestación de contenedores más popular. Junto con otras herramientas del ecosistema de contenedores, Kubernetes permite a una empresa ofrecer una plataforma como servicio (PaaS) altamente productiva. Hacer frente a muchas de las tareas y problemas relacionados con la infraestructura y las operaciones en torno al desarrollo de aplicaciones nativas de la nube para que los equipos de desarrollo puedan centrarse exclusivamente en la codificación y la innovación.

Las ventajas de Kubernetes sobre otras soluciones de orquestación son en gran medida el resultado de su funcionalidad más completa y sofisticada en varias áreas, que incluyen:

  • Implementación de contenedores. Kubernetes implementa un número específico de contenedores en un host específico y los mantiene ejecutándose en el estado deseado.

  • Despliegues de supresión. Un despliegue de supresión es un cambio en una implementación. Kubernetes le permite iniciar, pausar, reanudar o revertir despliegues de supresión.

  • Descubrimiento de servicios. Kubernetes puede exponer automáticamente un contenedor a internet o a otros contenedores utilizando un nombre DNS o una dirección IP.

  • Suministro de almacenamiento. Los desarrolladores pueden configurar Kubernetes para montar almacenamiento persistente local o en la nube para sus contenedores según sea necesario.

  • Equilibrio de carga y escalabilidad. Cuando el tráfico a un contenedor aumenta, Kubernetes puede utilizar el equilibrio de carga y el escalado para distribuirlo por la red y garantizar la estabilidad y el rendimiento. (También ahorra a los desarrolladores el trabajo de configurar un equilibrador de carga).

  • Autorreparación para una alta disponibilidad. Cuando falla un contenedor, Kubernetes puede reiniciarlo o reemplazarlo automáticamente. También puede retirar contenedores que no cumplan con los requisitos de comprobación de estado.

     
  • Soporte   portabilidad en varios proveedores de nube. Como se ha indicado anteriormente, Kubernetes disfruta de un amplio soporte en todos los proveedores líderes en la nube. Esto es especialmente importante para organizaciones que implementan aplicaciones en un entorno de nube híbrida o multinube híbrida.

  • Ecosistema creciente de herramientas de código abierto. Kubernetes también tiene un conjunto cada vez mayor de herramientas de usabilidad y redes para mejorar sus capacidades a través de la API de Kubernetes. Estas incluyen Knative, que permite a los contenedores ejecutarse como cargas de trabajo sin servidor, e Istio, una malla de servicio de código abierto. 

Más información sobre Kubernetes

Soluciones relacionadas
Red Hat OpenShift on IBM Cloud

Red Hat OpenShift on IBM Cloud aprovecha OpenShift en entornos públicos e híbridos para obtener velocidad, capacidad de respuesta al mercado, escalabilidad y fiabilidad.

Explore Red Hat OpenShift on IBM Cloud
IBM Cloud Satellite

Con IBM Cloud Satellite, puede crear servicios coherentes en la nube en cualquier lugar, en entornos locales, en el límite y en la nube pública.

Explore IBM Cloud Satellite
IBM Cloud Code Engine

Ejecute imágenes de contenedores, trabajos por lotes o código fuente como cargas de trabajo sin servidor (sin necesidad de dimensionar, implementar, establecer redes o escalar). 

Explore IBM Cloud Code Engine
Optimice Kubernetes con IBM Turbonomic

Determine automáticamente las asignaciones de recursos adecuadas y cuándo realizarlas, y garantice así que sus entornos Kubernetes y sus aplicaciones de misión crítica reciban exactamente lo que necesiten para cumplir sus objetivos de nivel de servicio.

Explore IBM Turbonomic
Recursos Contenedores en la empresa

Una nueva investigación de IBM documenta el creciente impulso de la adopción de contenedores y Kubernetes.

Combine las mejores funciones de la nube y la TI tradicional

La orquestación de contenedores es un componente clave de una estrategia de nube híbrida abierta que permite crear y gestionar cargas de trabajo desde cualquier lugar.

¿Qué es Docker?

Docker es una plataforma de código abierto para crear, implementar y administrar aplicaciones en contenedores.

Dé el siguiente paso

Red Hat OpenShift on IBM Cloud ofrece a los desarrolladores una forma rápida y segura de contenerizar e implementar cargas de trabajo empresariales en clústeres Kubernetes. Descargue las tareas tediosas y repetitivas que implican la gestión de la seguridad, la gestión de la conformidad, la gestión de la implementación y la gestión del ciclo de vida continuo. 

Explore Red Hat OpenShift on IBM Cloud Empiece gratis