BLOG | OFICINA DEL CTO

Inserción de servicios de aplicaciones en arquitecturas de aplicaciones cambiantes

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 23 de diciembre de 2019


Las arquitecturas de aplicación han evolucionado varias veces desde los primeros días de la informática. Algunas empresas de larga trayectoria ya se encuentran en su quinta arquitectura de aplicación distinta. Hoy en día son muchos los que operan y mantienen aplicaciones en cada uno de ellos. Es decir, los hallazgos de nuestro próximo Estado de los servicios de aplicación en 2020 indican que esta es la realidad en la que operan la mayoría de las organizaciones:

Cada arquitectura de aplicación tiene un impacto dramático en todo lo que está "arriba": arquitecturas de red, tecnologías, seguridad y servicios de aplicación (entrega). En el corazón del último cambio arquitectónico, los microservicios, hay un concepto al que podemos llamar "atomización" o "componentización". Ambos se refieren esencialmente al proceso de dividir una aplicación en componentes más pequeños y manejables con el fin de mejorar el tiempo de comercialización, la calidad del código y la agilidad.

En generaciones anteriores de arquitecturas de aplicaciones, la red seguía siendo el punto más eficiente para insertar ciertos tipos de servicios de aplicación . Hasta hace poco, el proxy ha sido el medio principal por el cual estos servicios se insertaban en la ruta de datos que se extiende desde la aplicación hasta el cliente.

Pero esa ruta de datos se está descomponiendo junto con las arquitecturas de aplicación modernas. Ahora abarca Internet, propiedades en la nube y el centro de datos. Incluye cada vez más al cliente como un componente crítico de la funcionalidad de la aplicación . 

Por lo tanto, ya no es óptimo confiar únicamente en una única ruta de datos conocida para insertar servicios de aplicación . Además, debido a que muchas de las rutas de datos emergentes no son adecuadas para una plataforma basada en proxy, debemos buscar otros puntos de inserción potenciales posibles para escalar y proteger las aplicaciones modernas.

Puntos de inserción del servicio de aplicación

La noción de "insertar" servicios de aplicación en una ruta de datos nos brinda una forma sencilla de describir esta visión moderna de la implementación de servicios de aplicación : puntos de inserción.

En este modelo, distinguimos entre un punto de inserción tradicional (el proxy) y otras ubicaciones como el servidor web/de aplicaciones y el dispositivo cliente. Cada ubicación tiene múltiples formularios adecuados para la inserción del servicio de aplicación .

Apoderado

En el punto de inserción de red tradicional de la red, encontrará servicios de aplicación basados ​​en proxy, así como su equivalente moderno: el proxy sidecar que forma la base de algunas soluciones de malla de servicios. Ambos se implementan "en la red" y, por lo tanto, requieren acceso a esa ubicación independientemente del factor de forma (contenedor, software, hardware).

Los proxies continúan siendo un medio eficiente para insertar servicios de aplicación . Hoy en día, el mayor impacto de las arquitecturas de aplicaciones modernas sobre los proxies es su enfoque. Si bien los servidores proxy tradicionalmente alojan servicios de aplicación para muchas aplicaciones, las arquitecturas actuales exigen un enfoque más centrado en cada aplicación. Por lo tanto, los proxies se están integrando en las aplicaciones y su infraestructura y tienden a tener un enfoque mucho más granular que las soluciones de proxy anteriores.

Sin proxy

Como no todas las aplicaciones y entornos ofrecen ese acceso (pensemos en SaaS), buscamos puntos de inserción alternativos donde se puedan implementar servicios de aplicación . A estos puntos alternativos los llamamos, de manera general, "sin proxy" porque no requieren ni dependen de un proxy para su implementación y ejecución. Estos servicios pueden adoptar la forma de agentes tradicionales (software implementado como parte del servidor o la aplicación) o pueden adoptar una forma de opciones basadas en código más amigable para los desarrolladores. El código inyectado, como las bibliotecas JavaScript o los complementos del servidor web y del navegador, son buenos ejemplos de puntos de inserción en estas ubicaciones alternativas.

Servicio

Muchos de los servicios de aplicación pueden entregarse "como servicio", es decir, alojados como una oferta basada en la nube. La inserción aún requiere acceso para invocar esos servicios; por lo tanto, es raro que dichos servicios se incluyan en una aplicación sin algún tipo de inserción a través de código o artefacto de configuración. 

Dado este nuevo panorama moldeado por las arquitecturas de aplicación modernas, la respuesta a la pregunta de dónde encajan los servicios de aplicación es, cada vez más, en cualquier lugar donde pueda residir una aplicación (o parte de una aplicación). A medida que las arquitecturas de las aplicaciones se descomponen, también lo harán los servicios de aplicaciones utilizados para escalar, proteger y acelerar la entrega de los componentes de las aplicación . 

La expansión de los puntos de inserción es solo uno de los pasos evolutivos necesarios para satisfacer las necesidades futuras de telemetría y automatización más inteligente.  A medida que las organizaciones continúan avanzando por el camino de la transformación digital , los servicios de aplicaciones también seguirán expandiéndose y evolucionando.