在上一篇文章中,我们探讨了如何利用一个称为“插入点”的概念,向不断变化的应用架构中添加应用服务。对于尚未阅读上一篇文章的读者,插入点是指从代码到客户数据的路径中一个在架构上独立的位置,适合在此添加通常不属于开发范畴或可提高运营效率的功能。

一套强大的功能可用于添加或增强承载当今业务活动的应用。
插入点包括客户端、基础设施和应用本身。在平衡运营效率与成本效益方面,每个插入点各有利弊。例如,将以网络为中心的DDoS应用服务插入客户端或应用,很可能无法实现较高的运营效率或成本效益。这是因为这两个插入点既无法使用基础设施选项提供的硬件加速功能,也不具备做出准确判断所需的可见性。
因此,我们需要的是在插入点兼具运营效率和成本效益的应用服务;在本例中,我们重点关注应用服务器(平台)本身。
作为插入点的应用平台
乍看之下,选择这个插入点可能有些出人意料。应用服务器负责托管和交付应用,而不是应用服务。但如果考察一下如今NGINX及其他应用服务器所发挥的作用,就会发现它们往往同时承担基础设施和服务器的角色。例如,一些应用服务器可以并且确实会充当SSL终止点。SSL终止是一项应用服务,通常与SSL卸载(硬件加速)结合使用。Web应用防火墙服务也常通过插件与应用服务器集成。

将应用服务器用作插入点并不是什么新鲜或陌生的做法。在我们的《2020 年应用服务状况》研究中,我们询问了受访者对使用这种方式部署应用服务的看法。结果显示,受访者对这种插入点有一定兴趣。约6%的受访者希望通过“插件”使用应用服务;另有9%更倾向于“即服务”模式,这种模式需要调用配套的代码(通过注入或内置方式提供)。另有少数受访者(4%)希望通过库来引入应用服务。我们经常看到最后一种方式用于向无服务器(函数即服务)应用中添加功能。
在许多情况下,将应用服务部署在应用服务器上有利于简化运维。由于这些服务通常配置为仅服务于单个应用,因此可由同一团队进行打包和部署。团队对应用服务器的深入了解有助于更有把握、更轻松地将服务集成到生态系统和部署流水线中。
在某些情况下,将应用和应用服务一起部署在同一应用服务器实例上更为合理。例如,可以通过插件方式应用特定于应用的策略来保护应用,并将其作为请求和响应处理流程中的一个步骤执行。从服务器内部调用此功能是合理的;如果在本地执行检查,还可避免额外的网络跳转以及由环境外部托管的服务进行处理,从而提升性能。这可以提高运营和成本效率,尤其是在服务按小时或调用次数计费的情况下。
无论应用服务器用于托管独立的应用服务,还是同时托管应用及其应用服务,它无疑都是部署适当应用服务的理想位置。
关于作者

Lori MacVittie是F5首席技术官办公室的杰出工程师兼首席技术布道师,在应用交付、自动化战略和基础设施领域拥有深厚的专业知识。无论是为AI智能体定义防护机制、剖析脆弱的多云架构,还是探索可扩展系统的极限,她都善于化繁为简。她在应用开发、IT架构以及网络和系统运维领域拥有30多年的行业经验。加入F5之前,她曾担任技术编辑,并因出色表现获得奖项。 MacVittie拥有计算机科学硕士学位,著述颇丰,出版作品涵盖安全、云和企业架构领域。她还热衷于桌面游戏和电子游戏,并且对奶酪有着毫不掩饰的鲜明见解。
Lori Mac Vittie 的更多博客文章相关博客文章
2023年应用策略现状:成本与复杂性是推动多云网络发展的首要因素
多云网络解决方案可在核心、云和边缘环境之间实现无缝、安全的互联,为解决当今混合IT面临的挑战提供支持,因而备受业界关注。
