Kubernetes es la solución para poner orden en los contenedores Dockers
Tal vez seguimos pensando que Docker es una marca de pantalones americanos que no hace falta planchar, pero en el mundo de las tecnologías de la información, es una de las tendencias más potentes, y un paso más allá del concepto de virtualización de máquinas (MV).
Con la virtualización podíamos disponer de todo un sistema operativo huésped a nuestra disposición dentro de uno anfitrión que albergaba a muchos otros, de manera que podíamos aprovechar y encapsular mucho más los recursos.
Con los contenedores como Docker la virtualización y separación está más cerca de la capa de Aplicación que del Sistema Operativo, utilizando lo mínimo posible de este, y por tanto encapsulando todavía más y ocupando mucho menos espacio que en el caso de las máquinas virtuales completas. Esta tecnología por eso se ha hecho muy popular, principalmente en el mundo Linux, pero también en el Windows, al ser una tendencia tecnológica tan fuerte.
Todos podemos montarnos un Docker en nuestros equipos, pero para un despliegue empresarial, el número de estos elementos y la coordinación entre ellos es un problema, de manera similar o todavía más que la gestión de máquinas virtuales lo es, y por tanto existen herramientas que facilitan la labor.
Y entonces llegó Kubernetes…
En este sentido, ha habido varias aproximaciones para poner orden en estos contendores, y Kubernetes (del griego timonel o piloto), o K8s como se dice comúnmente en inglés, ha sido la que finalmente se ha llevado el gato al agua.
Kubernetes, es un sistema open source que empezó a desarrollar Google, y que sirve para la gestión de los contenedores con Dockers (y otros). Bueno realmente lo que se gestiona es las aplicaciones que tienen estos contenedores porque solos si no sólo no sirven de mucho.
Kubernetes se centra en la automatización de despliegues y es escalable.
Uno de los principales usos es para facilitar la gestión de la configuración de las aplicaciones, para tener aislados todos los componentes necesarios, y así verse lo menos afectados posible ante cambios de componentes externos.
Bueno, pero ahora hay que montarlo. Montar esta infraestructura en nuestro datacenter, o en un proveedor cloud a partir de máquinas virtuales no suele ser una tarea rápida la primera vez, y exige un mantenimiento posterior para que todo el sistema funcione adecuadamente.
Conscientes de ello y debido a su popularidad, los principales proveedores de nube disponen de su propio servicio administrado (PAAS):
- Amazon Elastic Container Service for Kubernetes (EKS), el servicio administrado de Kubernetes escalable, seguro y con alta disponibilidad.
- Y Azure también tiene su propio servicio Azure Kubernetes Service (AKS).
Cloud Orchestration at the Level of Application (COLA)
Respecto a los Orquestadores en general, son una tecnología valiosa para poder lanzar aplicaciones o trabajos “multinodo” o distribuidos, que luego se recopilan para obtener los resultados.
En ese sentido, en Inycom trabajamos con las soluciones antes mencionadas, pero también colaboramos en el desarrollo de nuevas soluciones de orquestación de contenedores que además de ser opensource son independientes del proveedor cloud y más flexibles. En concreto contribuimos al desarrollo del framework MiCADO, nacido de nuestra participación en el proyecto europeo Cloud Orchestration at the Level of Application (COLA) del programa Horizonte2020 financiado por la Comisión Europea.
MiCADO ofrece una solución integral para el escalado automático de contenedores y máquinas virtuales en base a reglas de negocio de complejas (tiempo límite para terminar una tarea, presupuesto, ubicación del CPD) además de las típicas reglas basadas en consumo de RAM y CPU. MiCADO también facilita herramientas de monitorización basadas en Prometheus y Graphana.
En otro artículo seguro que profundizamos más en estas tecnologías, esto es solo el aperitivo.
¿Te interesa este tema?
Descubre más sobre Dockers Containers |
Social Links: