Los desarrolladores, arquitectos e ingenieros de DevOps/DevSecOps se ven sometidos a una gran presión cuando tienen que poner en marcha una nueva infraestructura de TI con rapidez para poder satisfacer una demanda inesperada. En un entorno como el actual, en el que seguramente va a ser necesario trasladar las aplicaciones de un centro de datos local al Cloud y/o de un proveedor Cloud a otro, diseñar, construir y soportar estas aplicaciones de forma tradicional ya no resulta una vía fácil y eficiente.
En estos momentos, la mayoría de las organizaciones quieren crear “aplicaciones modernas”. El problema es que en la definición de este mantra no siempre aparecen todos los elementos que deberían tenerse en cuenta y que, a mi juicio, son los que se exponen a continuación.
Escalabilidad, portabilidad, resiliencia y agilidad, son los cuatro atributos fundamentales de cualquier aplicación moderna:
En este factor se incluye tanto la facultad de ampliar la capacidad de computación como la velocidad de esa expansión. Esto da lugar a conceptos como “escalado rápido” y “escalado largo”.
A pesar de que el uso de contenedores es algo cada vez más común, las diferentes dependencias, herramientas y configuraciones de los clouds hacen que para las organizaciones resulte poco realista esperar una portabilidad instantánea al intentar moverse a una arquitectura híbrida de múltiples nubes. Así, el factor portabilidad en las aplicaciones modernas tendría que abarcar:
La resiliencia puede implicar una alta disponibilidad definida a través de SLAs precisos con respecto al tiempo de inactividad, pero también una fiabilidad más general, que deje espacio para períodos de inactividad más prolongados, con tiempos en los que no se requiera que una aplicación esté en línea y acepte la consistencia final y la entrega de servicios como suficiente.
Es un factor fundamental para que los equipos de desarrollo de aplicaciones puedan acceder rápida y fácilmente a los recursos que necesitan para probar e impulsar nuevas funciones. La verificación e implementación simplificada y automatizada del código y la infraestructura resulta clave para que los equipos DevOps puedan obtener beneficios de esta agilidad.
Para poder cumplir con los cuatro pilares, la mayoría de las aplicaciones modernas emplean arquitecturas que siguen estos seis principios:
Al igual que el gato de Schrödinger, apostar por las aplicaciones modernas significa existir simultáneamente en dos estados. Existe el mundo real, con entornos híbridos, nubes y limitaciones de tiempo y presupuesto que condicionan el desarrollo y entrega de las aplicaciones, y existe el mundo ideal, con aplicaciones modernas perfectas, completamente automatizadas, seguras, agnósticas y estables.
La realidad nunca es perfecta. Es posible tener que afrontar la ejecución de una aplicación monolítica que no está en contenedores, sin poder duplicar su capacidad en cinco minutos y sin poder cambiar fácilmente a otros entornos sin refactorizar el código. Pero eso no significa que los pilares y principios de las aplicaciones modernas no supongan una guía hacia un estado mejor. Además, siempre será positivo anticiparse a los cambios de la tecnología.
Ya existen modelos de software basados en tendencias como la computación sin servidor, plataformas de aplicaciones lowcode/nocode cada vez más sofisticadas y aplicaciones de seguridad impulsadas por IA o CDNs con capacidad de cómputo en nodos en el Edge. Es por ello que la actual definición de las aplicaciones modernas debe ser capaz de ampliarse de acuerdo a la evolución de la tecnología, siempre buscando que los usuarios, desarrolladores y todos los demás equipos involucrados puedan acceder a las mejores aplicaciones en cada momento.
En esta tribuna, Rainer W. Kaese, director sénior de Desarrollo de Negocio de HDD de…
En esta tribuna, Enric Delgado, director de Client Engineering Team de España, Portugal, Grecia e…
En esta tribuna, Justin Murrill, director de Responsabilidad Corporativa en AMD, explica cómo la arquitectura…
En esta tribuna, Mario Carranza, especialista en observabilidad de CPO WOCU-Monitoring, explica cómo la observabilidad…
Adam Meyers, responsable de operaciones contra adversarios en CrowdStrike, explica cómo combatir las amenazas transversales…
Ana Belén González Bartolomé, Head of Manufacturing, Logistics, Energy, and Utilities para España, Portugal e…