WhiteMist

Kubernetes

Orquestación de contenedores basada en Kubernetes

Los contenedores traen un nuevo modelo de nube, al empaquetar el sistema de archivos de la aplicación, implementarlo de una manera estandarizada y ejecutarlo dentro de la partición del kernel de un host. Los contenedores se implementan extremadamente rápido, se escalan con facilidad y brindan un servicio de alta disponibilidad, sin las limitaciones de las máquinas virtuales.

Los contenedores brindan enormes beneficios para los proveedores de aplicaciones que necesitan aprovechar un nuevo tipo de herramientas para ayudarlos a escalar la simplicidad.

Los contenedores son rápidos, portables y eficientes. Se implementan en segundos (desde un registro público o privado) y se ejecutan desde máquinas virtuales o servidores baremetal, en su nube pública o privada. Los microservicios que aprovechan los contenedores para cada «inquietud» (Principio de separación de responsabilidades), pueden requerir ejecutar miles de contenedores en un solo host y diez o cientos de miles de contenedores en un centro de datos. Aquí es donde entra la orquestación.

Containers Orchestration permite implementar Nubes basadas en contenedores (la evolución de las Nubes basadas en VM), con beneficios significativos:

  • Escalabilidad (a Escala Planetaria) sin complicaciones ni grandes equipos de soporte
  • Crecimiento flexible, las aplicaciones crecen constantemente (independientemente de la complejidad de la aplicación)
  • Portabilidad o Ejecutar en cualquier lugar, lo que le brinda la libertad de aprovechar la infraestructura de nube local, híbrida o pública.

Pero también:

  • Detección de servicios y equilibrio de carga. No es necesario modificar su aplicación para usar un mecanismo de descubrimiento de servicios desconocidos. Kubernetes otorga a los contenedores sus propias direcciones IP y un solo nombre de DNS para un conjunto de contenedores, y puede equilibrar la carga entre ellos.
  • Empaquetado automático en contenedores. Asigne contenedores automáticamente en función de sus requisitos de recursos y otras limitaciones, sin sacrificar la disponibilidad. Combine cargas de trabajo críticas y de mejor esfuerzo para aumentar la utilización y ahorrar aún más recursos.
  • Orquestación de almacenamiento: monte automáticamente el sistema de almacenamiento de su elección, ya sea desde un almacenamiento local, un proveedor de nube pública como GCP o AWS, o un sistema de almacenamiento en red como NFS, iSCSI, Gluster, Ceph, Cinder o Flocker.
  • Recuperación automática, reinicie automáticamente los contenedores que fallan, reemplace y reprograme los contenedores cuando los nodos mueren, elimine los contenedores que no respondan a las comprobaciones de estado definidas por el usuario y no los publique en los clientes hasta que estén listos para servir.
  • Implementaciones y reversiones automatizadas, Kubernetes implementa progresivamente cambios en su aplicación o su configuración, mientras monitorea el estado de la aplicación para asegurarse de que no elimine todas sus instancias al mismo tiempo. Si algo sale mal, Kubernetes revertirá el cambio por usted. Aproveche un creciente ecosistema de soluciones de implementación.
  • Gestión de configuración y secretos, implemente y actualice «secretos» y configuración de aplicaciones sin reconstruir su imagen y sin exponer secretos en la configuración de su pila.
  • Escalado horizontal, escale su aplicación hacia arriba y hacia abajo con un comando simple, con una interfaz de usuario o automáticamente según el uso de la CPU.

Las empresas de telecomunicaciones también se están beneficiando de este nuevo paradigma, ya que muchas de las funciones de red virtualizadas más nuevas están pasando del modelo de VM al modelo de contenedores, debido a su sobrecarga reducida y mayor eficiencia (un requisito básico para las empresas de telecomunicaciones que necesitan mover grandes cantidades de tráfico). a través de sus aplicaciones en la nube).

Adopción de Contenedores

Los contenedores se están adoptando rápidamente, debido a su sobrecarga reducida, mayor portabilidad, operación consistente y mejor desarrollo de aplicaciones, que al final brindan una mayor eficiencia.

Casi una cuarta parte de las empresas han adoptado Docker

Para obtener más información, eche un vistazo al excelente informe de registro de datos sobre la adopción de Docker.

En su informe, Datalog afirma que «la mitad de los entornos de Docker están orquestados», lo que confirma la necesidad de orquestarlos para maximizar la eficiencia y la escalabilidad.

La mitad de los entornos de Docker están orquestados

Kubernetes de Google

Kubernetes (comúnmente abreviado como k8s) es un sistema de orquestación de contenedores de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones. Originalmente fue diseñado por Google y ahora es mantenido por Cloud Native Computing Foundation.

Kubernetes fue creado por Joe Beda, Brendan Burns y Craig McLuckie, a quienes rápidamente se unieron otros ingenieros de Google, incluidos Brian Grant y Tim Hockin, y Google lo anunció por primera vez a mediados de 2014. Su desarrollo y diseño están fuertemente influenciados por el sistema Borg de Google, y muchos de los principales colaboradores del proyecto trabajaron anteriormente en Borg.

Arquitectura de servicios de Google basada en Borg

Su objetivo es proporcionar una «plataforma para automatizar la implementación, el escalado y las operaciones de contenedores de aplicaciones en grupos de hosts». Funciona con una variedad de herramientas de contenedores, incluido Docker.

Servicios escalables, con Kubernetes

La unidad de programación básica en Kubernetes es un pod. Agrega un mayor nivel de abstracción al agrupar componentes en contenedores. Un pod consta de uno o más contenedores que se garantiza que se ubicarán en la misma máquina host y pueden compartir recursos.

Un servicio de Kubernetes es un conjunto de pods que funcionan juntos, como un nivel de una aplicación de varios niveles.

El descubrimiento de servicios asigna una dirección IP y un nombre DNS estables al servicio, y equilibra la carga del tráfico de forma rotatoria a las conexiones de red de esa dirección IP entre los pods que coinciden con el selector (incluso cuando las fallas hacen que los pods se trasladen de una máquina a otra De manera predeterminada, un servicio se expone dentro de un clúster (por ejemplo los pods de back-end se pueden agrupar en un servicio, con solicitudes de los pods de front-end con carga equilibrada entre ellos), pero un servicio también se puede exponer fuera de un clúster (por ejemplo, para clientes para llegar a los pods front-end).

Vista simplificada que muestra cómo interactúan los servicios con las redes de pod en un clúster de Kubernetes

Nuestro WhiteMist

WhiteMist es la distribución de Kubernetes propia de Whitestack, orientada a acelerar la adopción de contenedores en:

  • Proveedores de la nube, que necesitan maximizar su eficiencia energética/espacial y, al mismo tiempo, ofrecer a sus clientes lo que necesitan ahora. 

  • Los proveedores de comercio electrónico, que han estado luchando para hacer coincidir la demanda con la tecnología heredada, y ahora necesitan urgentemente una solución definitiva. 

  • Grandes Organizaciones, que debido a sus procesos de Transformación Digital, necesitan confiar en Contenedores (en lugar de VMs). 

  • Operadores de telecomunicaciones, que necesitan abordar los desafíos de 5G con eficiencias mejoradas, para soportar todo el tráfico masivo.

Con «el 40 % de los encuestados de empresas (más de 5000) están ejecutando Kubernetes en producción» (según la Encuesta CNCF), está bastante claro que la mayor parte del crecimiento de la infraestructura en la nube estará en contenedores y orquestado por Kubernetes.

WhiteMist sigue el mismo patrón de diseño que otros productos de Whitestack: «Diseño para la simplicidad, diseño para acelerar la adopción». Su proceso de instalación es muy simple, al punto que otros productos que necesitan Kubernetes pueden incluir WhiteMist en sus productos para implementar Kubernetes en campos verdes.

La contenerización permite que nuestros equipos de desarrollo se muevan rápido, implementen software de manera eficiente y operen a una escala sin precedentes. WhiteMist lo ayuda a organizar su ciclo de vida, para que pueda escalar de una manera fácil.

¿Quieres impulsar tu negocio?

¡Escríbenos y estemos en contacto!​

All Rights Reserved © Whitestack 2022