Las arquitecturas de aplicação 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 aplicação distinta. Hoy en día son muchos los que operan y mantienen aplicações en cada uno de ellos. Es decir, los hallazgos de nuestro próximo Estado de los servicios de aplicação 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 aplicação (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 aplicação 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 aplicação . 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 aplicação 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 aplicação .
Por lo tanto, ya no es óptimo confiar únicamente en una única ruta de datos conocida para insertar servicios de aplicação . 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 aplicações modernas.
La noción de "insertar" servicios de aplicação en una ruta de datos nos brinda una forma sencilla de describir esta visión moderna de la implementación de servicios de aplicação : 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 aplicação .
En el punto de inserción de red tradicional de la red, encontrará servicios de aplicação 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 aplicação . 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 aplicação para muchas aplicações, las arquitecturas actuales exigen un enfoque más centrado en cada aplicación. Por lo tanto, los proxies se están integrando en las aplicações y su infraestructura y tienden a tener un enfoque mucho más granular que las soluciones de proxy anteriores.
Como no todas las aplicações y entornos ofrecen ese acceso (pensemos en SaaS), buscamos puntos de inserción alternativos donde se puedan implementar servicios de aplicação . 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 aplicação) 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.
Muchos de los servicios de aplicação 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 aplicação 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 aplicação modernas, la respuesta a la pregunta de dónde encajan los servicios de aplicação 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 aplicação .
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.