¿Qué es CaaS? Gestión de contenedores más sencilla

A medida que las aplicaciones modernas en contenedores continúan siendo populares entre las organizaciones, era solo cuestión de tiempo antes de que los principales proveedores comenzaran a ofrecer infraestructura y administración de contenedores "como servicio".

El uso de contenedores está en aumento con las empresas a nivel mundial, con el 65 por ciento de las organizaciones que afirman que usan contenedores Docker y el 58 por ciento que usa el sistema de orquestación de Kubernetes de alguna manera, según el último informe 2020 State of Cloud de Flexera.

La falta de recursos y experiencia se cita con frecuencia como los principales desafíos en el uso de contenedores para crear y mantener aplicaciones. Por lo tanto, no debería sorprender que los desarrolladores estén recurriendo cada vez más a la automatización proporcionada por las ofertas de contenedores como servicio (CaaS), con los tres principales proveedores de nube a la cabeza.

Contenedores como servicio, o CaaS, definido

Con CaaS, los proveedores de la nube proporcionan esencialmente un motor de orquestación de contenedores alojado, generalmente basado en el popular proyecto de código abierto Kubernetes, que se originó en Google, para implementar y ejecutar contenedores, administrar clústeres, automatizar el escalado y la administración de fallas, y mantener la infraestructura común. capa, con gobernanza y seguridad incluidas.

En general, todas las funciones de red, balanceo de carga, monitoreo, registro, autenticación, seguridad, autoescalado e integración continua / entrega continua (CI / CD) están a cargo de la plataforma CaaS.

Esto permite a las organizaciones aprovechar los beneficios de la infraestructura en la nube y, al mismo tiempo, ayudar a evitar el bloqueo de un proveedor que vendría con su plataforma como servicio (PaaS) típica, como AWS Elastic Beanstalk, Azure App Service, o Google App Engine, ya que los propios contenedores permiten una portabilidad simple en varios entornos. 

Si los contenedores son lo que desea, entonces la diferencia entre CaaS y la ejecución en una infraestructura como servicio clásica (IaaS) se reduce a si su organización tiene los recursos y las habilidades para implementar y administrar Kubernetes (u otra orquestación de contenedores layer) en sí mismo, o se beneficiaría si se lo dejara a un proveedor de nube. La decisión también puede depender de si su entorno de contenedores debe abarcar varias nubes y / o entornos locales. Varios proveedores ofrecen plataformas CaaS que se pueden implementar en las instalaciones o en la nube (ver más abajo). 

"Puede administrar las cosas a nivel de infraestructura y configurar el orquestador usted mismo, o puede usar una plataforma de contenedores que maneje la infraestructura subyacente y proporcione un orquestador preinstalado listo para implementar y escalar sus contenedores", escribió el ex Deutsche Bank y El desarrollador de la BBC Rob Isenberg en su libro, Docker for Rails Developers, publicado por O'Reilly.

Los beneficios

Ejecutar sus contenedores en CaaS es similar a ejecutar sus máquinas virtuales en IaaS: los principales beneficios son la velocidad de implementación y la facilidad de uso, así como la simplicidad del modelo de nube de pago por uso y la libertad mencionada anteriormente del bloqueo de proveedores. -en.

Al dejar su infraestructura de contenedores a un proveedor de la nube, puede comenzar a trabajar sin invertir en su propio hardware y sin crear y ejecutar sus propios clústeres de Kubernetes (u otro sistema de orquestación de contenedores). Además, al contener las aplicaciones, puede migrar más fácilmente las aplicaciones a diferentes entornos o ecosistemas de proveedores, lo que brinda una mayor flexibilidad y opciones de escalabilidad.

Todo esto también tiene esas importantes oportunidades de rentabilidad, ya que los contenedores están mejor equipados para escalar horizontalmente según lo dicta la demanda, lo que permite a las organizaciones pagar solo por los recursos de la nube que utilizan. Los contenedores son mucho más livianos que las VM, lo que significa que consumen menos recursos, lo que a menudo conduce a ganancias en velocidad y reducción de costos.

Otro beneficio viene con la coherencia de la instrumentación y el registro, ya que aislar los servicios individuales en contenedores puede permitir una agregación de registros más eficaz y una supervisión centralizada a través del popular modelo de implementación de sidecar.

La migración de aplicaciones tradicionales a contenedores sigue siendo una barrera importante para la adopción, incluso cuando se ejecuta en CaaS, como lo citó el 34 por ciento de los encuestados en el informe State of Cloud de Flexera. La migración a contenedores a menudo implica dividir las aplicaciones monolíticas en microservicios, lo que para las organizaciones más grandes y más antiguas puede ser un cambio cultural y técnico importante que no debe tomarse a la ligera.

[También en: ¿Qué es Docker? La chispa de la revolución de los contenedores]

Opciones de proveedores líderes

La mayoría de los principales proveedores de la nube tienen ofertas de CaaS, y hay varios otros proveedores que buscan participar en la acción.

El líder del mercado de servicios en la nube, Amazon Web Services (AWS), ha visto una fuerte adopción de su Elastic Container Service (ECS) sin Kubernetes y Elastic Kubernetes Service (EKS). De manera similar, la adopción del servicio Azure Kubernetes ha aumentado significativamente según el análisis de Flexera, al igual que Google Kubernetes Engine (GKE).

Los tres gigantes de la nube también ofrecen ahora servicios de Kubernetes sin servidor , con AWS ECS en Fargate, Google Cloud Run en GKE y Azure Container Instances. A diferencia de EKS, AKS y GKE, estos servicios eliminan la necesidad de realizar tareas de administración del servidor y son ideales para casos de uso de consumo bajo demanda.

Gran parte de las capacidades de administración de contenedores de Google Cloud ahora se encuentran bajo el paraguas de Anthos, que permite la administración de aplicaciones basadas en contenedores en la infraestructura local y las principales nubes públicas (Google Cloud Platform y AWS ahora, con el soporte de Azure en camino). Anthos combina GKE para cargas de trabajo en la nube, GKE On-Prem y la consola Anthos Config Management, lo que permite una administración, políticas y seguridad centralizadas en implementaciones de Kubernetes híbridas y multinube.

Aparte de los "tres grandes" proveedores de la nube, los proveedores como IBM / Red Hat, VMware, SUSE / Rancher, Canonical, D2iQ (anteriormente Mesosphere), Rackspace, Oracle, HPE, Alibaba, Huawei y Tencent tienen todos un sabor de gestión administrada. Opción CaaS. Varias de estas ofertas se pueden implementar localmente, en nubes públicas o en ambas. 

¿Qué plataforma es la mejor?

La casa de analistas de la industria Gartner no tiene un cuadrante mágico para los proveedores de CaaS, pero en su último informe Competitive Landscape: Public Cloud Container Services de Wataru Katsurashima, identifica a GKE de Google como la opción líder de Kubernetes administrada.

Los analistas de Forrester colocaron a AWS en el primer lugar de su más reciente New Wave para plataformas de contenedores empresariales de nube pública, en el tercer trimestre de 2019, con Microsoft y Google detrás. Sin embargo, cabe señalar que el informe de Forrester solo contaba con siete proveedores y se centra estrictamente en las implementaciones de nube pública.

AWS "lidera el paquete con opciones de implementación, seguridad e integraciones profundas", según los autores de Forrester, Dave Bartoletti y Charlie Dai. "Con una amplia gama de opciones de consumo de Kubernetes (K8s) totalmente administradas (y sin servidor) y la mayoría de los contenedores implementados directamente en su infraestructura en la nube, AWS continúa innovando e integrando profundamente su plataforma de contenedores con sus principales características de seguridad y redes".

El informe de Forrester instó tanto a Microsoft como a Google a simplificar sus plataformas de contenedores. Microsoft fue elogiado por su experiencia de desarrollador más sólida y su alcance global, pero fue criticado por su complejidad, que era un estribillo común en el informe. Google ganó elogios por su profunda experiencia en Kubernetes y sus esfuerzos para atravesar entornos multinube, pero también fue criticado por su complejidad. 

Dicho esto, AWS EKS sigue siendo la plataforma de gestión de contenedores más utilizada, según la Encuesta CNCF 2019, con GKE, Docker EE / CE y AKS detrás.

El Informe del estado de la nube 2020 de Flexera establece un 55% de uso empresarial de AWS EKS / ECS, y otro 23% de los encuestados empresariales planean utilizar estas opciones de CaaS en el futuro. La adopción del servicio Azure Kubernetes alcanzó el 50 por ciento, y otro 26 por ciento planea usar AKS en el futuro. Y Google Kubernetes Engine alcanzó el 26 por ciento, y el 27 por ciento de los encuestados empresariales planearon usar GKS. Sin embargo, Kubernetes autogestionado aún supera todas las opciones en el 63 por ciento de los encuestados empresariales, según el informe de Flexera.

Otros recursos

Las principales fuentes de información sobre CaaS son los propios proveedores, lo que dificulta tomar una decisión informada e imparcial. Como se detalló anteriormente, tanto Forrester como Gartner se han sumergido profundamente en el panorama, pero su objetivo generalmente se centra en qué proveedores se destacan, en lugar de cómo ponerse al día con CaaS en producción.

Tampoco hay muchos libros sobre el tema todavía, pero el Manual del arquitecto de software de O'Reilly ofrece una buena descripción general.

Por último, Docker ha estado en el centro de la gestión de contenedores y contenedores durante años, y la compañía tiene un buen contenido de video sobre el tema, incluida esta sesión con el miembro del personal técnico, Patrick Chanezon, y esta descripción general de Sandor Klein, vicepresidente para Europa , Medio Oriente y África.