随着容器技术大行其道,应用的复杂性只增不减,开发者们开始广泛使用更先进的工具,比如 Kubernetes。目前 Kubernetes 已经不年轻了,开始逐渐开始 boring,你可能会想问 Kubernetes 之后还有什么令人兴奋的新技术。但云计算是一个快速发展的领域,不太容易精准预测下一个令人兴奋的新技术,不如我们将目光聚焦到目前云计算没有完全覆盖的细分领域。
微型虚拟机 (MicroVM)
在 Kubernetes 之后,有一个前景广阔的云技术可能会被广泛接受,即微型虚拟机 (MicroVM)。微型虚拟机与容器的区别在于它不与宿主机共用内核,拥有自己的微内核,提供了与虚拟机一样的硬件虚拟化安全性。虚拟机抽象了内存、CPU、网络、存储和其他计算资源,而微型虚拟机是围绕应用程序来对资源进行抽象,只抽象了必要的资源,所以更加高效。
目前最受欢迎的微型虚拟机就是 AWS Firecracker [1] ,它使用 Rust 语言编写,内存开销极低,将微型虚拟机打包到 Kubernetes 集群中,以提高工作负载的安全性和隔离性。AWS 目前正使用 Firecracker 作为 Serverless 的基础单元,冷启动时间延迟极低。
Weaveworks 也开源了一个基于 Firecracker 的虚拟机管理器 Ignite [2] ,将 Firecracker MicroVM 与 Docker/OCI 镜像结合起来,统一了容器和虚拟机。它以 GitOps 的方式工作,可以像 Kubernetes 和 Terraform 一样声明式管理虚拟机。
还有一些其他项目,例如 slim [3] ,旨在从 Dockerfile 重新构建和运行微型虚拟机。它的工作原理是从 Dockerfile 中构建并提取 rootfs,然后将该文件系统与一个在线 R