Conociendo la Cloud Native

El término de cloud native (en español, nativo en la nube) se refiere a un modelo de desarrollo de software que establece que las aplicaciones se diseñan para ejecutarse en la nube, estas son llamadas NCA (del inglés native cloud application), capaces de aprovechar al máximo todos los puntos fuertes de la arquitectura de la computación en la nube. Es un tipo de patrón de arquitectura en la cual las aplicaciones o procesos ejecutados se basan en cuatro pilares que se entrecruzan y dependen unos de otros

  • Microservicios. Cada microservicio cumple exactamente una función y se combina con todos los elementos necesarios para ejecutarse correctamente en un contenedor  Los microservicios, por otro lado, tratan la función de cada aplicación como su propio servicio, dentro de su propio contenedor y las conectan mediante API. Esto ofrece mucha más flexibilidad y escalabilidad, y se puede hacer cambios en un área sin afectar a otra. Como consecuencia, puede desarrollar e implementar nuevas funciones de forma rápida, fácil y con un riesgo mínimo.
  • Contenedores  un contenedor guarda una aplicación y todo lo que esta necesita,  para que pueda ejecutarse en cualquier plataforma de cómputo en la nube. Los contenedores son una especie de sistema operativo (SO) pequeño que contiene lo mínimo indispensable para correr una aplicación, en la que el código viene empacado junto con sus librerías y dependencias, Esto les permite a los programadores crear un código según el principio de «desarrollar una vez, ejecutar en cualquier lugar», lo que hace a la aplicación ultra portátil. Esta flexibilidad significa que puede hacer cambios de alto impacto con frecuencia y de manera predecible con un esfuerzo mínimo.
  • Procesos de DevOps y A la hora de diseñar una arquitectura nativa en la nube que funcione correctamente, no solo están directamente involucrados los equipos de desarrollo (Dev, de development), sino también los de operaciones (Ops, de operations). ). Las buenas aplicaciones cloud native se crean en estrecha colaboración entre todas las partes implicadas. Como parte de una cultura ágil de DevOps, se busca la mejor solución para el usuario final desde el principio: manteniendo una comunicación constante con el cliente, el equipo de desarrollo va añadiendo ciertas características a un microservicio.
  • Continuous integration/continuous delivery (CICDEs) la habilidad que permite desplegar cualquier tipo de cambio desde una nueva configuración, solución de bugs entre otros, al entregar software a nuestros clientes de una manera segura y rápida. Continuos Delivery permite que los equipos de desarrollo automaticen el proceso de despliegue para mejorar el tiempo de testing, costos asociados a la forma de desarrollo tradicional, escalabilidad y des

Los lenguajes de programación más utilizados en la cloud native son: Java, ASP:NET, PHP, Python y Ruby. Hay más de 30 IDEs para la cloud native. Nombramos algunas de ellas: Codeanywhere, goormIDE, Koding, SourceLair, Browxy.

Los equipos de DevOps son imprescindibles para ejecutar el despliegue continuo de una aplicación cloud native para que sea realizado con una calidad óptima. Los desarrolladores deberán trabajar con metodologías ágiles, como Scrum, programación extrema (XP) o Kanban, las tres más utilizadas. Para la creación y gestión de proyectos de aplicaciones, se utiliza una metodología de desarrollo  llamado “Twelve-Factor App

Entre los frameworks utilizados en la cloud native, se encuentran GWT (Google Web Toolkit), Spring boot, Dropwizard,Vert.x, Micronaut, Eclipse MicroProfile, Quarkus.

Existe la Cloud Native Computing Foundation (CNCF), es una base de software de código abierto cuyo propósito es crear ecosistemas sostenibles y fomentar comunidades para apoyar el crecimiento, la salud del software y la adopción de la computación nativa de la nube. Al momento de publicar este artículo, tiene 150 proyectos terminados y en ejecución, 840 organizaciones miembro y una comunidad de más de 51,000 personas entre usuarios finales, desarrolladores y vendedores. Si te interesa conocer más sobre la Cloud Native, visita el sitio https://www.cncf.io/

Deja un comentario