云原生爱好者周刊:目前 WebAssembly 的最佳应用场景有哪些?
云原生一周动态要闻:
Istio 1.11 发布
Facebook、谷歌、Isovalent、微软和 Netflix 宣布成立 eBPF 基金会
GitHub 工程团队将开发环境迁移到 Codespaces
Sysdig 宣布对 Sysdig Monitor 进行重大改进
开源项目推荐
文章推荐
WebAssembly(Wasm) 是一种基于堆栈虚拟机的二进制指令格式,可以将 C/C++/Rust 等高级语言转成 JS 引擎可以运行的代码,使客户端和服务器应用程序能够在 Web 上部署。WebAssembly 的优势在于它可以将游戏、视频编辑、3D 渲染或音乐制作这些浏览器之外的软件功能带入 Web 端,拥有在 Web 上高效运行游戏等场景的能力,非常有前景。
目前 WebAssembly 已经推出很长一段时间了,到底有哪些项目用到了 WebAssembly 呢?我列举几个比较有趣的项目。
1、Google 地图网页版之前只能运行在 Chrome 浏览器中,使用 WebAssembly 重构后可以运行在任意浏览器中,目前还在开发中,地址:https://earth.google.com/static/wasm/
2、v86[1] 是一个基于 Rust 和 WebAssembly 的开源项目,它模拟了兼容 x86 的 CPU 和硬件,可以直接在浏览器里运行虚拟机。
关于 WebAssembly 的更多应用场景,可以参考 Made with WebAssembly[2] 这个网站。
云原生动态
Istio 1.11.0 发布
Istio 1.11.0 是 2021 年发布的第三个版本。Kubernetes 1.18.0 到 1.22.x 都支持 Istio 1.11.0。
以下是此版本的一些亮点:
-
CNI 插件(测试版)
Istio CNI 插件替代了 istio-init 执行相同网络功能的容器,但不需要 Istio 用户启用提升的 Kubernetes 权限。
CNI 插件可以与其他插件链接,并支持大多数托管的 Kubernetes 实现。
-
外部控制平面(测试版)
去年,Istio 引入了一种新的部署模型,其中集群的控制平面在该集群之外进行管理。这允许管理控制平面的网格所有者和在网格中部署和配置服务的网格用户之间的关注点分离。在单独的集群中运行的外部控制平面可以控制单个数据平面集群或多集群网格的多个集群。
在 1.11 中,此功能已升级为 Beta。
-
网关注入
网关注入将网关的管理移动到与 sidecar 代理相同的方法。您在全局代理上设置的配置将应用于您的网关,并且不可能的复杂配置(例如,将网关作为 DaemonSet 运行)现在很容易。您还可以在集群升级后通过重新启动 pod 将网关更新到最新版本。
-
Kubernetes 多集群服务 (MCS) 支持(实验性)
Kubernetes 项目正在构建一个多集群服务 API,允许服务所有者或网格管理员控制跨网格的服务及其端点的导出。
Istio 1.11 增加了对多集群服务的实验性支持。启用后,服务端点的可发现性取决于客户端位置以及服务是否已导出。与客户端位于同一集群中的端点将始终可被发现。然而,不同集群中的端点只有在导出到网格时才能被客户端发现。
详情见[3]
Facebook、谷歌、Isovalent、微软和 Netflix 宣布成立 eBPF 基金会
近年来,基于 eBPF 的项目数量呈爆炸式增长,并且越来越多的项目宣布有意开始采用该技术。eBPF 正迅速成为基础设施软件领域最具影响力的技术之一。因此,优化项目之间的协作并确保 eBPF 的核心得到良好维护,并为 eBPF 的光明未来配备清晰的路线图和愿景的需求很高。这就是 eBPF 基金会的用武之地,并成立了一个 eBPF 指导委员会来处理 eBPF 的技术方向和愿景。
eBPF 是一个完全独立的项目,提供对 BPF 的向后兼容性,被称为“Linux 最新的超级大国”。eBPF 为 Linux 内核提供了一种使用即时 (JIT) 编译器代表用户执行自定义操作的方法,同时还提供了一个完全沙盒化的环境。本质上,eBPF 允许扩展 Linux 内核而无需实际更改它。
详情见[4]
GitHub 工程团队将开发环境迁移到 Codespaces
GitHub 官方宣布,负责 github.com 的工程团队已将开发环境迁移至 Codespaces。
GitHub 表示,他们长期投入了大量时间和精力来为团队打造一个“开箱即用”的本地开发环境,让新员工可以迅速配置和运行 github.com 的本地实例。但现实情况是,虽然付出了许多努力,这样的开发环境却依旧十分脆弱。任何看似无害的变更都可能会导致本地环境失效,更糟糕的是,这种情况往往需要数小时的宝贵开发时间来恢复。
考虑到工程师的开发环境各不相同,而且每个人都有自己习惯的特殊癖好。GitHub 受到 Codespaces 启发,他们可以像对待基础设施一样对待开发环境,也就是说没有什么是不可替换,或者不可或缺的,并且如果出现意外情况,可在已知的良好状态下提供一个新的 Codespaces 然后重新开始工作。
GitHub 表示,迁移到 Codespaces 解决了现有开发环境的脆弱性和单轨模型,激励他们进一步推动改进产品,并提升了整体的开发体验。
详情见[5]
Sysdig 宣布对 Sysdig Monitor 进行重大改进,从根本上简化 Prometheus 的采用
随着组织构建现代云应用程序,Prometheus 正迅速成为监控基于 Kubernetes 的工作负载的首选工具。开发人员和 SRE 依赖 Prometheus 作为监控的开放标准,它提供广泛的功能并有助于避免供应商锁定。然而,随着 Prometheus 环境在整个组织中激增,管理基础架构、导出器、仪表板和警报变得复杂且耗时。此外,组织还面临时间序列的长期存储、信息孤岛以及缺乏跨所有应用程序和基础架构的环境健康状况的全局视图。学习 PromQL(Prometheus 的查询语言)以及如何有效使用它可能需要数月时间,这会降低团队正确分析其指标的能力。
Sysdig 正在通过对其托管 Prometheus 服务进行新的增强来解决这些问题:
-
Sysdig Monitor 现在提供 Prometheus 监控集成的自动发现和辅助部署,以及预配置的仪表板、警报和新的集成管理界面。
-
Sysdig 通过引入 PromQL Explorer 使用户更容易学习和使用 PromQL,以便用户快速制作查询,将重要的归零,然后立即将这些查询添加到仪表板和警报中。
-
Sysdig 还引入了在摄取时添加自动标签的功能,以帮助客户将其 PromQL 查询的复杂性降低多达 90%。
-
Sysdig 正在添加对 Prometheus remote_write 的支持,以便组织可以将 Prometheus 指标卸载到 Sysdig 以进行长期存储。
-
Sysdig Monitor 与 Prometheus 原生兼容。
详情见[6]
开源项目推荐
Krane[7]
Krane 是一个开源的 Kubernetes RBAC 静态分析工具,可以识别 K8s RBAC 设计中的潜在安全风险,并提出如何规避这些风险的建议。它还提供了一个图形界面,可以帮助你直观了解集群内的 RBAC 设计。
Lucet[8]
Lucet 是一个本地 WebAssembly 编译器和运行时,它被设计用来在应用中安全地执行不受信任的 WebAssembly 程序。
EasyWSL[9]
虽然 Windows Subsystem for Linux 允许管理员直接从 Windows 系统中访问各种 Linux 工具,但 Microsoft Store 上并没有上架所有的 Linux 发行版本。现在通过名为 EasyWSL 的新工具,用户可以将几乎所有 Linux Docker 镜像转换为支持 WSL 的发行版本。
Kubegres[10]
Kubegres 是一个 Kubernetes Operator,用来部署并维护 PostgreSql 集群,提供开箱即用的数据复制和故障转移功能,简化 PostgreSql 集群生命周期管理,降低数据复制的复杂性。
Curiefense[11]
Curiefense 为 Envoy 增加了一套广泛的自动化网络安全工具:WAF、DDoS 保护、僵尸管理、API 安全、速率限制、会话控制等等。它所包含的功能可以与商业闭源安全解决方案相媲美。
使用 Envoy 扩展来过滤流量,就不需要外部的第三方解决方案,因为安全可以被植入环境本身。这就意味着,云原生组织将不再需要在延迟、开放性、供应商锁定或隐私等问题上做出妥协。
文章推荐
零宕机调整 StatefulSet 存储卷的大小[12]
Kubernetes 默认不支持调整 StatefulSet 卷的大小,本文提供了一种解决方案,实现在零宕机的情况下调整 StatefulSet 的存储卷大小。
性能不是 BPF 的唯一优势[13]
本文通过一系列示例来说明性能并不是 BPF 的首要优势,BPF 最令人兴奋的优势在于它允许你在内核空间执行高效安全的程序。
使用 Alpine 构建 Python 镜像究竟有多慢[14]
本文详细阐述了使用 Alpine 来构建 Python 镜像的各种问题,并通过实验来验证是否存在这些问题,最终给出构建 Python 镜像的正确方法。
脚注
[1]v86: https://github.com/copy/v86
[2]Made with WebAssembly: https://madewithwebassembly.com/
[3]详情见: https://istio.io/latest/news/releases/1.11.x/announcing-1.11/
[4]详情见: https://isovalent.com/blog/post/2021-08-ebpf-foundation-announcement
[5]详情见: https://telegra.ph/GitHubs-Engineering-Team-has-moved-to-Codespaces--The-GitHub-Blog-08-14
[6]详情见: https://www.businesswire.com/news/home/20210811005087/en/
[7]Krane: https://github.com/appvia/krane
[8]Lucet: https://github.com/bytecodealliance/lucet
[9]EasyWSL: https://github.com/redcode-labs/easyWSL
[10]Kubegres: https://github.com/reactive-tech/kubegres
[11]Curiefense: https://github.com/curiefense/curiefense
[12]零宕机调整 StatefulSet 存储卷的大小: https://www.giffgaff.io/tech/resizing-statefulset-persistent-volumes-with-zero-downtime
[13]性能不是 BPF 的唯一优势: https://pchaigno.github.io/ebpf/2020/09/29/bpf-isnt-just-about-speed.html
[14]使用 Alpine 构建 Python 镜像究竟有多慢: https://pythonspeed.com/articles/alpine-docker-python/
关于 KubeSphere
KubeSphere (https://kubesphere.io)是在 Kubernetes 之上构建的开源容器混合云,提供全栈的 IT 自动化运维的能力,简化企业的 DevOps 工作流。
KubeSphere 已被 Aqara 智能家居、杭州数跑科技、本来生活、新浪、华夏银行、四川航空、国药集团、微众银行、紫金保险、中通、中国人保寿险、中国太平保险、中移金科、Radore、ZaloPay 等海内外数千家企业采用。KubeSphere 提供了开发者友好的向导式操作界面和丰富的企业级功能,包括多云与多集群管理、Kubernetes 资源管理、DevOps (CI/CD)、应用生命周期管理、微服务治理 (Service Mesh)、多租户管理、监控日志、告警通知、审计事件、存储与网络管理、GPU support 等功能,帮助企业快速构建一个强大和功能丰富的容器云平台。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
eKuiper 1.3.0 正式发布:加入 LF Edge 基金会后首个版本
eKuiper (原名 EMQ X Kuiper,现已捐献给 LF Edge 基金会,成为其旗下独立项目) 是 Golang 实现的轻量级物联网边缘分析、流式处理开源软件,可以运行在各类资源受限的边缘设备上。eKuiper 设计的一个主要目标就是将在云端运行的实时流式计算框架 (比如 Apache Spark (https://spark.apache.org/),Apache Storm (https://storm.apache.org/) 和 Apache Flink (https://flink.apache.org/)) 迁移到边缘端。Kuiper 参考了上述云端流式处理项目的架构与实现,结合边缘流式数据处理的特点,采用了编写基于源 (Source),SQL (业务逻辑处理), 目标 (Sink) 的规则引擎来实现边缘端的流式数据处理。 eKuiper 的应用场景包括:运行在各类物联网的边缘使用场景中,比如工业物联网中对生产线数据进行实时处理;车联网中的车机对来自汽车总线数据的即时分析;智能城市场景中,对来自于各类城市设施数据的实时分析。通过 eKuiper 在边缘端的处理,...
- 下一篇
QQ浏览器信息流云原生应用之路
背景 QQ 浏览器信息流(QB)推荐架构支撑了 QQ 浏览器、快报主 feeds 场景、浮层等信息流卡片实时推荐的能力,架构上不仅仅要支持多业务、多产品,如 QB 、快报、外部合作等,而且需要能够快速支持各种类型场景的能力,如主 TL 、浮层,且能够快速扩展支持垂直频道和 APP 。那么信息流推荐架构需要做到灵活模块化,水平易扩展。 为了做到海量级实时精准推荐,信息流推荐架构划分为了四层:展控层、排序层(精排/粗排)、召回层、索引层,并提供实时级用户画像模型打分模块和特征系统,进行实时的用户/物品特征累积,实时反馈给推荐链路进行千万级索引文章/视频的筛选和精准推荐。具体的架构模块图如下所示: 可以看到,推荐架构容纳的模块之多,支持的业务形式之多,而且需要支撑亿级用户规模和百亿特征规模,那么需要更好的技术架构体系对于如此庞大的架构服务和存储去进行开发、扩展、管理、维护等。 挑战 挑战一:实时性 (1)特征实时更新 (2)模型在线实时学习 挑战二:超大规模 (1)用户量级:亿级用户 (2)特征规模大:百亿特征、千亿参数(无量) (3)样本庞大:精排样本每日样本近百TB 挑战三...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS8编译安装MySQL8.0.19
- Hadoop3单机部署,实现最简伪集群
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,CentOS8安装Elasticsearch6.8.6