¿Qué es nativo de la nube?

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

¿Qué es nativo de la nube?

Nativo de la nube se refiere menos a dónde reside una aplicación y más a cómo se crea y despliega. Una aplicación nativa de la nube consta de componentes discretos y reutilizables que se conocen como microservicios y 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 juntos como un todo para formar una aplicación, pero cada uno puede escalarse de forma independiente, mejorarse continuamente e iterarse rápidamente a través de procesos de automatización y orquestación.

  • La flexibilidad de cada microservicio se suma a la agilidad y la mejora continua de las aplicaciones nativas de la nube.
Vista aérea de una 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 llamados arquitectura de microservicios) son un enfoque arquitectónico en el que una sola aplicación se compone de muchos componentes o servicios más pequeños, poco acoplados y desplegables de forma independiente. Estos servicios (también llamados microservicios) suelen tener su propia pila de tecnología, incluida 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 corredores de mensajes.

Porque los microservicios se pueden desplegar y volver a desplegar de forma independiente, sin afectarse entre sí ni interrumpir la experiencia del usuario final. Son una combinación perfecta para metodologías de entrega automatizadas e iterativas, como la integracióncontinua/desplieguecontinuo (CI/CD) o DevOps.

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

En una encuesta de IBM a más de ejecutivos de TI, ejecutivos de desarrolladores y desarrolladores encuestados, el 87 % de los usuarios de microservicios coincidieron en que la adopción de microservicios vale la pena el gasto y el esfuerzo.

Los desarrolladores suelen desplegar microservicios dentro de contenedores:componentes de aplicaciones ligeros y ejecutables que combinan el código fuente de la aplicación (en este caso, el código de microservicios) con todas las bibliotecas y dependencias del sistema operativo (SO) 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.

Contenedor amplíe el beneficio de los microservicios al permitir un despliegue y una gestión coherentes en un entorno multinube híbrido:nube pública, nube privada e infraestructura on-premises . 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 el despliegue y la gestión de contenedores a escala.

Desarrollo de aplicaciones

Entérese: desarrollo de aplicaciones empresariales en la nube

En este video, el Dr. Peter Haumer analiza cómo es el desarrollo de aplicaciones empresariales modernas en la nube híbrida y hace una demostración de diferentes componentes y prácticas, incluidos IBM Z Open Editor, IBM Wazi y Zowe.

Beneficios y desventajas

Los clientes de IBM se ven cada vez más obligados a mejorar las aplicaciones existentes, crear nuevas aplicaciones y mejorar la experiencia del usuario. Las aplicaciones nativas de la nube cumplen con 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 Ágil y DevOps procesos.

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

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

  • Ampliar 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

  • Aunque los microservicios permiten un enfoque iterativo para la mejora de las aplicaciones, también crean la necesidad de gestionar más elementos. En lugar de una gran aplicación, se hace necesario gestionar servicios mucho más pequeños y discretos.

  • Las aplicaciones nativas de la nube exigen conjuntos de herramientas adicionales para gestionar el pipeline de DevOps, reemplazar las estructuras de monitoreo tradicionales y controlar la arquitectura de microservicios.

  • Las aplicaciones nativas de la nube permiten un desarrollo y despliegue 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 usar las aplicaciones nativas de la nube en un sitio web de viajes. Cada tema cubierto por el sitio (vuelos, hoteles, automóviles, ofertas especiales) es su propio microservicio. Cada microservicio puede implementar nuevas características independientes de los otros microservicios. Las ofertas especiales y los descuentos también se pueden escalar de forma independiente. Si bien el sitio de viajes se presenta a los clientes como un todo, cada microservicio sigue siendo independiente y se puede escalar o actualizar según sea necesario sin afectar 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 empresas de todos los tamaños pueden diseñar y crear aplicaciones que resuelvan las necesidades empresariales del mundo real.

Principios de desarrollo

Ya sea creando una nueva aplicación nativa de la nube o modernizando una aplicación existente, los desarrolladores se adhieren a un conjunto coherente de principios:

  • Siga el enfoque arquitectónico de microservicios: divida las aplicaciones en servicios de función única conocidos como 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.

  • Confíe 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 escalado ascendente o descendente con 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 la retroalimentación 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 del usuario final.

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, el problema 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.

Así como el desarrollo de aplicaciones nativas de la nube adopta un enfoque modular y de microservicios, también debe hacerlo el almacenamiento nativo de la nube. Los datos nativos de la nube pueden residir en cualquier número de lugares, como registros de eventos o sistemas, bases de datos relacionales y almacenes de documentos u objetos.

La ubicación de los datos, las demandas de retención, la portabilidad, la compatibilidad de la plataforma 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 despliegue 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 operar solo en la nube. Los desarrolladores diseñan aplicaciones nativas de la nube para que sean escalables, independientes de la plataforma y compuestas de microservicios.

Nativo de la nube frente a listo para la nube

En la breve historia de la computación en la nube, el significado de "listo 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 aprovechar las características de la arquitectura en 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 cantidad de ofertas en la nube. Nativo de la nube es un término más específico. Nativo de la nube describe aplicaciones que están diseñadas para funcionar en entornos de nube. El término denota aplicaciones que dependen de microservicios, integración continua y entrega continua (CI/CD) y se pueden utilizar mediante cualquier plataforma en la nube.

Nube nativa frente a nube primero

La nube describe una estrategia en la que las organizaciones se comprometen a utilizar recursos de nube primero al iniciar nuevos servicios de TI, actualizar los servicios existentes o reemplazar la tecnología heredada. El ahorro de costos y la eficiencia operativa impulsan esta estrategia. Las aplicaciones nativas de la nube combinan bien con una estrategia de nube porque usan solo recursos de la nube y están diseñadas para usar las características beneficiosas de la arquitectura de la nube.

Soluciones relacionadas
Desarrollo de aplicaciones impulsado por IA

watsonx.ai permite a los equipos de desarrollo de aplicaciones integrar perfectamente la IA en sus flujos de trabajo. Desde la creación de modelos hasta su despliegue, este completo kit de herramientas da soporte a todo el ciclo de vida de la IA.

Explorar watsonx.ai
IBM Z Development and Test Environment

Utilice una plataforma para el desarrollo de aplicaciones de mainframe, pruebas, demostración y entrenamiento en hardware x86.

Explorar el entorno de desarrollo Z
Soluciones de computación en la nube móvil

Descubra la plataforma de desarrollo de aplicaciones móviles de IBM para diseñar, crear prototipos y comercializar aplicaciones de manera rápida y sencilla.

Explorar la nube móvil
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.

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