就在十多年前,Amazon Elastic Cloud、AWS的前身和Microsoft Azure向人们展示了云计算的意义。NASA艾姆斯研究中心和Rackspace的开发人员认为有一种更好的方法来构建云:用开源软件构建云。他们的联合基础设施即服务项目为OpenStack。
OpenStack是最重要的开源私有IaaS云。它的发展速度很快。据开放基础设施基金会(Open Infrastructure Foundation)首席执行官Mark Collier说,“OpenStack是地球上最活跃的三个开源项目之一”,只有Linux内核和Chromium浏览器领先于它。
OpenStack拥有超过10亿的用户。Collier观察到OpenStack在电信公司非常受欢迎。尤其是中国移动(世界上最大的移动公司,拥有10亿用户),全部通过OpenStack支持的网络运行。
OpenStack的开发人员并没有停留在荣誉上。他们正在继续改进云计算。
例如,在Wallaby中,他们将基于角色的访问控制策略格式从JSON迁移到YAML。这将有助于减少OpenStack部署策略管理的问题。它还使OpenStack与Kubernetes更加同步,Kubernetes在其整个程序中使用YAML。
程序员也已经从基于sudo的oslo.rootwrap迁移到oslo.privsep,以获得更快、更安全的命令特权模型。在过去,sudo命令(就像你在程序中嵌入构造时所做的那样),用易操作性换取可能的安全漏洞。这是一项正在进行的工作,但它仍然是使OpenStack部署更容易保护的一个重要步骤。
此版本还改进了其后端块存储服务Cinder。Ceph是一种开源的分布式存储系统,它能够用于块、文件和对象存储,长期以来一直是OpenStack开发人员最喜欢的存储后端。现在,OpenStack内置了对开源Ceph后端驱动程序Ceph iSCSI的支持。除了其他新的Cinder存储驱动程序外,旧的驱动程序还增加了对新功能的支持,如恢复到快照和后端服务质量。
然而,笔者认为最有趣的功能是OpenStack如何与其他开源项目“交朋友”。例如,为OpenStack提供生产就绪容器和部署工具的Kolla现在已经添加了对Prometheus V2的支持。Prometheus是一个开源的监控系统,它已经成为Kubernetes监控工具的首选。
继续与Kubernetes集成的OpenStack Magnum API服务已经更新了对Kubernetes和containerd(一个标准的容器运行时)的支持。这使得Kubernetes成为一流OpenStack资源。具体来说,Magnum使用Heat(OpenStack编排程序)来编排包含Kubernetes的操作系统镜像,并在虚拟机或集群配置中的裸机中运行该镜像。
所有这些变化的结果是OpenStack比以往任何时候都更安全,而且它与云原生程序的互操作性正在不断增加。有充足的理由让你使用这个新版本。