云管理平台(CMP)是具有集成工具的综合软件套件,企业可以使用它来监控和控制云计算资源。市场上有许多CMP,包括开源的和专有的。这里为大家推荐9款市场上开源云平台。
对于任何基于云的全面部署,用户面临的问题包括维护在线迁移的所有数据的完整性,可用性和安全性等。随着企业IT运营开始将功能和资源扩展到云中,企业现在希望通过以下方式管理云资源,比如对现有IT环境具有相同的政策,程序,指导和愿景。
解决基于云实施产生的所有问题的唯一解决方案是云管理平台(CMP)。它为编排和自动化提供了丰富的功能,还可以跨多个公有和私有云以及虚拟服务器和裸机服务器进行操作、监控、管理,治理和成本优化。
有各种各样的工具可以应对这些挑战,并帮助公司有效地在云中操作应用程序和服务。供应商提供了多种云管理工具,这些工具使IT组织能够构建,购买,管理,监控,跟踪和优化其云资源。借助这些工具,组织可以节省时间和精力,同时让IT员工专注于更具战略意义的目标。这些工具还有助于监控用户与云基础架构的交互以及管理资源分配。
在云市场中,不同的工具具有独特的功能集。功能包括跨多个云的统一管理,与用于配置和监控目的的第三方工具集成,仪表板和报告,以获取有关资源消耗的详细信息,达到预定义阈值时的通知和警报,以及对资源的受控访问,以避免过度使用或未经授权的情况访问。通过简化云环境的管理并降低管理多个活动的复杂性和成本,正确的云管理工具可以为任何组织带来速度,灵活性,安全性和成本效益。
因此,重要的问题是:“哪个CMP是最好的?”那么,有商业和开源选择。如今,开源技术已成为全球许多用户的云计算中心。在深入研究开源CMP的类型之前,让我们讨论它们的一些广泛功能以及它们如何工作。
根据Market Research Future(MRF)的分析,2018年全球CMP市场有81.8亿美元,预计到2022年将达到267.7亿美元,在预测期内的复合年增长率为18.4%。市场的增长归因于企业对IT支出的更大控制的需求不断增加,异构和多模IT服务交付环境的采用激增,虚拟化工作负载的快速部署以及运营效率的提高。另一方面,在评估期间,预计会阻碍市场增长的一些因素是,技术专业知识不足以及内部开发平台对安全性的关注日益增加。
云管理平台的工作原理
CMP作为由数据库和服务器组成的虚拟机(VM)部署到现有的云环境中。服务器与应用程序编程接口(API)通信,以连接数据库和云中保存的虚拟资源。该数据库收集有关虚拟基础架构如何运行的信息,并将分析结果发送到Web界面,系统管理员可以在其中分析云性能。整个互连性依赖于操作系统,该操作系统命令构成云的所有不同技术并部署云管理工具。
CMP应该具有以下功能:
- 与IT基础架构的强大集成:CMP应根据企业需求进行定制,并且必须满足操作系统,应用程序,存储框架以及云中运行的任何其他组件的要求。
- 自动执行手动任务:CMP应该具有自助服务功能,可以自动进行所有操作,而无需人工干预。
- 成本管理:CMP应协助组织进行精确的成本预测和报告,以轻松使用和管理各种云服务。
- 服务管理:他们应协助IT团队监控基于云的服务,以帮助进行容量规划,工作负载部署,资产管理和事件管理。
- 治理和安全性:CMP应该使管理员能够对云资源实施基于策略的控制,并提供诸如加密以及身份和访问管理之类的安全性功能。
1.Apache CloudStack
Apache CloudStack是一种开源,多元管理程序,多租户,高可用性的基础架构即服务CMP,它通过为云环境提供完整的功能部件和组件堆栈来促进创建,部署和管理云服务。它使用现有的虚拟机管理程序(例如KVM,VMware vSphere,VMware ESXi,VMware vCenter和XenServer/XCP)进行虚拟化。CloudStack还可以协调服务交付的非技术元素,例如计费和计量。它提供了一系列API,使其可以与任何其他平台集成。
CloudStack的主要组件是:
- 计算节点(CN),是实例化VM实例时的服务器。
- 集群,由共享同一虚拟机管理程序和主存储系统的几个CN组成。
- Pod是一组包含第2层交换机和一个或多个集群的硬件。它负责存储代表主要存储的VM文件。
- 可用区由一个或多个Pod组成,辅助存储区构成一个区域。这等效于代表地理位置分配的单个数据中心。辅助存储存储VM模板,ISO镜像和磁盘卷快照。
- 管理服务器是提供Web用户界面和API的单点配置,并管理VM实例到特定主机的分配,公共和私有IP地址到特定帐户的分配以及存储的分配。
特征
- 自助服务用户界面:AJAX控制台访问,多角色支持,网络虚拟化,与虚拟机管理程序无关,使用情况计量,虚拟路由器。
- LVM支持:块存储卷,NetScaler支持,OpenStack Swift集成,LDAP集成,域和委托管理。
2.OpenStack
OpenStack由一组软件工具组成,这些工具用于使用池化的虚拟资源为公有云和私有云构建和管理云计算平台。构成OpenStack平台的工具称为project。他们处理计算,网络,存储,身份和图像服务的核心云计算服务。OpenStack软件控制着整个数据中心的大型计算,存储和网络资源池,并通过仪表板或OpenStack API进行管理。
OpenStack由以下九个组件组成。
- Nova:这是用于部署和管理大量虚拟机和实例以处理计算任务的主要计算引擎。
- Swift:这是对象和文件的存储系统。
- Cinder:这是用于计算实例的持久性块存储组件。
- Neutron:提供联网功能,以便所有组件都能快速通信。
- Horizon:这是OpenStack的GUI界面。
- Keystone:这为OpenStack提供身份服务。
- Glance:提供了镜像服务,并允许将镜像(硬盘的虚拟副本)用作部署新虚拟机实例的模板。
- Ceilometer:为个人提供遥测服务和计费服务。
- Heat:这是一个编排组件,允许开发人员将云应用程序的需求存储在文件中。
特征
- 服务:消息传递,集群,容器,计算,身份,应用程序数据保护即服务,事件,元数据索引即服务,工作流,DNS,数据库即服务,裸机配置,优化和部署,治理以及基准测试。
- Web前端,大数据处理框架,容器编排引擎,密钥管理和NFV编排。
3.ManageIQ
它是用于混合IT环境的开源CMP,混合了公有云和私有云。它提供了用于管理小型和大型环境的工具,并支持多种技术,例如虚拟机,公有云和容器。它允许用户下载任何虚拟设备并将其副本部署到OpenStack或VMware等虚拟化平台中。ManageIQ的三个主要变体:Vagrant,Docker和Public Cloud。
ManageIQ用Ruby编写,并使用Ruby on Rails框架。ManageIQ软件是作为预构建的虚拟设备提供的,大小约为1GB。该设备基于CentOS操作系统,并包含一个嵌入式PostgreSQL数据库。自Darga发行以来,还提供了基于容器的版本。设备可以单独使用,也可以是三层联合体系结构的一部分。在后一种情况下,IT人员将配置区域和单个超级区域。可以将设备分配到特定的区域,并配置特定的角色,以便在区域内协调工作。大多数角色是多主角色,并在队列中自动分配工作,但是某些角色(如数据库)是单例。
特征
- 通过发现,监控,性能,报告,分析,费用分摊和趋势提供见解。
- 控制安全性,合规性,警报,基于策略的资源和配置管理。
- 自动化IT流程,任务和事件,供应,工作负载管理和编排。
- 集成系统管理,工具和流程,事件控制台,CMDB,RBA和Web服务。
4.Cloudify
Cloudify是使用OASIS TOSCA技术的开源软件云和NFV编排产品。它是使用Python设计的。Cloudify允许用户对应用程序的整个生命周期进行建模和自动化。这包括部署到云或数据中心环境,已部署应用程序的管理,故障检测和持续维护。该平台非常适合希望在云中启动预构建应用程序而无需处理技术方面的用户。
工作原理:它将应用程序转换为以YAML格式编写的blueprint配置,并描述应如何部署,管理和自动化应用程序。它标识每个应用程序层的资源和事件。云协调器使用blueprint使用云API来在云中安装应用程序,该API创建VM并安装Cloudify代理,并用于编排,安装和启动应用程序。Cloudify会监控应用程序中是否有任何预定义指标,并将结果显示在仪表板上。
Cloudify使用户可以使用两种主要方法来部署应用程序-通过使用CLI和使用Cloudify管理器。后者是一个专用环境,包括一个开放源代码堆栈,使用户能够:
- 使用插件(例如Docker,Script,Chef和Puppet插件)来管理应用程序主机。
- 保留用户blueprint的目录。
- 为每个blueprint创建多个部署并安装它们。
- 在已安装的应用程序上执行修复,扩展和其他自定义工作流程。
- 同时运行多个工作流。
- 查看应用程序的拓扑。
- 使用Cloudify Web UI视图指标执行不同的任务。
- Cloudify执行以下任务:
- 应用程序建模:这将描述应用程序及其所有资源。
- 编排:这将维护并运行应用程序,并执行正在进行的操作,例如扩展,修复和维护。
- 可插拔性:这为系统提供了可重用的组件抽象。
- 安全性:这可通过SSL提供安全的通信,从而使客户端能够确保对接收到的数据集进行加密。
功能
轻松编排,内置节点类型,blueprint目录,基于角色的访问控制,IT安全和治理,网络和TOSCA编排,新的NFV功能,自定义小部件和LDAP集成。
5.Mist.io
Mist.io是一个简化云管理并帮助用户防止供应商和复杂性锁定的平台。它为跨公有和私有云,Docker容器和KVM虚拟机管理程序的服务器提供成本和使用情况报告,RBAC,管理,供应,编排,监控和自动化。它提供可操作的警报,因此用户可以使用任何与Web相连的设备从任何地方解决操作问题。
Mist.io提供了一个统一的界面,用于执行常见的管理任务,例如预配,编排,监控和自动化。它可在包括笔记本电脑,平板电脑和手机在内的任何设备上工作,以帮助用户从任何地方采取行动。由于使用了RESTful API和命令行工具,因此很容易将其集成到用户的现有工作流程中。由于Mist.io抽象化了基础架构级别,因此用户可以在几秒钟内跨提供程序复制整个设置。这是一个带有开源组件的免费增值服务,旨在成为多云管理和云计算服务代理的事实上的标准。它面向开发人员,系统管理员和执行本地,远程或混合计算的任何组织。
特征
- 控制公有和私有云,容器,裸机服务器等。
- 具有用于委派团队成员访问权限的细粒度控件。
- 启用整个基础架构的成本和使用情况报告。
- 编排可重复的部署,并自动执行常见响应。
- 在任何计算平台上一致地实施策略。
6.VirtEngine
VirtEngine是一个开源CMP,可用于构建支持IaaS,PaaS和SaaS的私有或公有云。该平台即服务系统允许用户单击几下即可部署应用程序。VirtEngine具有广泛的应用程序和简单的用户界面,可让客户自助服务其需求。它可以帮助用户在极短的时间内构建公有云和私有云,并支持基础架构平台和其他存储设备。它也具有很高的可扩展性,并带有为公司提供竞争优势的自动化工具。VirtEngine可作为公有云和私有云的两种不同解决方案来使用。公有云允许用户构建自己的云并为客户提供服务器。它既有迷你版,也有完整的解决方案。
特征
- 访问控制,需求和供应监控,成本管理,多云管理,一键式应用程序以及自动启动。
- DNS支持,自我修复,云原生,多位置,Docker容器,云虚拟机和迁移工具。
7.openQRM
openQRM是一个免费的开源云计算管理平台,用于管理异构数据中心基础架构。它为所有裸机和VM部署以及所有IT子系统提供了一个完整的自动化工作流引擎,从而可以对数据中心和云容量进行专业的管理和监控。openQRM平台管理数据中心的基础架构,以构建私有,公有和混合基础架构即服务云。openQRM协调存储,网络,虚拟化,监控和安全实施技术,以根据分配策略将多层服务作为虚拟机部署在分布式基础架构上,并结合了数据中心资源和远程云资源。
openQRM提供了一个基于Web的开源数据中心管理和云平台,借助该平台,可以将各种内部和外部技术抽象化并组合在一个通用管理工具中。该管理系统还负责配置,高可用性和所提供服务的监控。openQRM并未提供用于完成配置管理和系统监控等单独任务的单独工具,而是集成了经过验证的开源管理工具(例如Nagios和Zabbix)。
架构:openQRM系统架构包括三个组件-数据中心管理和云平台,插件API和混合云连接器。
数据中心管理和云平台提供openQRM的基本功能,并使用插件API与也安装在本地网络(管理程序,存储和网络)上的数据中心资源进行通信。openQRM支持五个虚拟化环境-VMware ESX,Citrix XenServer,KVM,LXC和OpenVZ。
openQRM可以处理LVM,iSCSI,NFS,以太网ATA,SAN Boot和Tmpfs存储。对于网络配置,openQRM集成了关键网络服务,例如DNS,DHCP,TFTP和LAN唤醒。软件包附带的网络管理器可帮助管理员配置这些服务所需的网桥。混合云连接器负责连接外部数据中心资源,例如AWS,Eucalyptus或OpenStack云。
openQRM云门户提供了一个Web界面,内部或外部用户可以根据需要访问这些界面以编译IT资源。
特征
- 支持P2V,P2P,V2P,V2V迁移和高可用性。
- 与所有主要的开放式和商业存储技术集成。
- 集成计费系统,可将CCU/h(云计算单位)映射为真实货币。
- 面向最终用户的自助门户在几分钟之内即可配置新服务器和应用程序堆栈!
8.OpenNebula
OpenNebula是一个简单但功能强大且灵活的交钥匙开源解决方案,用于构建私有云和管理数据中心虚拟化。OpenNebula平台管理数据中心的虚拟基础架构,以构建基础架构即服务的私有,公有和混合实施。OpenNebula平台的两个主要用途是数据中心虚拟化解决方案和云基础架构解决方案。
OpenNebula旨在帮助公司在现有IT基础架构上构建简单,经济高效,可靠的开放式企业云。它提供了灵活的工具,可以协调存储,网络和虚拟化技术,以实现服务的动态放置。OpenNebula的设计是灵活和模块化的,以允许与不同的存储和网络基础架构以及虚拟机管理程序技术集成。
OpenNebula组件包括以下三层:
- 1.驱动程序层负责创建,启动和关闭虚拟机(VM),将存储分配给VM以及监控物理机(PM)的运行状态。
- 2.核心层管理VM的整个生命周期,包括动态设置虚拟网络,为VM动态分配IP地址以及管理VM的存储。
- 3.工具层提供了与用户进行通信的界面,例如命令行界面(CLI)。
特征
- 支持多种API,例如AWS EC2,EBS和OGF OCCI。
- 强大的基于UNIX的CLI进行管理。
- 云客户和数据中心专业人员的GUI。
- 通过细粒度的ACL进行资源分配;负载平衡,高可用性,高性能计算。
- 强大的任务管理计划。
- 支持与LDAP和Active Directory集成。
- 支持SSH和X.509以获得安全性,甚至还支持登录令牌功能。
9.Eucalyptus
Eucalyptus是Elastic Utility Computing Architecture的缩写,用于将程序链接到有用的系统。它是一个开源软件框架,为在计算机集群上实施私有云计算提供了平台。桉树为私有云和混合云中的解决方案实施基础架构即服务(IaaS)方法。
Eucalyptus为单个界面提供了一个平台,因此用户可以计算私有云中可用的资源以及公共云服务中外部可用的资源。它设计用于Web服务的可扩展的模块化体系结构。它还实现了行业标准的AWS API。
Eucalyptus用户控制台为用户提供了一个界面,供用户自行配置和配置计算,网络和存储资源。Eucalyptus可以运行Windows和Linux虚拟机镜像的多个版本。用户可以使用与基础架构详细信息分离的应用程序元数据构建Eucalyptus机器镜像(EMI)库,从而使它们可以在Eucalyptus云上运行。
Amazon Machine Images也与Eucalyptus云兼容。可以将VMware镜像和vApp转换为在Eucalyptus云和AWS公有云上运行。Eucalyptus用户身份管理可以与现有的Microsoft Active Directory或LDAP系统集成,以对云资源具有基于角色的细粒度访问控制。Eucalyptus支持存储区域网络设备以利用存储阵列,从而提高性能和可靠性。Eucalyptus机器镜像可以由类似EBS的持久性存储卷支持,从而改善了镜像启动时间的性能并启用了完全持久性的虚拟机实例。Eucalyptus还支持直接附加存储。
体系结构:Eucalyptus体系结构具有以下五个主要组成部分。
- 云控制器(CLC):CLC充当云管理的管理界面,并执行高级资源调度和系统记帐。CLC接受来自命令行界面(例如euca2ools)或基于GUI的工具(例如Eucalyptus管理控制台)的用户API请求,并管理基础计算机存储和网络资源。
- 可扩展对象存储(SOS):这是一项可插拔服务,使基础架构管理员可以灵活地使用实现S3接口的开源和商业解决方案在商品资源之上实现横向扩展存储。
- 集群控制器(CC):用C语言编写,充当Eucalyptus云中集群的前端,并与存储和节点控制器进行通信。
- 存储控制器(SC):用Java编写,与集群控制器和节点控制器通信,管理Eucalyptus块卷和到特定集群中实例的快照。它与包括本地,NFS,iSCSI和SAN的存储系统连接。
- 节点控制器(NC):用C编写,承载虚拟机实例并管理虚拟网络终结点。它从可伸缩对象存储中缓存图像,并创建和缓存实例。
特征
- 可与多个虚拟机管理程序配合使用,包括VMware,Xen和KVM。
- 内部流程中的通信通过SOAP和WS-Security进行保护。
- 提供管理功能,例如用户和组管理以及报告。
- 定义明确的接口(通过WSDL,因为它们是Web服务),因此可以轻松地换出自定义组件。
- 灵活,可以以最小的安装量安装。