WebAssembly 真能取代 Kubernetes?

de3d182fa2e0a850eb3bb3d0485d6550.gif

摘要:许多开发者总是习惯性地将 WebAssembly 与 Kubernetes 进行对比,也许将来可能会出现某种技术,在云环境中部署和管理分布式应用程序,并最终取代 Kubernetes——而本文作者认为,它不太可能是 WebAssembly。

原文链接:https://thenewstack.io/yes-webassembly-can-replace-kubernetes/

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

作者 | Cameron Gain

译者 | 弯月   责编 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

我认为,WebAssembly 可以解决 Kubernetes 的一些问题。

WebAssembly(简称Wasm)是一种在 Web 浏览器上运行代码的方式,可以充当各种编译器。它作为一种语言也广受好评,2019 年万维网联盟(World Wide Web Consortium,W3C)将其命名为网络标准,成为继 HTML、CSS 和 JavaScript 之后的第四个网络标准。

现如今的主流 Web 浏览器,包括 Mozilla、Chrome、IE 等,都可以兼容 Wasm,因为它已成为在 Web 浏览器上编写代码以及创建应用程序的新兴渠道。除了 JavaScript 之外,Wasm 还可以兼容包括 Rust、Go、.NET、C++、Python、Java 以及 PHP 在内的许多其他语言。

举一个有趣的例子,Adobe 依赖 Wasm/WASI 平台直接在浏览器上运行 C++ 代码。这样,用户就可以直接在浏览器上运行 Adobe 的 Photoshop 和 Acrobat,不必将这些工具下载到自己的设备上了。

最后,开发人员意识到 Wasm 也可以在服务器操作系统上运行,并且可以扩展到硬件平台。事实证明,Wasm 可以在许多不同的硬件环境中正常运行,包括从服务器端到边缘部署和物联网设备,或者任何可以直接在 CPU 上运行代码的设备。代码将被整齐地打包到 Wasm 可执行文件中,有点类似于容器甚至是迷你操作系统,而且 Wasm 运行代码所需的配置非常少。代码可以随意部署到任何地方,应用程序将不再局限于 Web 浏览器的环境。

从许多方面来看,Wasm 就相当于多语言编译器,因为它可以容纳多种不同的语言。然而,与编译器相比,Wasm 的二进制可执行文件可以在多个平台上运行,无需在 Wasm和目标设备上配置代码。

从这个角度来说,Wasm 甚至超越了编译器,因为在编译器时代,可执行文件和目标环境主机上的代码必须经过重新配置。Wasm 的优势就在于,它能创建一个跨平台的二进制可执行文件,无需重新配置。

c45baa881f6e068dc63a1da001b4a834.jpeg

Enterprise Management Associates 的分析师 Torsten Volk 表示:“有了 Wasm,我们终于无需开发人员参与,便可以在服务器、云和边缘设备之间移动代码。以前,开发人员不得不花费大量时间调整代码,并支持不同目标平台上的代码,这样的时代终将结束。Wasm 统一提供了一个可服务于所有平台的运行时。”

综合上述原因,我们认为在某些情况下,Wasm 可以成为一个很好的 Kubernetes 替代方案。与 Kubernetes 相比,Wasm 的主要优势包括:

  • 简单性。在部署应用程序时,Wasm 可以省却一些步骤,即便应用程序需要分发到不同的目标设备上也没有问题。Cosmonic 的 PaaS 版本提供了图形界面,因此部署应用程序时需要运行的命令非常少。此外,还可以使用 Fermyon 和 Fastly 的 Compute@Edge。

相对而言,开发人员学习使用 Kubernetes 是非常困难的。学习曲线很陡峭,需要配置大量 YAML 文件,而且需要经过许多步骤和过程才能将代码部署到集群中。

安装 Kubernetes 和部署第一个应用程序通常需要几个小时,但将 Fermyon 平台安装到 DigitalOcean、AWS 或 Azure 上只需七分钟,然后你就可以部署 WebAssembly 应用程序了,不需要编写任何 YAML。

  • 安全性。在 Kubernetes 这类的分布式环境中,安全性仍然是一个很重要的问题。微服务之间的相互连接意味着,攻击者一旦获得 Pod 中上百个入口点中的一个的访问权,就有可能对组织的整个基础设施造成严重破坏。另一方面,机密的管理也是一个问题,我们很难指定谁有权访问容器中的机密数据。

而 Wasm 的可移植性和一致性可以降低管理安全性和合规性的难度。此外,Wasm 的结构十分简单,这意味着代码在封闭的沙盒环境中发布,几乎可以直接发布到端点——我们并不是说 Wasm 没有任何可以利用的漏洞,只不过 Kubernetes 被攻击的可能性更高。

f816cf1034e4777fa8056c8e48135723.png

Wasm 与 Kubernetes 的目标不同

Wasm 提供了巨大的机会,并且可能成为一种大规模部署应用程序的方式,在未来几个月和几年内,我们将看到,供应商会想方设法为用户创造更多机会利用 Wasm。但我们不能简单地认为 Wasm 终将取代 Kubernetes,也许将来可能会出现某种技术,在云环境中部署和管理分布式应用程序,并最终取代 Kubernetes,但不太可能是 Wasm。

Kubernetes 有其独到的用途,比如编排微服务和容器等。我们可以认为,Wasm 将在 Kubernetes 中运行,也已有人认为 Wasm 非常适合在 Kubernetes 环境中运行。

“Wasm 是一个无服务器运行时,开发人员可以将代码部署到其中,同时无需同时编写和维护大量基础设施的 YAML。Wasm 为应用程序提供了一组标准的 API,供我们统一访问核心的运行时服务,例如 SQL 或 NoSQL、Kafka 消息传递或代码调试。” Volk 表示:“而 Wasm 需要依赖的资源编排可以由 Kubernetes 或其他调度程序提供。”

然而,并非所有人都认为 Kubernetes 的容器编排能力永远都是无可替代的。Butcher 说,Wasm 领域的许多人都被 HashiCorp 的 Nomad 调度程序所吸引。ermyon 已经放弃了 Krustlet(Wasm-on-Kubernetes),转而使用 HashiCorp Nomad 作为调度器。

Butcher 表示:“Nomad 的容器调度和 WebAssembly非常出色,我们认为这是云协调器的未来。我认为也许未来 Kubernetes 将逐渐消失,由 Nomad 取而代之。”

Nomad 也提供编排容器的功能,就像 Kubernetes 一样,但前者还有一个重要的附加功能:编排非容器工作负载。Butcher 说:“在 Fermyon,我们通过 Nomad 调度应用程序,然后再通过 WebAssembly 执行,整个过程无需编写任何代码。”

与此同时,Kubernetes 开发人员需要接受 WebAssembly,并改变内置的、特定于容器的功能。微软是第一家真正接受这一概念的公司,他们的 runwasi 项目就是在 Kubernetes 内部运行 WebAssembly 的一个例子。

Butcher 表示:“只不过,runwasi 项目只是第一步,Kubernetes 要想守住微服务与容器领域的霸主地位,就需要进行一系列的转型。在这场比赛中,目前 Kubernetes 处于不利地位,如果不想被 Nomad 和 Wasm 超越,开发人员和维护者需要迅速采取行动。”

fbc076639a7e761a8b68ea01045285c3.png

潜在的威胁

Wasm 威胁到了 Docker 以及容器的生存。Wasm 在简单性、可移植性和安全性方面的优势使其成为弥补 Docker 缺点的备选之一,尤其是对于边缘和分布式应用程序而言。但是,Docker 擅长为两种不同类型的应用程序提供环境:

  • 长时间运行的进程,如数据库和消息队列,它们对 I/O 和内存管理都有着强烈的需求。

  • 应用程序内部残留的许多旧代码不仅保存了状态,而且还大量使用线程。

Butcher表示:“我认为,Docker 在市场上拥有强大而稳固的地位,不太可能被 Wasm 取代。但是,对于微服务和 Web 应用程序的后端,我认为 WebAssembly 完全可以取代 Docker。”

因此,在某些情况下,Wasm 确实可以取代 Docker 和容器,但 Wasm 不可能代替 Kubernetes 在分布式云环境中编排容器和微服务。

3288f43548092d243707d5bea5ab6595.gif

《2022-2023 中国开发者大调查》重磅启动,欢迎扫描下方二维码,参与人人都在使用的「基础软硬件」的问卷调研,更有 iPad 等精美大礼等你拿!892e1d4dab57257d3764b30f45330aad.png

☞2022 程序员“求生”现状:躲过“裁员潮 ”,也避不开 AIGC 和虚拟人?
☞音视频激荡40年:从9英寸的黑白电视,到4.56亿人的直播狂欢
☞ChatGPT 成学生“作弊神器”?教授:“我感到极度恐惧”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/40104.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT生成五子棋小游戏

GPT生成五子棋 用python编写五子棋游戏要有游戏界面游戏规则如下 1.五子棋棋盘为 15x15的方格棋盘,两人轮流在空位上落子先连成一线(即五个同色棋子相邻) 者获胜。 2.先手执黑,后手执白,轮流下子 3.黑方先走,每次只能下一子&…

参会记录|2022 CNCC 中国计算机大会参会总结

前言 第 19 届 CNCC 于2022年12月8-10日召开,本届大会为期三天,首次采取全线上举办形式,主题为“算力、数据、生态”,重点在保持多样性、聚焦热点前沿话题、平衡学术界和产业界参与等维度展开讨论。大会由CCF会士、中国科学院院士…

如何在EXCEL中运行ChatGPT,从此不再需要记函数【二】

文章目录 目录 文章目录 序言 从此不需要在记函数 最后总结 序言 Excel是处理大量数据非常有用的工具。然而,找到并实施正确的公式有时可能是一个复杂和令人沮丧的经历。幸运的是,ChatGPT可以成为一个优秀的助手,帮助克服这些挑战。 借助…

chatgpt赋能Python-pycharm怎么关联

Pycharm怎么关联——提高Python开发效率的关键步骤 作为一名有10年Python编程经验的工程师,我深知在日常开发中如何提高Python的编程效率至关重要。而Pycharm则是Python领域最常用的IDE之一,其强大的代码编辑和调试功能,深受开发者的喜爱。 …

双色球(过滤历史数据+过滤连号+红球包含+篮球包含+大小分布)

1.彩票官网复制历史数据,存入文件 2.基本处理逻辑 1.红球组合 2.排除红球连号(自定义3、4、5、6个连续) 3.红蓝组合(自定义蓝球出现的可能,比如我想蓝号只出1或者12…) 4.解析历史数据,排除这些数据 5.定义大小分布,以一个数为中间数,大于他包含几个,小于他的包含几…

剧本杀游戏app开发

剧本杀游戏app开发通常会涉及以下技术: 开发语言:剧本杀游戏app可以使用各种编程语言进行开发,例如Java、Kotlin、Swift等。 游戏引擎开发:为了实现游戏过程中的角色扮演、对话、动画等效果,需要使用适当的游戏…

计算机SCI论文重复率高,有什么降重技巧? - 易智编译EaseEditing

不管是计算机还是其他的专业,论文重复率高,就要进行论文降重。 有一些简单的降重的技巧可以分享一下: “中英中”互换法 用翻译软件先翻译成英文, 再翻译回中文,之后手工修改润色一下, 这样换了一种表达句…

SCI论文重复率与降重

SCI论文重复率与降重 觉得有用的话,欢迎一起讨论相互学习~ 首先声明,个人自己经验和网上资料总结,部分文字和观点来自于网上,本人非营销号也没打广告,侵权删除,谢谢!审核的大凶弟再说我打广告我生气了! 我…

手机号码归属地查询,免费API

接口地址: https://api.kertennet.com/tool/phoneAttribution 返回格式: JSON 请求方式: GET 请求示例: https://api.kertennet.com/tool/phoneAttribution?phone1782016**** 接口完整地址:跳转 请求参数说明: 返回数据:

APISpace 手机号码归属地和运营商查询API

APISpace 的 中国手机号码归属地和运营商查询API,为您提供最新的中国移动、中国电信、中国联通所有手机号码归属地等功能, 输入手机号码至少前7位,可查该手机号码归属地、所属号段、手机卡类型。 手机号码归属地有三大作用: 代表…

通信模块——虚拟号码

虚拟号码 API 是一种可以让应用程序在不直接暴露真实手机号码的情况下进行短信、语音、验证码等通讯服务的技术。虚拟号码 API 允许开发人员通过 API 调用获取一个虚拟号码,然后使用此虚拟号码与用户进行通讯,保护用户的隐私信息。 虚拟号码 API 的主要…

chatgpt赋能python:如何从Python官网下载Python

如何从Python官网下载Python 如果你正在寻找一种简单又快速的方式来获取Python,那么前往Python官网就是一个不错的选择。Python官网向世界各地的用户提供了下载Python的途径,同时还提供了有关Python程序语言的资源和信息。如果你想了解如何从Python官网…

chatgpt赋能python:Python免费下载安装教程

Python免费下载安装教程 Python语言非常受欢迎,因为它易于学习,具有强大的功能和广泛的用途。如今,越来越多的人选择学习Python,这也是为什么我们要为您提供这个免费下载安装Python的指南。 1. 为什么选择Python Python是一种高…

chatgpt赋能python:Python下载流程:从安装到运行

Python下载流程:从安装到运行 作为一门流行的编程语言,Python为我们提供了强大的编程工具和丰富的库。如果你还没有体验过Python,那么这篇文章将带你了解从下载到运行Python的详细流程。 下载Python 想要在本地电脑上运行Python程序&#…

给大家做了一个Python 抖音机器人,可以在抖音上直接找到漂亮集美 ǃ

如何在抖音上找到漂亮小姐姐----抖音机器人 最近沉迷于抖音无法自拔,常常花好几个小时在抖音漂亮小姐姐身上。 为了高效、直接地找到漂亮小姐姐,我用 Python ADB 做了一个 Python 抖音机器人 Douyin-Bot。 特性 [x] 自动翻页[x] 颜值检测[x] 人脸识别…

字节跳动抖音推荐算法实习生一面凉经

面试大概50分钟 本来投的是头条开发岗位,不知为何被捞到了推荐算法岗位。多位推荐算法hr一直约我面试,说经历和他们部门契合。我从年底推到年后,最后答应面试,这也是读研以来第一次面试。大概是自己准备不充分,一面就…

抖音算法揭秘,百万粉丝的背后逻辑

抖音算法揭秘,百万粉丝的背后逻辑 抖音如何让上热门? 百度有百度的算法、微信有微信的算法、头条也头条的算法,算法是任何平台必不可少的机制,今天就来分享一下抖音的算法机制。 一、科普 算法是什么? 简单通俗的讲…

抖音算法机制,抖音算法规则,抖音算法逻辑

抖音是一个强运营的平台,官方对于抖音的把控很严,不像公众号一样对于运营者几乎处于放养的状态,也就是说,抖音上视频的播放量不是由粉丝决定的;抖音对平台实施的是“计划经济”,流量都是由官方负责分配的。…

抖音算法推荐机制详解

抖音算法推荐机制详解!(科普向) 众所周知抖音的流量分配是去中心化的,这种去中心化算法,让每个人都有机会爆红,可为什么别人几个粉玩抖音,就能轻松获得10w点赞?而你怒拍几十条也枉然? 抖音的…

算法视角揭秘抖音短视频如何实现精准推荐?为何能产生100w+

经常听身边的一些朋友感叹 “抖音有毒”,一刷就是几个小时,可想而知它的用户黏性有多强。 抖音的算法极具魅力,这个魅力在于,抖音的流量分配是去中心化的。 在公众号上,如果你的粉丝寥寥无几,那你发的内容…