Mejore su estrategia de aplicaciones con Kubernetes-as-a-Service
diciembre 1, 2020 / Anil Kumar Veeramalli
¿Tiene poco tiempo? Lea las conclusiones clave:
- Kubernetes, una plataforma de orquestación de contenedores de código abierto, automatiza el despliegue, la gestión y el escalado de aplicaciones.
- Ofrece muchas ventajas sobre las aplicaciones heredadas, incluida la portabilidad, la flexibilidad y el código abierto, microservicios y aplicaciones, mayor productividad, rentabilidad, fallo, tolerancia y capacidades multinube.
- Los principales componentes incluyen autoservicios automatizados, verdadero soporte multiteniente, gestión multinube integrada, gobernanza multinube, seguridad y cumplimiento multinube y su ciclo de vida de desarrollo de software
Muchas organizaciones han cambiado el desarrollo y la implementación de aplicaciones a contenedores basados en Kubernetes para reforzar aún más sus estrategias informáticas.
Como resultado, los contenedores son uno de los segmentos de más rápido crecimiento de la computación en la nube.
Quizás haya migrado aplicaciones heredadas o considerado el desarrollo nativo en la nube dentro de Kubernetes. Dependiendo del estado o estrategia de su aplicación, su adopción de Kubernetes y contenedores generalmente se dividirá en tres categorías:
- Un cambio de aplicaciones heredadas a Kubernetes
- Refactorización de aplicaciones heredadas como microservicios de Kubernetes
- Nuevos microservicios nativos en la nube creados a partir de scratch
Cada método de adopción de Kubernetes viene con su propio conjunto de desafíos y beneficios.
Una estrategia de elevación y desplazamiento para aplicaciones heredadas aprovecha las ventajas de los contenedores. Sin embargo, sus aplicaciones heredadas tienen demasiadas dependencias para moverlas rápidamente a contenedores en la nube. En este caso, refactorizar estas aplicaciones puede ser la mejor solución. Por último, las nuevas aplicaciones nativas en la nube pueden ser el mejor enfoque para iniciativas nuevas o como medio para distribuir múltiples procesos en muchos contenedores de microservicios.
Independientemente de su recorrido en Kubernetes, merece la pena considerarlo. Kubernetes tiene muchas ventajas sobre las aplicaciones heredadas.
Siete razones para adoptar Kubernetes
Las aplicaciones heredadas son propensas a las ineficiencias. Si aún no se ha trasladado a Kubernetes, es posible que desee evaluar su entorno de aplicaciones y ver si un traslado podría beneficiar a su organización. Estas son las siete razones principales para considerar Kubernetes:
Portátil: cree sus aplicaciones en una plataforma en la nube y llévelas fácilmente a cualquier otra. Esto le protege del bloqueo de proveedores en la nube. Si encuentra otra nube que sea más adecuada para su organización, no es necesario reconstruir sus aplicaciones antes de realizar el cambio.
Flexible -Utilice una variedad de idiomas y marcos. Sus proyectos de Kubernetes se pueden desglosar en una serie de microservicios conectados y, con API, conectarlos a otros procesos, como bases de datos y sistemas CRM. La escalabilidad independiente de los servicios le permite colocar los recursos donde y cuando se necesitan.
Código abierto: aproveche los miles de microservicios y aplicaciones de código abierto prefabricados y adáptelos a sus necesidades. En muchos casos, puede retirar todas las licencias de software de aplicaciones heredadas y eliminar la necesidad de costosas actualizaciones.
Mayor productividad: cree, integre e implemente sus aplicaciones más rápido con aplicaciones basadas en microservicios. Una vez implementados, los recursos pueden girar dinámicamente en tiempo real para adaptarse al aumento de la demanda. Y las aplicaciones y servicios de Kubernetes son más fáciles de mantener y desarrollar que los proyectos tradicionales de desarrollo en cascada, lo que permite mejoras continuas y no disruptivas.
Rentabilidad: benefíciese de un desarrollo más rápido, de la eficiencia de los recursos, de menos mantenimiento y de los ahorros derivados de la retirada de licencias de software, todo ello contribuyendo a un ahorro de costes superior en su entorno Kubernetes.
Tolerancia a fallos: tenga la seguridad de que un servicio puede fallar sin que se detenga toda la aplicación. Y cualquier servicio fallido se puede reiniciar en otro contenedor.
Capacidad multinube: disfrute de la flexibilidad de los recursos multinube. A medida que amplíe su estrategia en la nube, sin duda verá las muchas ventajas de desplegar estos recursos. Kubernetes le permite integrar recursos cruzados en la nube, alojar y extraer big data para el análisis, e integrar más fácilmente el IoT y muchas otras implementaciones cruzadas en la nube.
Pero no todas las empresas multinube son iguales. Kubernetes necesita más componentes multinube para admitir plenamente un Kubernetes-as-a-Service (KaaS) moderno.
Kubernetes como servicio: envases de esteroides
Hasta hace poco, las organizaciones carecían de herramientas para permitir la consolidación, una mejor automatización, innovación y una mayor gestión en entornos multinube. Las “piezas que faltan” para implementar KaaS de nivel empresarial son:
- Autoservicio fiable, automatizado y totalmente integrado
- Verdadero soporte multinube/multiusuario
- Gestión multinube
- Gobernanza, visibilidad e información multinube
- Seguridad y cumplimiento de Kubernetes
Kubernetes como servicio empresarial
Hay muchas capacidades en la nube, requisitos de infraestructura y herramientas necesarias para que pueda beneficiarse plenamente del KaaS empresarial. Esta es su lista de comprobación para turbocargar Kubernetes para su organización:
- Autoservicio
- Automatización
- Seguridad y cumplimiento
- Integración continua/entrega continua (CI/CD)
- Supervisando
- Catálogos de servicios
- Sin servidor
- Base de datos de gestión de configuración
- Gestión en la nube
- Estrategia de actualización
- Compatibilidad multinube
- Gobernanza
- Cumplimiento legal
Aquí tiene más información sobre los principales componentes y capacidades:
Autoservicio automatizado
Una característica que falta en muchas soluciones de Kubernetes es la capacidad de ofrecer autoservicio automatizado de aplicaciones y funciones. Con una solución verdaderamente automatizada, sus usuarios pueden elegir las aplicaciones y procesos adecuados, lo que les permite estar operativos a partir de un catálogo de servicios continuamente actualizado sin intervención.
Mientras tanto, a diferencia de las aplicaciones heredadas, las aplicaciones y los servicios se pueden actualizar y mejorar continuamente a lo largo del ciclo de vida de la aplicación, sin interrumpir los servicios. Los usuarios se expanden y solo utilizan lo necesario, y no hay restricciones de licencias ni recuentos de usuarios para que pueda mantener el control.
Con un portal de autoservicio, sus usuarios pueden iniciar sus recursos en la nube y gestionar, programar y operar los recursos de contenedores de su elección.
Cree planos utilizando plantillas nativas en la nube portátiles o tecnológicamente neutras (es decir, Azure ARM, Amazon Web Services (AWS) CFT, Google GDM, Terraform de terceros) que se pueden utilizar como catálogos de servicios. Los planos permiten a los arquitectos o diseñadores de la nube arrastrar y soltar los componentes en el lienzo para aprovisionar recursos y vincularlos con los procesos previos y posteriores al aprovisionamiento.
Verdadero soporte multiusuario
Multinube suele significar nube pública multitenencia. Con una verdadera compatibilidad multitenencia, su entorno KaaS mantendrá los datos de los usuarios, el tráfico y el acceso a las aplicaciones separados de todos los demás, tanto dentro de su organización como de todos los demás usuarios de la nube pública.
Gestión multinube integrada
Mantener el control de los contenedores y microservicios KaaS en una nube es la norma, pero en multinube, es esencial tener una capacidad de gestión que abarque todos los procesos y contenedores basados en la nube y sus interdependencias. Aún más útil es la capacidad de automatizar la gestión para una mayor eficiencia.
Desde KaaS, puede gestionar y simplificar clústeres de automatización Kubernetes de cuatro proveedores: Azure Kubernetes Service de Microsoft Azure, Amazon Elastic Kubernetes Service de AWS y Google Kubernetes Engine de Google Cloud.
Gobernanza multinube
Con KaaS extendido entre múltiples nubes o varios contenedores en una sola nube, debe asegurarse de que el desarrollo de aplicaciones, la implementación y los derechos de acceso, las cuentas y los permisos se puedan configurar y mantener fácilmente, independientemente del uso en múltiples nubes. La funcionalidad central le permite crear usuarios, cuentas de servicio, asociar el usuario al grupo y a los permisos, y asignar límites presupuestarios. Las cuotas se asignan a nivel de grupo. La aprobación financiera se puede habilitar y activar cuando el desarrollador solicita un clúster más grande y fuera del presupuesto, por lo que la solicitud necesita aprobación antes de la comisión.
Seguridad y cumplimiento multinube
Proteger una nube es una asociación entre usted y el proveedor de la nube. Al pasarse a la multinube, sus recursos de KaaS pueden estar distribuidos entre muchos proveedores. Tomar el control completo de la seguridad y el cumplimiento de estos recursos KaaS distribuidos requiere una única y consistente evaluación del cumplimiento y una solución de seguridad unificada y completa que elimine la complejidad.
Ciclo de vida del desarrollo de software Kubernetes-as-a-Service
Muchos entornos actuales de Kubernetes carecen de las herramientas para abordar adecuadamente el SDLC de aplicaciones de toda la empresa. Con KaaS, puede llevar sus microservicios a nuevos niveles de eficiencia, flexibilidad y seguridad. Además, el KaaS multinube está habilitado con autoservicios automatizados, verdadero soporte multiusuario y, lo que es más importante, gobernanza y gestión multinube.
En los entornos nativos previos a la nube, muchos pasos o procesos de SDLC eran completamente manuales, desde el diseño hasta la implementación y el análisis. Varias iteraciones requerían interacción y cambios en cada paso del proceso antes y después de su implementación. En los entornos Kubernetes nativos en la nube, la gestión del cambio y las pruebas se pueden integrar en cada paso del SDLC, “automatizando” así muchos pasos mediante el uso de la integración continua y el desarrollo continuo de CI/CD.
Es probable que todos los profesionales de DevOps estén familiarizados con CI/CD, pero su eficiencia y utilidad se vean afectadas en muchos entornos híbridos y multinube, especialmente si los sistemas se alojan en sistemas dispares. El autoservicio multiplataforma es difícil de lograr por sí solo. Sin embargo, las herramientas recientes como Morpheus, CloudBees y otras automatizan el proceso considerablemente, pero ¿integran y facilitan la seguridad, el cumplimiento y la gobernanza multinube como lo hacen?
Se requieren una integración similar y operaciones manuales para la integración de la gestión multinube, híbrida, multitenencia, multinube, gobernanza multinube, visibilidad e información. Y incluso con DevSecOps, su seguridad y cumplimiento pueden ser difíciles de automatizar, verificar e implementar en múltiples nubes.