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.
Conecte e integre sus sistemas para preparar su infraestructura para la IA.
Regístrese para obtener la guía sobre DaaS
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.
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:
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:
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.
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:
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.
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.
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).
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.
Una nueva investigación de IBM documenta el creciente impulso de la adopción de contenedores y Kubernetes.
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.
Docker es una plataforma de código abierto para crear, implementar y administrar aplicaciones en contenedores.