容器 vs. 无服务器: "最佳抽象层"花落谁家?

发布时间:2023-05-17 01:41:28 作者:飘云 阅读量:6618

容器是指将软件抽象层放在操作系统之上、应用代码层之下,这一理念在市场上发展迅猛、势如破竹。容器技术围绕Kubernetes作为行业标准实施了合并,这对增强云中工作负载的可移植性大有裨益。

  业思考未来要采用哪种计算基础架构,因而容器与无服务器之争成为了IT领域最热门的话题。

  引言

  容器是指将软件抽象层放在操作系统之上、应用代码层之下,这一理念在市场上发展迅猛、势如破竹。容器技术围绕Kubernetes作为行业标准实施了合并,这对增强云中工作负载的可移植性大有裨益。很多IT专家认为容器将成为企业计算领域的主导力量。

  但在2017年,无服务器技术(更准确地说是“函数即服务[FaaS]”)的人气飙升程度不亚于容器。“无服务器”是指将计算基础架构从用户完全抽离;开发人员通过无服务器接口上传代码段,代码段在后台执行,无需调配和管理任何服务器、容器或其他计算单元。

  容器还是无服务器?你的选择是什么?

  其实容器与无服务器之间存在重叠。容器经常用于在公有云中支持无服务器前端,而企业也希望在防火墙后面效仿此设置。

  Concur的首席软件工程师Dale Ragan说:“对开发人员来说,无服务器恰好是更新数据库方案的最简单方式,无需围绕架构添加大量繁琐内容。”但他对无服务器将超越环境中的其他接口这一观点表示怀疑。

  有些企业的IT专业人员预言,长期来看,无服务器技术将走得更远,超越初始的容器阶段,成为更受青睐的企业应用部署方式。

  美国的一家高等教育软件制造商Ellucian的高级DevOps总监Jason Shawn说:“它(无服务器)非常适合微服务架构的概念。”

  支持者认为,无服务器函数就是将应用分解为最小的组件(如微服务)所得到的结果。

  “你[使用无服务器]构建,可以实现不可思议的扩展性,因为你无需在给定机器上维护状态。”Shawn说。

  无服务器是否会成为“第二个PaaS”?

  无服务器技术仅适用于具有间歇性工作负载需求的应用。例如,Amazon Web Services (AWS) Lambda的函数最多可以运行五分钟。但是,有些企业的IT专业人员预计在未来,长时间运行的应用可以使用类似于Lambda的平台,并且无服务器最终将包括剥离基础架构管理(也就是我们已知的“平台即服务[PaaS]”)的所有公有云服务。

  纽约时报集团首席技术官Nick Rockwell认为:“在大多数情况下,容器有些无关紧要,它的优势并不明显。在我看来,容器就是这个行业的一个错误。”

  Rockwell的团队试用过Google Kubernetes Engine (GKE),这是一种容器即服务(CaaS)产品;但后来他们转而使用Google App Engine(行业中最早的PaaS产品之一)来提高开发人员的工作效率。一些处于前沿的DevOps团队已经不再青睐PaaS方案,因为这类方案限制了开发人员对于底层基础架构的选择,但是Rockwell说他认为这些限制实际上是件好事。

  “你需要接受平台条件的约束,这意味着你别无选择,只能专注于编码应用的重要部分。”他说。

  IDC的研究经理Gary Chen表示,无服务器是PaaS的一种形式,但FaaS方案实际上比之前的PaaS限制性更小,代表了PaaS未来的发展趋势。

  Concur的Ragan表示,PaaS(无论基于函数与否)的问题在于其依赖关系。

  “虽然Heroku [PaaS]在这些方面表现不错,但你仍会遇到主机本身方面的依赖关系问题,不一定是你部署的代码有问题。”他说,“这也是我们更倾向于容器的部分原因,因为构建一次镜像即可在各个服务器中使用,无需考虑更多,这种体验非常不错。”

  IT行业的惯性会阻碍无服务器的快速发展

  有些业界观察家认为,只要大型机没有退出舞台,市场便不会以压倒性的方式转向新产品,尤其是像无服务器这样的颠覆性产品。与往常一样,如果被问:“选择容器、无服务器、PaaS,还是其他产品”,大多数IT专业人员会回答说:“具体情况具体分析。”

  如果是大型企业,选择无服务器也不是不可能,但容器可让您更灵活地选择云提供商、托管服务和自管理环境。

  美国加利福尼亚州帕洛阿尔托的一家业务采购软件公司的John Mitchell表示,对于重量级数据库等大规模的有状态应用,无服务器的成本实际上比容器要高,因为此类应用需要持续处理数据并持续调用函数。

  “如果说过去20年我们发现了什么,那就是IT生态系统没有变得越来越简单、越来越小。”Mitchell说道,“实际上,它变得越来越多样化,我认为即使是很强大的函数也不能改变这种趋势。”

  IBM的工程师Sanjeev Sharma表示,在IBM,有兴趣对比容器与无服务器技术的人越来越多。他说,IT运维人员无论使用哪个技术来更轻松完成管理工作,都有很长的路要走。与FaaS相比,容器的概念更易于被主流IT界接受。

  “毕竟很多人都不能正确地管理虚拟机或云,我很难相信他们能够驾驭这两种技术。”Sharma说道,“容器和无服务器可让运行的实例数量增加好几个量级,如果他们不能理顺企业的运维或管理工作以处理如此多的实例,我不知道他们如何能运用好这两项技术。”

  相对于无服务器,容器的另一项优势是,在Kubernetes互操作性方面容器已经实现了跨云标准,而无服务器社区仍未制定出一个统一的开源方案。很多相互竞争的开源FaaS项目承诺在云之间实现类似于Kubernetes的可移植性,但是没有一个能够真正做到。

  在过去几年,软件容器已经成为一项重要事物。Gartner数据显示,到2016年年底,有25%的工作负载在部署时采用了容器。容器的广泛采用主要受到开发人员的推动,但仍然面临一些挑战:如何运维和管理大规模地安全运行这些容器的环境。

  在过去两年内,行业从PaaS转向了CaaS而不是FaaS。PaaS中的领军产品Pivotal Cloud Foundry 2.0提供了Cloud Foundry Container Runtime,同时Pivotal管理层表示,他们打算就如何针对不同应用使用三种接口(无服务器、PaaS和容器)向客户提供建议。

  鹿死谁手仍未知,但无服务器势头迅猛

  SAP Ariba的Mitchell认为,大多数现代企业应用的开发是由“泡沫”组成的(他说的“泡沫(froth)”,即调用底层服务及其他少量内容的代码层),而这尤其适合无服务器平台。

  Mitchell并没有预测这是否会一直是企业工作负载的主流,但其他人对此持肯定意见。

  Fong说,无服务器平台在后台非常复杂,但用户无需担心这一点,也无需担心应用的内置恢复能力。无服务器环境中的每一个函数都是独立的,丢失一个函数不会影响其他函数。

  

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-20 18:51:02   nightstone

如何使用Charles抓取Web...

随机文章

 2021-12-30 05:38:01   xxmsian

双线服务器托管上数据中心

 2022-01-15 05:38:02   二图

我应该选择双线双IP机房还是双线...

 2022-03-05 05:38:02   gimmy

数据迁移系统包括什么

 2022-03-14 05:38:03   netstu86

Nginx如何限制流量

 2022-03-26 05:38:03   cech

如何在webmin中设置samb...

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3