这是关于 OpenStack 内自动化项目的系列三篇文章的第二部分,解释了它们的作用、工作方式以及在开发就绪程度和实际应用中的地位。之前,在第一部分中,我介绍了云部署工具,这些工具使您能够在裸机上安装/更新 OpenStack 云。下周,在最后一篇文章中,我将介绍自动化“第 2 天管理”——保持云和工作负载正常运行的工具。
第二类自动化产品处理工作负载的部署—虚拟实例、虚拟环境、应用程序和服务。 此类别中的 OpenStack 项目是 Heat、Solum 和 Murano。
Heat
Heat 是一项“编排服务,用于使用模板启动多个复合云应用程序。”
Heat 的用户将虚拟基础设施“堆栈”定义为模板,这是一个简单的 YAML 文件,描述了资源及其关系—服务器、卷、浮动 IP、网络、安全组、用户等。 使用此模板,Heat“编排”完整堆栈的完整生命周期。 Heat 提供基础设施,进行所有调用以创建底层部件并将它们连接在一起。 要进行更改,用户修改模板并更新现有堆栈,Heat 会进行正确的更改。 当堆栈退役时,Heat 会删除所有已分配的资源。
Heat 支持自动扩展,因此用户可以定义扩展组和扩展策略。 监控事件(例如 Ceilometer 警报)触发扩展策略,Heat 将额外的实例配置到自动扩展组中。
自 Icehouse 以来,Heat 还支持软件的配置和管理; 为了利用此功能,用户定义应在实例上安装什么软件,Heat 将部署和配置软件编织到实例生命周期中。 也可以将 Heat 与 Puppet 和 Chef 等配置管理工具集成,以便这些工具调用 Heat。
Heat 类似于 AWS Cloud Formation。 实际上,Heat 最初是在 OpenStack 上实现 AWS Cloud Formation 模板,而 Cloud Formation 兼容性是 Heat 使命的一部分。 Heat 还充当其他 OpenStack 服务的平台组件,并被 TripleO 和 Solum 用作部署编排服务。
Heat 已正式集成到 OpenStack 项目中。 它是 OpenStack 自动化领域的一个热门项目,拥有庞大而强大的社区。 根据 OpenStack 的一项调查,Heat 在实际部署中约占百分之十。
Murano
Murano 是一个 OpenStack 自助服务应用程序目录,目标用户是云终端用户(包括技术不太熟练的用户)。 Murano 为开发人员提供了一种组合和发布高级应用程序的方法—从简单的单个虚拟机到具有自动扩展和自我修复功能的复杂多层应用程序。 Murano 使用基于 YAML 的语言来定义应用程序,并使用 API 和 UI(用户界面)将其发布到服务目录。 最终用户通过自助服务门户浏览分类的应用程序目录,并通过“一键推送”即可获得已配置并可供使用的应用程序。 Murano 类似于传统的企业服务目录应用程序,例如 VMware vCAC 或 IBM Tivoli Service Request Manager。
Murano 是一个“与 OpenStack 相关”的项目,很可能在 Juno 发布周期中申请“孵化”,主要由 Mirantis 开发。 Murano 已经在实际应用中使用,通常由 Mirantis 专业服务部门引入和定制。 它似乎特别适合具有基于 Windows 环境的客户。
Solum
Solum 旨在使云服务更易于消费并集成到您的应用程序开发过程中。 它就像 Heroku 或 CloudFoundry(实际上它支持 Heroku 和 CloudFoundry 工件!),但它是为 OpenStack 原生设计的,在 OpenStack 内部。
Solum 将应用程序从公共 git 存储库部署到 OpenStack 云,通过可插拔的“语言包”部署到各种语言运行时。 应用程序拓扑和运行时在 YAML“计划”文件中描述。 服务附加组件框架将为应用程序提供服务,例如 MongoDB、MemCache、NewRelic 等。
Solum 通过 Heat 模板将应用程序通过持续集成管道从源代码推送到最终部署到生产环境。
未来,Solum 计划指导和支持开发人员完成开发/测试/发布周期。 它将支持回滚到以前的版本,以及正在开发的监控、手动和自动扩展以及其他功能。
Solum 的实现利用了许多 OpenStack 项目,包括 Heat、Nova、Glance、Keystone、Neutron 和 Mistral。
Solum 仍处于起步阶段,大多数已提及的功能都在 2015 年的路线图上。 然而,它是一个良好运行的社区项目,拥有一支强大的团队,并得到 Rackspace、Red Hat 和其他一些重要公司的可靠支持。
如果 Solum 能够充分建立自身并将其与现有的 PaaS 框架区分开来,那么作为原生 PaaS 看起来很有前途。
总结
在虚拟基础设施部署方面,OpenStack 社区已趋同于 Heat。 值得注意的是,Heat 是 Docker 与 OpenStack 集成的首选方式。 实际应用虽然在增长,但仍保持在百分之二十左右,其余部分则留给了通用工具和自定义解决方案。
应用程序部署的常见实际应用模式是使用 CloudFoundry,或在无主 Puppet 或 Chef solo 之上的自定义编排解决方案。 大量用于跨云和混合部署的供应商产品也可能在此处发挥作用。
评论已关闭。