随着新技术的不断涌现,应用服务器和应用服务器架构似乎前景黯淡。本文探讨应用服务器,以及在现代应用开发策略里是否有其存在空间?
现在似乎很难从媒体那里听到的词就是应用服务器了,它也很可能是每个企业都已经拥有的东西。应用服务器的好日子已经结束了么?
虽然我不会宣告他们已经完蛋了,不过应用服务器显然在生长曲线的相反端。
应用服务器在90年代中后期盛极一时,当时公司正处在客户端-服务器架构到多层架构的变革中。企业从类似Sun Microsystems这样的公司购买大型物理服务器,并且最大化购买价值,需要将多个客户端-服务器应用移动到这些服务器上。这催生了现在广为所知的应用服务器,Java EE是最典型的例子。在Microsoft那里,Windows Server不仅是操作系统,也是应用服务器,因为操作系统需要运行多个应用。
应用服务器带来的主要挑战是一个应用程序的性能可能会影响其他应用的风险,因为它们在竞争底层服务器上的相同资源。
时至今日:开发架构发生了巨变。底层硬件已经通过使用虚拟化和容器技术实现了抽象。应用程序分解为服务。部署的所有东西变得更加小巧,更小的部署单元意味着更大的灵活性以及更少的依赖。如果功能组件都不需要通过消息系统通信,或者分布式事务,那么为什么还要部署这些东西呢?
这就是现状。因此,带有所有所需库的重量级应用服务器的需求正在消亡。替代物包括基于脚本的语言(比如,Python、node.js)和按需部署框架,或者运行Java的更为轻量的服务器或框架,比如Jetty和Spring.io。
因此,还需要传统的应用服务器吗?可能吧。
作为一个企业架构师,我意识到将一堆组件划出来并将其称为应用,这变得越来越难。已有方案包括共享数据库,共享业务服务,甚至可能共享基于Web的API。如果我有决定权的话,应用可能仅仅用来做UI。
因此,应用服务器这个名词已经有些过时了。同时,还有很多情况下事物并没有共享,这时处理的不是Internet类型的可扩展性,我们的团队有很强的Java EE经验。在这些情况下,有什么理由不继续使用可靠的Tomcat或者Weblogic服务器呢?也不要忘记还有很多第三方应用,其运行要求Java EE服务器。
就像还有很多企业仍然有大型主机一样,从今以后十年里,你的环境里仍然会运行着Java EE应用服务器。虽然你90%的活动都会关注于最新类似Docker的容器的编排,在公有云提供商间以不可思议的速度和性能自由穿梭,但是仍然很需要Java EE服务器在后台静静得运行,支撑一些老旧的,不常变化的系统来完成需要它们完成的事情。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
用户如何在AWS上对Windows Server授权?
一直以来,我们的众多企业都对许可授权问题持谨慎态度,但是在实际工作中我们更希望把基于微软的工作负载迁移至AWS。
-
云端运行Windows企业级选项探索
今天在云中运行Windows比以往任何时候都更加常见,尽管有一些潜在的挑战,但有一点是明确的:随着越来越多的IT经理开始适应公有云,更多的核心企业级工作负载。
-
可以在Windows Server环境中执行Docker吗?
-
2014服务器端趋势:模块化和组件化的应用服务器
现代应用程序服务器前景在发生变化。昔日的单一服务器正试图找到缩减的方法,且在接下来一年中的趋势将专注于模块化的提升。