Redian新闻
>
容器与无服务器,是竞争对手还是队友?

容器与无服务器,是竞争对手还是队友?

公众号新闻

作者 | Omer Hamerman
译者 | 明知山
策划 | 丁晓昀

在 IT 行业,我们经常会听到诸如云计算、容器、无服务器框架等术语。

那么什么是云计算?容器是如何工作的?函数又如何变成无服务器的?

本文将尝试解读这些技术术语,并探索开发人员应该如何在技术栈中考虑采用容器或无服务器函数。

例如,如果你的应用程序启动时间较长,那么容器可以更好地满足你的需求。

需要进行大规模伸缩的高效无状态函数将从运行无服务器函数中受益。

容器的工作原理

容器 是被打包好的应用程序,包含了代码以及必要的库和依赖项,可以在任何环境中运行,不管是哪种操作系统。它可以帮助开发人员轻松地构建、发布、部署和扩展应用程序。

图 1 虚拟机与容器之间的比较

以前,在容器还不是那么流行的时候,开发人员习惯于将应用程序部署在单独的虚拟机中以实现隔离。每个 虚拟机 都需要一个客户操作系统,需要物理硬件提供 CPU 和内存,这会导致虚拟机耗尽应用程序所需的资源。

采用了容器之后就不再需要客户操作系统了,因为容器引擎可以与一个或多个容器共享物理操作系统。与虚拟机相比,这是一个巨大的优势,因为现在更多的资源可用于应用程序。

容器镜像是由开发人员创建的,其中包含了关于容器应该如何运行的指令。然后,开发人员可以使用容器镜像来启动运行实际应用程序的容器。它包含了可以在完全隔离的环境中运行的可执行代码。应用程序的库和依赖项也打包在镜像中。Docker、Amazon ECS、Kubernetes 和 GCP Autopilot 是主要的容器化平台。

什么是无服务器函数

顾名思义,无服务器计算 是计算机科学的一种范式,即开发人员不需要自己管理服务器,而由第三方服务来管理服务器,这样开发人员就可以更多地关注应用程序逻辑,不需要操心与维护服务器相关的问题。无服务器函数,一般来说,是对容器的进一步抽象,两者使用的是相同的底层技术。

无服务器计算的工作原理

如果没有物理服务器,无服务器计算是不可能实现的——只是开发人员不需要与它们交互,因为供应商(通常是像 AWS、Azure 或 GCP 这样的云供应商)承担了管理服务器的工作。通常,无服务器基础设施中是有容器的。例如,AWS 开源了他们的 Rust 项目,用于处理函数的实例化(firecracker)和用于承载容器节点的轻量级操作系统(bottlerocket)。在这种范式中,供应商为开发人员提供了一个可以编写和提交代码的环境。平台负责执行、分配物理内存、CPU 和输出,并根据应用程序运行的时间以及内存和 CPU 消耗向用户收费。这是一个巨大的优势,因为与自己运行或管理基础设施相比,它大大降低了成本。需要注意的是,无服务器函数也利用了底层的容器。在你启动无服务器函数时,云平台会启动容器,应用程序将在容器中运行。因此,底层技术是相似的,只是环境的部署、扩展和使用方式不同。

容器与无服务器之间的基本区别

你可以在下表中看到容器与无服务器函数之间的一些关键区别。

用    例

容器和无服务器计算有几种日常的应用场景。有些解决方案可以通过使用容器或无服务器函数来实现。不过,主要的区别在于容器和无服务器函数的定价方式、与云端其他应用程序和服务的集成以及基于负载进行伸缩的能力。

例如,如果你的应用程序是一个基于 IP 地址查找地理位置的短时间进程,那么它可以是无服务器的。随着请求数量的增加,无服务器函数将会自动伸缩,无需任何人工干预。如果是 Web 应用程序,需要长时间保持运行,那么容器可能更合适。

此外,需要更快访问存储的进程可以使用容器,因为它们可以与文件系统集成。一个例子是集成运行在 Amazon ECS 上的容器,这些容器可以使用高度可伸缩的 EFS 或 Azure Files 进行存储。

下面的决策树可能有助于决定选择容器还是无服务器函数。

图 2 选择容器或无服务器函数的简单决策树

两者之间可能存在重叠,下面将讨论容器和无服务器函数的一些常见用例。

容器

编程语言支持

当你将应用程序打包到容器中,它就与平台无关了。无服务器函数支持一些最常见的运行时环境,如 Java、Python、Go 等。但是,如果无服务器函数的运行时不支持应用程序所使用的编程语言,那么容器将是理想的解决方案。容器可以使用任何容器编排平台(如 Kubernetes)进行部署。

托管长时间运行的应用程序

容器更容易运行需要作为服务长时间运行的 Web 应用程序。例如,跟踪网站用户行为的跟踪应用程序就可以使用容器部署。容器可以根据生成的事件进行伸缩。我们还可以利用 Kubernetes、AWS Fargate 等流行技术来编排容器。

无服务器

API 端点

组织可以使用无服务器应用程序为 Web 或移动服务器部署 API 端点。这些 API 可以是无状态的和短生命周期的,可以根据事件触发。

物联网处理

随着家庭和工业自动化的发展,物联网设备的使用显著增加。这些物联网设备可以利用无服务器计算的强大功能。

事件流

在实时事件流场景中,需要根据特定条件填充或过滤事件,开发人员可以使用短生命周期的无服务器函数。然后,你可以使用这些函数检查事件是否有效,或者用人口统计信息来填充事件,等等。

总    结

容器和无服务器应用程序都是可以让开发人员受益的与云无关的工具。根据经验,容器提供隔离性和灵活性,而无服务器有助于开发,并帮助你以最小的运行时成本进行自动伸缩。

选择使用容器还是无服务器应用程序取决于具体的用例。例如,如果需要构建一个提供快速、短时间响应的 API 服务器,那么无服务器框架会更好。如果应用程序需要始终可用和运行,那么选择容器化应用程序更合适。

原文链接

https://www.infoq.com/articles/containers-serverless-rivals-cohorts/

相关阅读

通通透透看无服务器计算:由来、场景和问题 (https://xie.infoq.cn/article/1409ffa52d932d257331bb2b5 )

无服务器应用程序开发的最新趋势

无需服务器开发,实现设备状态缓存方案——实践类 (https://xie.infoq.cn/article/a05c7f3e5c826d912391ea842 )

递归无服务器函数是云端最大的计费风险?(https://www.infoq.cn/article/NIKdzlRr6VqIjFFZgseM)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

用C++写出比MySQL快800倍的数据库,ClickHouse创始人:融合数据库该“卷”的还是性能和速度

国产替代潮来了,这与京东云已“养成”的混合多云有什么关系?

裁员潮过去、削减中层管理潮又来了:升管理保饭碗,不灵了

如何防止架构师PM化

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
卷死竞争对手!!OpenAI低价倾销ChatGPT!!!对话OpenCloudOS:国内操作系统社区间不是竞争,而是互补英国一度市值到14亿英镑的房产公司Purplebricks,缘何如今以1英镑卖给了竞争对手?竞争对手调研:如何更好地分析竞争对手?优化 Linux 服务器的 9 个小技巧,让 Linux 服务器效率起来又有竞争对手“投怀送抱”,特斯拉在美国要“一统江湖”?02月17号:在商业战场上,什么样的竞争对手最可怕?新品牌做什么,竞争对手抄不了?|中国爆款服务器推送事件:一种从服务器流式推送事件的简易方法 | Linux 中国Elon Musk: Immigrants from China & other Asian countries havChatGPT服务器,深度拆解(2023)对话哥伦比亚大学教授俞舟:人工智能公司的竞争,到最后还是产品和服务的竞争比起ChatGPT,更可怕的竞争对手是……美媒:美方航司已向美国政府提出诉求,要求禁止外国竞争对手飞越俄罗斯!此外,一大波往返中国的航线将复航……他将宣布参加美国总统大选 被称特朗普头号竞争对手!全美首个:蒙大拿州将全面禁止TikTok!国会众议员计划提交针对拜登的弹劾条款愈演愈烈的“新港之争”,是零和博弈还是还是竞合前行?特斯拉:Giga Berlin is the machine that builds the machine微软绝杀!GPT-4接入Office全家桶,竞争对手们还有后路吗?|甲子光年史诗级暴跌!拜登:还没结束!阿里巴巴暴涨超14%,飙升2200亿!苹果出手,竞争对手立马崩了藤校首例!哥大正式官宣 取消SAT和ACT成绩要求!是申请更简单了还是竞争者更多了?微软扶持英伟达竞争对手,组建千人团队自研芯片比尔盖茨新恋情曝光? 对方身价过亿, 是曾经最大竞争对手遗孀?自主品牌份额持续提升!福特CEO表态,中国车企才是竞争对手"中国车企是我们主要竞争对手,不是通用或丰田"Ferrari CEO compliments Tesla for shaking up the automotive indu突然发布!ChatGPT 加量还打折,对手还怎么玩?如果你不考虑你的公司的人工智能战略,你的竞争对手正在考虑;海妖队季后赛观战指南SpaceX被勒索团伙威胁?声称已窃取3000份火箭设计图,不给钱就卖给竞争对手秘密花园根茎生长可视化套装,全景透明容器,直观感受大自然神奇变化中国正成为德国最强大竞争对手推特:This is the highest Q1 Twitter usage ever and。。。昔日竞争对手变身合作伙伴?玩具巨头孩之宝与美泰达成战略合作马斯克为他“站台”,特朗普在共和党内最大竞争对手出现服务器市场、产业链及竞争格局(2023)Tesla ecosystem: energy generation, energy storage & electri
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。