Hoy en día, una de las preguntas que más se oyen en los pasillos de un proveedor de infraestructura es cómo explicar el valor de dicha infraestructura a la comunidad de desarrolladores. El problema es que la mayoría de las ventajas de la infraestructura se obtienen después de la puesta en producción. Ninguna de ellas aporta realmente un valor directo al desarrollador, al menos no de una forma significativa que repercuta en su rutina diaria.
Los desarrolladores son plenamente conscientes de las ventajas que van más allá del desarrollo. En nuestro informe de 2018 Estado de la entrega de aplicaciones contamos con la representación de un pequeño porcentaje de desarrolladores. Sin embargo, ese porcentaje se hizo oír con claridad respecto a los servicios de aplicaciones que querían implementar. Algunos de esos servicios de aplicaciones —equilibrio de carga, almacenamiento en caché y aceleración— se implementan con la misma frecuencia como parte de la propia aplicación que como infraestructura. Las optimizaciones de TCP y los WAF son casi siempre servicios de infraestructura que se implementan en un punto anterior de la ruta de datos, delante de las aplicaciones (ya sean monolíticas o de microservicios).

Todos estos servicios de aplicaciones aportan valor: reducción del riesgo, mejora del rendimiento y escalabilidad. Sin embargo, estas son ventajas para las aplicaciones y el negocio; benefician a los desarrolladores después de la entrega de la aplicación en producción. Es difícil encontrar —y más aún explicar— las ventajas que ofrece la infraestructura antes de la entrega, es decir, como parte del ciclo de vida del desarrollo.
Pero, a medida que seguimos adoptando los contenedores y los microservicios, el valor de la infraestructura antes y después de la entrega se hace más evidente.
Como ocurre con la mayoría de las tecnologías emergentes, en los primeros tiempos de una nueva arquitectura de aplicaciones suele haber muy poca infraestructura. Puede que a los desarrolladores les sorprenda saber que la arquitectura de las aplicaciones determina en gran medida la infraestructura de servicios de aplicaciones. La transición a las aplicaciones web de tres capas trajo consigo la escalabilidad (equilibrio de carga). La adopción de la Web 2.0, con su capa de presentación adaptable, dio lugar a una infraestructura de aceleración del front-end. Con la llegada de los dispositivos móviles y la creciente digitalización de todos los sectores, la infraestructura respondió con servicios de seguridad como WAF, protección contra ataques DDoS y defensa contra bots.

Así pues, lo que estamos viendo ahora mismo es que los desarrolladores están plasmando en código las capacidades de los servicios de infraestructura en sus aplicaciones. Los desarrolladores están incorporando al código lo que tradicionalmente ha sido responsabilidad de los servicios de nivel superior: los reintentos de los balanceadores de carga, el mTLS de las plataformas o los proxies y el control de acceso para restringir la comunicación a clientes legítimos.
Estas son responsabilidades de infraestructura que, debido al carácter incipiente de los frameworks de contenedores y a su rápida adopción, han acabado recayendo en los desarrolladores.
Pero, como siempre ha ocurrido, esto está cambiando. Del mismo modo que las arquitecturas de aplicaciones anteriores han impulsado cambios en la infraestructura de red, también lo están haciendo los contenedores y los microservicios. Solo que esta vez los cambios no llegan en forma de un nuevo dispositivo. Lo que está ocurriendo ahora es que se están integrando los servicios de aplicaciones que necesitan los desarrolladores en el entorno de contenedores. Ahí es donde entra en juego la malla de servicios, que aporta un valor real y cuantificable directamente a los desarrolladores.
Como explicó Andrew Jenkins, arquitecto jefe de Aspen Mesh en una entrevista con Linux.com:
«Es sorprendente lo fácil que resulta hoy en día empezar a crear un servicio web. El código cabe en un tuit. Sin embargo, esto no es un servicio web de verdad. Para que sea resiliente y escalable, hay que añadir algunas funciones al plano de datos de la aplicación. Debe utilizar TLS, reintentar las operaciones fallidas, aceptar únicamente solicitudes de este servicio y no de aquel, comprobar la autenticación del usuario, etc. Una malla de servicios permite incorporar esas funciones del plano de datos sin tener que añadir código a la aplicación».
El valor previo a la entrega reside en la reducción del alcance y la eliminación de código repetitivo, pero necesario, para gestionar la seguridad básica y el escalado en un entorno de contenedores. Una malla de servicios ofrece una amplia variedad de funcionalidades interesantes, pero sus ventajas siguen siendo principalmente operativas: observabilidad, rendición de cuentas y escalabilidad. Para un desarrollador, el valor más significativo reside en la eliminación de código (y, por tanto, en la reducción de la deuda técnica y arquitectónica).
El uso de una malla de servicios para escalar, proteger y supervisar las aplicaciones desplegadas en entornos de contenedores evita tener que escribir código para tareas que debería gestionar la infraestructura, pero que hasta hace poco se delegaban en los desarrolladores. Una malla de servicios permite liberar a los desarrolladores de esta responsabilidad y devolverles un tiempo valioso que pueden dedicar a desarrollar servicios y aplicaciones que, a su vez, aporten valor al negocio.
Sobre el autor

Lori MacVittie es ingeniera distinguida y evangelista jefe en la Oficina del CTO de F5, y cuenta con una amplia experiencia en entrega de aplicaciones, estrategia de automatización e infraestructura. Es conocida por convertir la complejidad en claridad, ya sea definiendo mecanismos de protección para agentes de IA, analizando arquitecturas multinube frágiles o explorando los límites de los sistemas escalables. Aporta más de treinta años de experiencia en el sector en desarrollo de aplicaciones, arquitectura de TI y operaciones de redes y sistemas. Antes de incorporarse a F5, fue una galardonada editora de tecnología. MacVittie posee un máster en Informática y es una autora prolífica cuyas publicaciones abarcan la seguridad, la nube y la arquitectura empresarial. También es una apasionada de los juegos de mesa y los videojuegos, y expresa sin complejos sus firmes opiniones sobre el queso.
Más artículos de Lori Mac VittieArtículos relacionados del blog

Cree servicios públicos seguros, resilientes y preparados para la IA con F5 y AWS
Descubre cómo las organizaciones del sector público pueden modernizar de forma segura sus aplicaciones y soluciones de IA, al tiempo que gestionan los sistemas heredados, el cumplimiento normativo y el riesgo operativo.
Protección de los sistemas de IA: por qué la seguridad debe avanzar al ritmo de la innovación
Desde acelerar avances revolucionarios en medicina y educación hasta transformar la vida cotidiana, la IA está cambiando nuestra forma de vivir y trabajar. Pero también ofrece grandes oportunidades a los ciberdelincuentes.
Avanzar hacia la optimización digital tras la transformación
Descubre estrategias de optimización digital para garantizar políticas de seguridad coherentes, impulsar la madurez de la transformación digital y superar los retos de la transformación.
Proyecto de código abierto destacado: mayor observabilidad con F5 Cloud Logger iApp
En el punto de mira del código abierto: cómo aumentar la observabilidad. Lee el blog de F5 para descubrir cómo exportar fácilmente la telemetría de BIG-IP a plataformas modernas de análisis en la nube.
El estado de la entrega de aplicaciones en 2018: la transformación digital impulsa la automatización y la multinube pese a las preocupaciones de seguridad
Descubre las principales conclusiones del cuarto informe anual de F5 sobre el estado de la entrega de aplicaciones.
Estado de la entrega de aplicaciones en 2017: automatización, API y DevOps
Descubre el informe sobre el estado de la entrega de aplicaciones de 2017. Lee el blog retrospectivo de F5 sobre los inicios del auge de las redes declarativas y los flujos de DevOps.