¿Qué significa nativo de la nube?

Plano medio del centro de datos con la puerta abierta hacia el rack del servidor

¿Qué significa nativo de la nube?

El término "nativo de la nube" se refiere menos al lugar donde reside una aplicación y más a cómo se crea y se implementa. Una aplicación nativa de la nube está compuesta por componentes discretos y reutilizables, denominados microservicios, que están diseñados para integrarse en cualquier entorno de nube.

  • Una aplicación nativa de la nube consta de componentes discretos y reutilizables que se conocen como      diseñados para integrarse en cualquier entorno de nube.

  • Estos microservicios actúan como bloques de construcción y a menudo se empaquetan en contenedores.

  • Los microservicios funcionan conjuntamente como un todo para conformar una aplicación, pero cada uno de ellos puede escalarse de forma independiente, mejorarse continuamente y repetirse rápidamente mediante procesos de automatización y coordinación.

  • La flexibilidad de cada microservicio contribuye a la agilidad y a la mejora continua de las aplicaciones nativas de la nube.
Vista aérea de autopista

Mantenga su cabeza en la nube

Reciba el boletín semanal Think para obtener orientación de expertos sobre cómo optimizar la configuración multinube en la era de la IA.

Microservicios y contenedores

Los microservicios (también denominados "arquitectura de microservicios") son un método arquitectónico en el que una única aplicación está compuesta por muchos componentes o servicios más pequeños, que están ligeramente acoplados y se pueden implementar de forma independiente. Estos servicios (también llamados microservicios) suelen tener su propia pila tecnológica, incluyendo la base de datos y el modelo de datos. Se comunican entre sí a través de una combinación de API REST, transmisión de eventos y agentes de mensajes.

Porque los microservicios se pueden implementar y reimplementar de forma independiente, sin afectarse unos a otros ni interrumpir la experiencia del usuario final. Son la combinación perfecta para metodologías de entrega automatizadas e iterativas, como la integración continua/implementación continua (CI/CD) o DevOps.

Además de servir para crear aplicaciones nativas en la nube totalmente nuevas, los microservicios pueden utilizarse para modernizar las aplicaciones monolíticas tradicionales.

En una encuesta realizada por IBM a más de ejecutivos de TI, desarrollo y desarrollo de aplicaciones, el 87 % de los usuarios de microservicios coincidió en que la adopción de microservicios compensa el gasto y el esfuerzo.

Los desarrolladores suelen implementar los microservicios dentro de contenedores, que son componentes de aplicaciones ligeros y ejecutables que combinan el código fuente de la aplicación (en este caso, el código de los microservicios) con todas las bibliotecas y dependencias del sistema operativo necesarias para ejecutar el código en cualquier entorno. Más pequeños, más eficientes en recursos y más portátiles que las máquinas virtuales (VM), los contenedores son las unidades informáticas de facto de las aplicaciones nativas de la nube modernas.

Los contenedores potencian los beneficios de los microservicios al permitir una experiencia de implementación y gestión coherente en entornos de multicloud híbrido, es decir, nubes públicasprivadas e infraestructura local. Pero a medida que se multiplican las aplicaciones nativas de la nube, también lo hacen los contenedores y la complejidad de gestionarlos. La mayoría de las organizaciones que utilizan microservicios en contenedores también utilizan una plataforma de orquestación de contenedores, como Kubernetes, para automatizar la implementación y la gestión de contenedores a escala.

Desarrollo de aplicaciones

Suba a bordo: desarrollo de aplicaciones empresariales en la nube

En este vídeo, el Dr. Peter Haumer explica cómo se desarrollan las aplicaciones empresariales modernas en la nube híbrida mediante la demostración de diferentes componentes y prácticas, como IBM Z Open Editor, IBM Wazi y Zowe. 

Ventajas y desventajas

Los clientes de IBM se enfrentan cada vez más a la tarea de mejorar las aplicaciones existentes, crear nuevas aplicaciones y mejorar la experiencia del usuario. Las aplicaciones nativas de la nube satisfacen estas demandas mejorando el rendimiento, la flexibilidad y la extensibilidad de las aplicaciones.

Ventajas

  • En comparación con las aplicaciones monolíticas tradicionales, las aplicaciones nativas de la nube pueden ser más fáciles de gestionar a medida que se producen mejoras iterativas mediante el uso de procesos ágiles y DevOps.

  • Compuestas por microservicios individuales, las aplicaciones nativas de la nube se pueden mejorar de forma incremental y automática para añadir continuamente nuevas y mejoradas características de aplicación.

  • Las mejoras se pueden realizar de forma no intrusiva, sin causar tiempos de inactividad ni interrupciones en la experiencia del usuario final.

  • Escalar o reducir resulta más fácil con la infraestructura elástica que sustenta las aplicaciones nativas de la nube.

  • El proceso de desarrollo nativo de la nube se acerca más a la velocidad y la innovación que exige el entorno empresarial actual.

Desventajas

  • Si bien los microservicios permiten un enfoque iterativo para mejorar las aplicaciones, también crean la necesidad de gestionar más elementos. En lugar de una única aplicación, es necesario gestionar muchos servicios pequeños e independientes.

  • Las aplicaciones nativas de la nube exigen conjuntos de herramientas adicionales para gestionar la canalización de DevOps, reemplazar las estructuras de monitorización tradicionales y controlar la arquitectura de microservicios.

  • Las aplicaciones nativas de la nube permiten un desarrollo y una implementación rápidos, pero también exigen una cultura empresarial que pueda hacer frente al ritmo de esa innovación.

Ejemplos de aplicación

Las aplicaciones nativas de la nube suelen tener funciones específicas. Considere cómo se podrían utilizar las aplicaciones nativas de la nube en un sitio web de viajes. Cada tema tratado en el sitio web (vuelos, hoteles, coches, ofertas especiales) es un microservicio independiente. Cada microservicio puede implementar nuevas características independientemente de los otros microservicios. Las ofertas especiales y los descuentos también pueden escalarse de forma independiente. Aunque el sitio web de viajes se presenta a los clientes como un todo, cada microservicio sigue siendo independiente y se puede ampliar o actualizar según sea necesario sin afectar a otros servicios.

IBM® Cloud Garage proporciona a los clientes de IBM experiencia en consultoría para crear rápidamente aplicaciones nativas de la nube escalables e innovadoras. Ofrece un centro de innovación donde las empresas de todos los tamaños pueden diseñar y crear aplicaciones que resuelvan las necesidades empresariales del mundo real.

Principios de desarrollo

Tanto si crean una nueva aplicación nativa de la nube como si modernizan una aplicación existente, los desarrolladores se adhieren a un conjunto coherente de principios:

  • Adoptar un método arquitectónico de microservicios: desglosar las aplicaciones en servicios de función única, denominados microservicios. Los microservicios están poco acoplados, pero siguen siendo independientes, lo que permite la mejora incremental, automatizada y continua de una aplicación sin causar tiempo de inactividad.

  • Confiar en los contenedores para obtener la máxima flexibilidad y escalabilidad: los contenedores empaquetan el software con todo su código y dependencias en un solo lugar, lo que permite que el software se ejecute en cualquier lugar. Esto permite la máxima flexibilidad y portabilidad en un entorno multinube. Los contenedores también permiten un rápido aumento o reducción de escala con las políticas de orquestación de Kubernetes definidas por el usuario.

  • Adopte métodos ágiles: los métodos ágiles aceleran el proceso de creación y mejora. Los desarrolladores pueden iterar rápidamente las actualizaciones en función de los comentarios de los usuarios, lo que permite que la versión de la aplicación en funcionamiento se ajuste lo más posible a las expectativas de los usuarios finales.

Almacenamiento

Las aplicaciones nativas de la nube suelen depender de contenedores. El atractivo de los contenedores es que son flexibles, ligeros y portátiles. El uso inicial de contenedores tendía a centrarse en aplicaciones sin estado que no tenían necesidad de guardar datos de usuario de una sesión de usuario a la siguiente.

Sin embargo, a medida que más actividad principal se mueve a la nube, la cuestión del almacenamiento debe abordarse en un nativo de la nube. Esto requiere que los desarrolladores consideren nuevas formas de abordar el almacenamiento en la nube.

Del mismo modo que el desarrollo de aplicaciones nativas de la nube adopta un enfoque basado en microservicios y modular, también debe hacerlo el almacenamiento nativo de la nube. Los datos nativos de la nube pueden encontrarse en distintos lugares, como registros de eventos o del sistema, bases de datos relacionales y almacenes de documentos u objetos.

La ubicación de los datos, los requisitos de retención, la portabilidad, la compatibilidad de plataformas y la seguridad son solo algunos de los aspectos que los desarrolladores deben tener en cuenta al planificar el almacenamiento nativo de la nube.

Aplicaciones nativas de la nube frente a aplicaciones tradicionales

Nativo de la nube frente a habilitado para la nube

Una aplicación habilitada para la nube es una aplicación que se desarrolló para su implementación en un centro de datos tradicional, pero que luego se modificó para que también pudiera ejecutarse en un entorno de nube. Sin embargo, las aplicaciones nativas de la nube están diseñadas para funcionar solo en la nube. Los desarrolladores diseñan aplicaciones nativas de la nube para que sean escalables, independientes de la plataforma y compuestas por microservicios.

Nativo de la nube frente a preparado para la nube

En la corta historia del cloud computing, el significado de "preparado para la nube" ha cambiado varias veces. Inicialmente, el término se aplicaba a servicios o software diseñados para funcionar a través de Internet. Hoy en día, el término se utiliza con más frecuencia para describir una aplicación que funciona en un entorno de nube o una aplicación que se ha reconfigurado para un entorno de nube. El término "nativo de la nube" tiene una historia más corta y se refiere a una aplicación desarrollada desde el principio para funcionar solo en la nube. Y para beneficiarse de las características de la nube o una aplicación existente que se ha refactorizado y reconfigurado con principios nativos de la nube.

Nativo de la nube frente a basado en la nube

Un servicio o aplicación basada en la nube se entrega a través de Internet. Es un término general que se aplica libremente a cualquier número de ofertas en la nube. "Nativo de la nube" es un término más específico. Describe las aplicaciones que están diseñadas para funcionar en entornos de nube. El término denota aplicaciones que se basan en microservicios, integración continua y entrega continua (CI/CD) y se pueden utilizar a través de cualquier plataforma en la nube.

Nativo de la nube frente a priorización de la nube

La nube describe primero una estrategia empresarial en la que las organizaciones se comprometen a utilizar los recursos de la nube en primer lugar al iniciar nuevos servicios de TI, actualizar los servicios existentes o sustituir la tecnología heredada. El ahorro de costes y la eficiencia operativa impulsan esta estrategia. Las aplicaciones nativas de la nube combinan bien con una estrategia que prioriza la nube, ya que solo utilizan recursos de la misma y están diseñadas para beneficiarse de las características de su arquitectura.

Soluciones relacionadas
IBM Enterprise Application Service for Java

Un servicio totalmente gestionado y de inquilino único para desarrollar y entregar aplicaciones Java.

Explore las aplicaciones Java
Soluciones DevOps

Utilice el software y las herramientas de DevOps para crear, implementar y gestionar aplicaciones nativas de la nube en varios dispositivos y entornos.

Explore las soluciones DevOps
Servicios de desarrollo de aplicaciones Enterprise

El desarrollo de aplicaciones en la nube significa crear una vez, iterar rápidamente e implementar en cualquier lugar.

Servicios de desarrollo de aplicaciones
Dé el siguiente paso

Los servicios de consultoría de desarrollo de aplicaciones en la nube de IBM Cloud ofrecen orientación experta y soluciones innovadoras para agilizar su estrategia de nube. Colabore con los expertos en nube y desarrollo de IBM para modernizar, escalar y acelerar sus aplicaciones, y obtenga resultados transformadores para su empresa.

Explore los servicios de desarrollo de aplicaciones Comience a crear con IBM Cloud de forma gratuita