
El desarrollo de aplicaciones nativas en la nube es más que un set de herramientas, es una arquitectura por completo, un punto de vista para construir aplicaciones que aprovechan al máximo el uso de herramientas en la nube. Es complejo, tanto conceptualmente como prácticamente.
Veremos en este artículo los principales componentes de un sistema nativo en la nube. Entender estos conceptos te ayudará a ver que el valor de la nube reside en controlar los servicios disponibles para todo tipo de empresas, no solo para los gigantes de tecnología.
Cloud Native no es “La nube”
Aunque los términos son usualmente confundidos, cloud computing y cloud native son dos elementos diferentes. Cloud Computing, usualmente reconocido solo como cloud o la nube (computación en la nube) es la entrega en demanda (on-demand) de infraestructura (hardware/servidores), almacenamiento, bases de datos y todo tipo de servicios por internet. Estos son provistos por plataformas de servicios en la nube como Amazon Web Services, por ejemplo, en las que pagas por los recursos que consumes.
Las aplicaciones nativas en la nube son arquitecturas que ensamblan todo lo mencionado anteriormente (elementos de la nube) en una forma que sea optimizada para el ambiente en la nube. No se trata de los servidores, pero sí de los servicios. El desarrollo de aplicaciones nativas en la nube es también una meta organizacional: un objetivo que modernice la infraestructura y procesos de una organización, así como su cultura, eligiendo tecnologías en la nube que satisfagan correctamente las necesidades de cada caso en específico.
¿Cuál es una definición más clara de aplicaciones nativas en la nube?
La computación en la nube usa stacks de software abierto para desplegar aplicaciones como microservicios, empacándolos en sus propios contenedores y dinámicamente orquestrar estos contenedores para optimizar el uso de recursos. Esta definición la brinda la CNCF, Cloud Native Computing Foundation, la entidad que supervisa y coordina la aparición de tecnologías de código abierto, pero también herramientas nativas en la nube que son ofrecidas por proveedores oficiales.
Esencialmente, las aplicaciones nativas en la nube se asocian a un punto de vista para diseñar, construir y correr aplicaciones de computadora. Estas arquitecturas restan como Infraestructuras como servicio (Infraestructure-as-a-Service, o IaaS), combinada con nuevas herramientas operacionales y servicios como integración continua, motores de containers y orquestadores. El objetivo es, usualmente, mejorar la velocidad en la que funcionan estos servicios. Empresas de todo tamaño ahora ven estas herramientas como una oportunidad para actuar rápido y llegar más rápido al mercado, poniendo ideas en producción en días o horas en vez de meses.
¿Cómo reconocer a una aplicación nativa en la nube?
Los fundamentos de la nube son descritos usualmente como contenedores, administración dinámica y arquitectura distribuida modularmente. Sin embargo, se considera nativo en la nube a aplicaciones con 5 principios de arquitectura y 2 principios culturales:
Los dos principios culturales son:
Para finalizar, las aplicaciones nativas en la nube tratan de cómo creamos y brindamos servicios, no de dónde. Cuando veas una aplicación construída y desarrollada en iteraciones rápidas por un grupo de personas independientes que contribuyen de manera colaborativa mientras monitorean y prueban de manera automatizada, es cuando se trata de una aplicación nativa en la nube.
Adaptado de: https://www.oreilly.com/library/view/cloud-native-transformation/9781492048893/ch01.html
¿Te gustó este artículo?
Podemos contactarnos pronto y de manera muy directa a través de las siguientes opciones: