Aplicaciones candidatas para ser nativas de nube

Sugerencia

Este contenido es un extracto del libro electrónico “Architecting Cloud Native .NET Applications for Azure” (Diseño de la arquitectura de aplicaciones .NET nativas en la nube para Azure), disponible en Documentos de .NET o como un PDF descargable y gratuito que se puede leer sin conexión.

Cloud Native .NET apps for Azure eBook cover thumbnail.

Piense en las aplicaciones que su organización necesita crear. Después, examine las aplicaciones que existen en la cartera. ¿Cuántas de ellas justifican una arquitectura nativa de nube? ¿Todos ellos? ¿Quizás algunas?

Si aplica un análisis de costes y beneficios, es muy probable que algunas de ellas no valgan el esfuerzo. El coste de convertirse en nativa de nube superaría con creces el valor empresarial de la aplicación.

¿Qué tipo de aplicación podría considerarse candidata para ser nativa de nube?

  • Sistemas empresariales estratégicos que necesitan desarrollar constantemente funcionalidades y características empresariales.

  • Una aplicación que requiere una alta velocidad de lanzamiento, con alta confianza.

  • Un sistema en el que las características individuales deben liberarse sin una redistribución completa de todo el sistema

  • Una aplicación desarrollada por equipos con experiencia en diferentes pilas de tecnología.

  • Una aplicación con componentes que se deben escalar de forma independiente.

Las aplicaciones de línea de negocio más pequeñas y con menos impacto pueden encajar bien con una arquitectura monolítica sencilla hospedada en un entorno de PaaS en la nube.

También existen los sistemas heredados. Aunque a todos nos gustaría compilar aplicaciones nuevas, a menudo nos vemos obligados a modernizar las cargas de trabajo heredadas que son críticas para la empresa.

Modernización de aplicaciones heredadas

El libro electrónico gratuito de Microsoft titulado Modernize existing .NET applications with Azure cloud and Windows Containers (Modernización de aplicaciones .NET existentes con la nube de Azure y contenedores de Windows) incluye instrucciones sobre cómo migrar cargas de trabajo locales a la nube. En la figura 1-10 se muestra que no hay una sola estrategia para modernizar las aplicaciones heredadas.

Strategies for migrating legacy workloads

Figura 1-10. Estrategias para migrar cargas de trabajo heredadas

Es posible que las aplicaciones monolíticas que no son críticas se beneficien de una migración rápida mediante lift-and-shift. Aquí, la carga de trabajo local se rehospeda en una máquina virtual basada en la nube, sin que se realice ningún cambio. Este enfoque usa el modelo de IaaS (infraestructura como servicio). Azure incluye varias herramientas como Azure Migrate, Azure Site Recovery y Azure Database Migration Service para ayudar a simplificar la migración. Aunque esta estrategia puede producir cierto ahorro de costes, estas aplicaciones normalmente no se diseñaron para aprovechar las ventajas de la informática en la nube.

Las aplicaciones heredadas que son críticas para la empresa suelen beneficiarse de una migración mejorada optimizada para la nube. Este enfoque incluye optimizaciones de implementación que habilitan los servicios en la nube clave, sin necesidad de cambiar la arquitectura principal de la aplicación. Por ejemplo, puede incluir en contenedores la aplicación e implementarla en un orquestador de contenedores, como Azure Kubernetes Services, que se describe más adelante en este libro. Una vez que está en la nube, la aplicación puede consumir servicios de respaldo en la nube, como bases de datos, colas de mensajes, supervisión y almacenamiento en caché distribuido.

Por último, las aplicaciones monolíticas que proporcionan funciones empresariales estratégicas pueden beneficiarse más de un enfoque nativo de nube, que es el tema en el que se centra este libro. Este enfoque proporciona agilidad y velocidad. A cambio, conlleva un cambio de plataforma, el rediseño de la arquitectura y la reescritura de código. Con el tiempo, una aplicación heredada podría descomponerse en microservicios, incluirse en contenedores y, en última instancia, cambiar de plataforma a una arquitectura nativa de la nube.

Si usted y su equipo creen que un enfoque nativo de nube es adecuado, deberá justificar esta decisión ante su organización. ¿Cuál es exactamente el problema empresarial que resolverá un enfoque nativo de nube? ¿Cómo se alineará con las necesidades empresariales?

  • ¿Permite el lanzamiento rápido de características con mayor confianza?

  • ¿Ofrece una escalabilidad específica, es decir, un uso más eficaz de los recursos?

  • ¿Mejora la resistencia del sistema?

  • ¿Mejora el rendimiento del sistema?

  • ¿Da más visibilidad a las operaciones?

  • ¿Combina plataformas de desarrollo y almacenes de datos para dar con la mejor herramienta para el trabajo?

  • ¿Es una inversión de futuro en aplicaciones?

La estrategia de migración adecuada depende de las prioridades de la organización y de los sistemas a los que se dirige. Para muchos, puede ser más rentable optimizar para la nube una aplicación monolítica o agregar servicios generales a una aplicación de n niveles. En estos casos, todavía puede usar al completo las funcionalidades de PaaS en la nube, como las que ofrece Azure App Service.

Resumen

En este capítulo, hemos presentado la informática nativa de nube. Hemos proporcionado una definición y las funcionalidades clave que impulsan una aplicación nativa de nube. Hemos examinado los tipos de aplicaciones que podrían justificar esta inversión y esfuerzo.

Tras esta introducción, profundizaremos en detalle en el concepto "nativo de nube".

Referencias