Saltar al contenido

Nube nativa local: ¿por qué es esta la mejor manera de comenzar?

Capgemini
2020-03-25

Si la empresa con sede en Seattle ha estado haciendo un gran trabajo convenciéndonos de que “Cloud Native es AWS”, otros, incluida la Cloud Native Computing Foundation, han trabajado para extender esto a una definición general: “Las tecnologías nativas de Cloud empoderan a las organizaciones para construir y ejecutar escalables aplicaciones en entornos modernos y dinámicos, como nubes públicas, privadas e híbridas”. De esta definición aprendemos que la nube nativa no puede limitarse como una tecnología AWS o una nube pública. Además, el CNCF enumera algunos componentes tecnológicos que están relacionados con la nube nativa: “Contenedores, mallas de servicio, microservicios, infraestructura inmutable y API declarativas ejemplifican este enfoque”. Estos componentes técnicos nos permiten construir aplicaciones de una nueva manera, donde los sistemas son resistente, manejable, observable y escalable. Cuando hablamos de función como servicio, sin servidor, base de datos como servicio o cualquier otra tecnología nativa de la nube, de hecho, estamos hablando de muchas cosas que están ocultas detrás del catálogo de servicios de tu proveedor.

Nube nativa: un punto de vista de DevOps

Para lograr este objetivo, primero confía en la tecnología de contenedores, que te brinda pequeños componentes resistentes que puedes administrar y observar fácilmente. Esta tecnología de contenedor podría ser de AWS, Cloud Foundry, Windows o Linux. En el mundo Linux, Docker ha sido particularmente exitoso porque es nativamente neutral en la plataforma en la nube. ¿Puedes ejecutar tecnologías nativas de la nube con Docker? En realidad, sí, pero ante la complejidad tecnológica necesitas una plataforma totalmente automatizada.

Los contenedores necesitan un conjunto de tecnologías diferentes para funcionar. Primero, necesitas una Infraestructura como servicio (IaaS) para consumir CPU, RAM y almacenamiento a pedido, todo lo cual debe ser accesible a través de API o integración nativa. Después de haber seleccionado el mejor proveedor de IaaS, aún debes automatizar para ejecutar tu entorno diferente y construir los enlaces en él. En el mundo de DevOps, esta automatización del entorno se denomina entrega continua. Usando herramientas de código abierto o las proporcionadas por tu proveedor de IaaS, ahora puedes construir una tubería de entrega desde el desarrollo hasta la producción.

La historia podría terminar aquí, pero esto no es suficiente. Debido a la complejidad de las aplicaciones nativas de la nube, debes ejecutar varios contenedores para una aplicación final. Esto no se puede hacer fácilmente cuando tienes 1,000 contenedores. Por eso necesitas una plataforma de orquestación de contenedores.

AWS, Azure o Google pueden proporcionar esta plataforma o puedes elegir traer la tuya. Se han creado proyectos de código abierto para este propósito, por ejemplo, los conocidos Kubernetes o Cloud Foundry. Kubernetes, que fue creado por Google, está liderando el camino, incluso si algunas compañías aún usan Cloud Foundry, Mesos, etc. Sin entrar en demasiados detalles, Cloud Foundry es una plataforma como servicio lista, mientras que Kubernetes todavía necesita algunas mejoras. Aquí es cuando DevOps vuelve a destacar con lo que se llama integración continua: básicamente, un conjunto de herramientas para ejecutar tu código a lo largo del ciclo de vida del desarrollo de software. Algunas de estas tecnologías son famosas, por ejemplo, Git con GitLab y GitHub, revisión de código con SonarQube, repositorio con Artifactory.

Para resumir, en el mundo de DevOps, cuando las personas hablan de tecnologías nativas de la nube, se refieren a una aplicación donde cada función se ejecuta en un contenedor y estos contenedores siguen una tubería de DevOps para pasar a la producción.

Figura 1: nativo de la nube: un punto de vista de DevOps

Nube nativa en las instalaciones: el primer paso hacia una nube pública

Ahora comprendes cómo, en teoría, podrías reproducir esta configuración nativa de la nube en tu propia infraestructura. También entiendes que esto va a tomar un poco de esfuerzo. Afortunadamente, algunos productos ya están en el mercado para apoyarte en este viaje. OpenShift es el que más me gusta. En una publicación futura, te daré algunas razones por las que me gusta tanto.

En conclusión, comenzar un proyecto nativo en la nube en las instalaciones tiene muchas ventajas:

Usando tu infraestructura actual: mitigas tu riesgo

El mayor desafío para pasar a la nube pública es extender tu red actual y tu política de seguridad fuera de la empresa. Comenzar en las instalaciones te permite usar tu infraestructura actual y simplemente extenderte de forma nativa con una plataforma de orquestación de contenedores.

Prueba y aprende

La curva de aprendizaje es particularmente importante cuando comienzas. Incluso si instintivamente crees que comenzar en una plataforma nativa de la nube es más rápido, este no es siempre el caso. La política interna, la configuración de red, el modelo de operación, realmente podrían ralentizar tu proyecto.

Administrando tus gastos

Muchas organizaciones importantes retroceden en la adopción de la nube pública porque subestiman el gasto total de propiedad y el cumplimiento de la plataforma en la nube. En las instalaciones te permite administrar  gastos de manera rentable y preparar a tu organización para pasar a la nube pública paso a paso.

Estrategia de nube híbrida

En conclusión, comenzar en las instalaciones está abriendo el camino para pasar a la nube pública pronto. Mientras tanto, tus equipos de desarrollo aprenderán de su plataforma interna y tus equipos de infraestructura harán lo mismo con la disponibilidad de la nube pública. Una vez que estés listo, la explosión de lo privado a lo público realmente será solo un detalle, especialmente si eliges la plataforma de orquestación correcta desde el principio.

En Capgemini, con nuestro socio Red Hat, estamos acostumbrados a apoyar a nuestros clientes en su viaje nativo de la nube, desde el desarrollo de aplicaciones hasta la configuración de infraestructura a través de DevOps.

Aprende cómo puedes comenzar tu viaje hacia una primera forma de trabajar en la nube con Cloud Native con tecnología de Red Hat.

Estaremos encantados de contribuir a tu éxito. Escríbenos a connect.mx@capgemini.com para conocer más sobre este tema.