En una publicación anterior, exploramos la noción de agregar servicios de aplicaciones a arquitecturas de aplicaciones cambiantes utilizando un concepto que llamamos "puntos de inserción". Para aquellos que no han seguido este proceso, un punto de inserción es una ubicación arquitectónicamente distinta en la ruta de datos del cliente en la que tiene sentido agregar una funcionalidad que a menudo está fuera del ámbito del desarrollo o que es operativamente más eficiente.
Un conjunto sólido de capacidades agrega o mejora las aplicações que representan las actividades comerciales actuales.
Los puntos de inserción incluyen el cliente, la infraestructura y la aplicación en sí. Cada punto tiene sus pros y sus contras cuando se trata de equilibrar la eficiencia operativa y de costos. Por ejemplo, es probable que no sea operativa ni rentable insertar un servicio de aplicación DDoS centrado en la red en el cliente o la aplicación. Esto se debe a que ninguno de los puntos de inserción tiene acceso a las capacidades aceleradas por hardware disponibles con una opción de infraestructura ni la visibilidad necesaria para tomar una decisión precisa.
Entonces, lo que buscamos son servicios de aplicaciones que sean eficientes tanto operativa como económicamente en el punto de inserción; en este caso, nos centramos en el servidor de aplicaciones (plataforma) en sí.
Al principio, este punto de inserción puede parecer una elección extraña. Los servidores de aplicaciones alojan y entregan aplicaciones, no servicios de aplicaciones. Pero si consideramos el papel que NGINX y otros servidores de aplicaciones desempeñan hoy en día, los veremos a menudo desempeñando el papel de infraestructura y servidor al mismo tiempo. Por ejemplo, algunos servidores de aplicaciones pueden actuar y de hecho actúan como un punto de terminación SSL. La terminación SSL es un servicio de aplicación, a menudo acoplado con la descarga de SSL (aceleración de hardware). Los servicios de firewall de aplicaciones web también suelen estar acoplados a servidores de aplicaciones mediante complementos.
El uso del servidor de aplicaciones como punto de inserción no es ni nuevo ni extraño. En nuestra investigación sobre el estado de los servicios de aplicação de 2020, preguntamos sobre esta opción para implementar servicios de aplicaciones. Descubrimos que existe interés en este punto de inserción. Aproximadamente el 6% de los encuestados desearía utilizar un "complemento" para los servicios de la aplicación. Otro 9% preferiría "como servicio", lo que requiere un fragmento de código complementario (inyectado o incluido) para invocarlo. Un pequeño número, el 4%, le gustaría utilizar una biblioteca para incluir servicios de aplicaciones. Esta última opción es algo que vemos que se utiliza con frecuencia para insertar funcionalidad en aplicações sin servidor (función como servicio).
En muchos casos, implementar un servicio de aplicaciones en un servidor de aplicaciones tiene mucho sentido desde el punto de vista operativo. Debido a que estos servicios a menudo están configurados para servir a una sola aplicación, pueden ser empaquetados e implementados por el mismo equipo. La experiencia con el servidor de aplicaciones garantiza una mayor confianza y facilidad de integración en los ecosistemas y los canales de implementación.
En algunos casos, tendrá sentido implementar la aplicación y el servicio de aplicaciones juntos, en la misma instancia de un solo servidor de aplicaciones. Por ejemplo, la protección de aplicaciones a través de una política específica de la aplicación se puede incorporar y ejecutar como un paso en el procesamiento de solicitudes y respuestas. Que la funcionalidad se invoque desde dentro del servidor tiene sentido y, si la inspección se ejecuta localmente, puede mejorar el rendimiento al eliminar saltos adicionales y procesamiento por parte de servicios alojados fuera del entorno. Eso puede hacerlo más eficiente tanto a nivel operativo como financiero, especialmente si pagas por hora o por invocación del servicio.
Ya sea que el servidor de aplicaciones se utilice para alojar un servicio de aplicaciones independiente o como anfitrión tanto de la aplicación como del servicio de aplicaciones, el servidor de aplicaciones es sin duda un buen punto de inserción para los servicios de aplicaciones adecuados.