eBPF 来自哪里?
eBPF 于 2014 年作为 Linux 内核的一个功能而开始了它的旅程,同年编写了第一个 Kubernetes 提交。我还记得在 Linux Plumbers 会议上首次讨论了将 eBPF 添加到 Linux 内核的提议。它开始变得热门起来,最终导致我们中的一些人围绕 eBPF 和我们认为它拥有的巨大潜力而成立了一家完整的公司。
顾名思义,eBPF 与 BPF 有着共同的根源,BPF 起源于 BSD 社区。eBPF 合并到 Linux 内核的条件之一是要求不在内核中使用另一种字节码语言。因此,eBPF 也能够运行经典的 BPF 程序,并且 eBPF “extended BPF”这个名字诞生了。
eBPF 现在在哪里?
eBPF 进入了大型数据中心的基础设施软件层。例如,Facebook 发布了其基于 eBPF 的负载均衡器Katran,它多年来一直为 Facebook 数据中心提供支持。最近,Facebook 工程师还撰写了关于使用 eBPF 进行大规模加密的文章。
然而,eBPF 不仅仅适用于超大规模数据中心。eBPF 早已进入企业。例子包括Capital One和Adobe,他们都在 2020 年的 eBPF 峰会上分享了他们如何通过Cilium项目利用 eBPF来优化他们在云原生 Kubernetes 环境中的网络、安全性和可观察性需求的用户体验。eBPF 甚至已经成熟到谷歌决定将 eBPF 引入其托管 Kubernetes 产品 GKE 和 Anthos 的地步。Google 团队也将 eBPF 和 Cilium 引入 Google Kubernetes Engine 中。
下一步是什么?
eBPF 继续快速发展和发展。在eBPF 项目目录中可以找到很多不断扩展的eBPF 项目。虽然 eBPF 已经被广泛部署,但我们仍处于即将到来的一大波创新浪潮的开端。
还记得 Web 浏览器何时可以使用 JavaScript 等语言进行编程吗?突然之间,用户不再需要安装最新版本的浏览器就能受益于最新的创新。这开启了令人难以置信的创新浪潮,Web 浏览器已成为大多数应用程序的标准平台。可将 eBPF 视为使操作系统可进行编程,就像 JavaScript 和其他语言对 Web 浏览器所做的那样。因此,我们正在展望一个激动人心的创新未来。