BLOG

Las aplicaciones nativas de la nube no requieren una nube.

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 26 de agosto de 2019

La ironía es deliciosa con la palabra de moda del día: nativo de la nube.

Lo primero que hay que tener en cuenta es que la nube nativa, a pesar de su nombre, no requiere la nube. ¿Yo se, verdad? El nombre proviene del enfoque arquitectónico de construir una aplicação que se basa en la infraestructura y está diseñada en torno a los conceptos de la nube: elasticidad, economía de escala y computación distribuida. Es indiscutiblemente la computación en la nube la que ha impulsado estos conceptos en todos los aspectos de la distribución de aplicação : desde la arquitectura de las aplicaciones hasta la automatización, desde la integración basada en API hasta la infraestructura. La computación en la nube ha cambiado la forma en que desarrollamos, construimos e implementamos aplicações. Las aplicaciones que nacieron en la nube pública asumieron naturalmente muchas de las mismas dependencias y características. Por tanto, el nombre representa con precisión la etimología del estilo arquitectónico.

También existe, indiscutiblemente, un vínculo entre la nube nativa y los contenedores. Eso en sí mismo lo hace diferente de las aplicaciones nacidas en la nube que dependen principalmente de máquinas virtuales y servicios nativos de la nube para lograr objetivos similares. La nube nativa y los contenedores están estrechamente acoplados porque los orquestadores de contenedores asociados (Kubernetes) son el medio más fácil y frecuente de acoplar aplicações con la infraestructura necesaria para brindar elasticidad y, a través de ella, la economía de escala deseada.

nativo de la nube en una diapositiva

En una aplicação nativa de la nube, los componentes se atomizan para favorecer la economía de escala. De ahí la razón por la que la nube nativa y los contenedores son casi sinónimos. Debes poder escalar únicamente las funciones que están en demanda, según demanda. Este tipo de partición elástica y funcional de aplicações se ha logrado tradicionalmente a través de arquitecturas que se basan en el enrutamiento de capa 7 (HTTP) y la nube nativa no es una excepción. Los mismos principios se aplican a estas aplicações modernas y generalmente utilizan un controlador de ingreso (un servicio de aplicação de infraestructura) que administra la distribución de solicitudes entrantes a la instancia basada en contenedor adecuada de un componente de aplicação .

Esta partición a menudo se lleva a cabo en el nivel de API, donde los URI coinciden con las llamadas de API que coinciden con servicios de contenedor específicos. El control de ingreso dirige las solicitudes al servicio contenedor apropiado y, a su vez, distribuye las solicitudes entre un grupo de instancias de componentes/ aplicação . Se trata de una tarta de dos capas con control de ingreso de capa 7 (HTTP) que se distribuye a un simple equilibrador de carga (POLB) para su entrega y cumplimiento.

Además, tenemos la dependencia de los registros de servicios que, en segundo plano, es otro servicio de aplicação de infraestructura necesario para facilitar la elasticidad de las aplicações nativas de la nube. Sin un mecanismo de descubrimiento de servicios, el equilibrio de carga y el control de ingreso no funcionan, lo que a su vez hace que la aplicação quede inoperable.

Esta relación (entre componentes, servicios, registros de servicios, balanceadores de carga y control de ingreso) es la encarnación de los principios de las aplicações nativas de la nube. Los componentes de la aplicação y la infraestructura están íntimamente vinculados sin estar estrechamente acoplados. Los componentes no pueden lograr la economía de escala o distribución entre entornos sin el enrutamiento de capa 7 y las tradicionales capacidades de equilibrio de carga. La dependencia entre la infraestructura y las aplicações es real y crítica para el imperativo comercial de entregar aplicaciones.

Nada de esto depende ni requiere ningún tipo de entorno de computación en la nube. Una aplicação nativa de la nube puede implementarse (y a menudo se implementa) por sí sola. De hecho, si analizamos los datos sobre los contenedores y dónde se ejecutan, descubrimos que los entornos "locales" mantienen su predominio sobre los entornos de nube pública. 

¿Dónde se ejecutan los contenedores?

Ahora bien, si bien es cierto que uno podría implementar contenedores en una nube privada (local), y de hecho nuestra propia investigación continúa mostrando que la nube privada local sigue siendo el modelo de nube más popular en uso. Más de tres cuartas partes (79 %) de los encuestados en nuestro Informe sobre el estado de los servicios de aplicação 2019 tienen aplicações en una nube privada local, mientras que la nube pública sigue teniendo dificultades para alcanzar una mayoría del 45 %.

Las aplicações nativas de la nube son una arquitectura de rápido crecimiento que puedes estar seguro seguirá creciendo durante los próximos cinco años. Comprender su relación con los servicios de aplicação de infraestructura y su dependencia de ellos es un componente fundamental para entregar (y proteger) con éxito estas aplicações modernas.