【云管理系统】CloudStack 与 OpenStack 比较——选择云管理系统之前需要了解的内容
基础设施即服务 (IaaS) 被公认为有助于加快上市速度并推动业务敏捷性。当一个公司要求对一个业务问题给出具体的答案时,答案就在一堆混杂的计算中,包括投资和平台运维。
Apache Cloudstack 和 OpenStack 是两个广为人知的云管理平台,可以为您的云基础架构提供有效的抽象层。两者在提供的服务方面是相似的,但从运营的角度来看,它们是非常不同的。
那么,哪一个是您公司的正确选择?让我们从技术和业务的角度来看看它们是如何比较的。
您将在本文中找到什么
1. Apache CloudStack 和 OpenStack 的历史
1.1 Apache CloudStack
今天的 Apache CloudStack
1.2 OpenStack
今天的 OpenStack
2. 架构
2.1 Apache CloudStack
2.2 OpenStack
三、OpenStack与CloudStack的比较
3.1 相似之处
3.2 部署
3.3 管理程序
3.4 跨管理程序支持矩阵
3.5 易用性
3.6 中小企业和企业中 CMP 的选择
4. 如何为您的企业选择合适的云管理平台
历史
Apache CloudStack
Apache CloudStack 徽标比较Apache CloudStack 最初是在 2008 年作为一个名为 VMOps 的项目开始的。它的名称已更改为 Cloud.com,并于 2010 年 5 月根据 GNU 通用公共许可证 (GPLv3) 向 CloudStack 发布了大部分源代码。 2011 年 7 月,Citrix 收购了 Cloud.com,CloudStack 的其余源代码以 GPLv3 的形式发布。
2012 年 4 月,Citrix 将该项目许可为 Apache Software License 2.0 (ASLv2),并将该项目提交给 Apache 孵化器,并于 2012 年 4 月 16 日被接受。
2012 年 11 月 6 日,CloudStack 4.0.0-incubating 发布,这是加入 ASF 后的第一个稳定版本。 2013 年 3 月 20 日,CloudStack 从 Apache Incubator 毕业,成为 ASF 的顶级项目(TLP)。
2016 年 7 月 25 日,在 4.9.0 版本之后,Apache CloudStack 社区宣布了以下类型的版本:
常规:引入新功能和增强功能。这些版本面向尽早需要最新功能并且能够在版本可用时进行升级的用户。
长期支持 (LTS):以牺牲新功能为代价,关注版本的稳定性和寿命。这些版本面向需要稳定性而不是新功能可用性和/或具有更长升级窗口的用户。
安全性:仅包含 CVE 修复的小版本。这些版本是为所有受影响的用户制作的,并在识别 CVE 时支持常规和 LTS 版本。由于这些版本仅包含 CVE 修复程序,因此所有用户都应尽快升级到其首选类型(常规或 LTS)的最新安全版本。
今天的 Apache CloudStack
Apache CloudStack 目前处于 LTS 版本 4.16.1.0 ,于 2021 年 11 月 16 日发布,并在持续开发中。
今天一些已知的 Apache CloudStack 用户包括 Telia、KDDI、NTT Data、英国电信、Cloud.ca、圣保罗大学、坎皮纳斯州立大学、Globo.com、iKoula、Pcextreme、Ewerk、Arsat 以及更多企业和云建设者。 Apache CloudStack 官方网站上提供了更全面的用户列表。所有这些公司都在使用 Apache CloudStack 社区包,而不是供应商分发的包。
OpenStack
OpenStack 徽标比较 2010 年 7 月,Rackspace Hosting 和 NASA 宣布了一项名为 OpenStack 的开源云软件计划。
早期代码来自 NASA 的 Nebula 平台以及 Rackspace 的 Cloud Files 平台。这两个平台的所有模块和堆栈都由 NASA Nebula 团队与 Rackspace 合并并作为开源发布。早期代码来自 NASA 的 Nebula 平台以及 Rackspace 的 Cloud Files 平台。 2010 年 10 月 21 日,OpenStack Austin(第一个 OpenStack 版本)发布。此次发布涉及将 NASA 的 Nebula 平台重命名为 OpenStack Nova,并将 Rackspace 的 Cloud Files 平台重命名为 OpenStack Swift。
2011 年,Ubuntu Linux 发行版的开发人员采用了具有不受支持的技术预览的 OpenStack。 Ubuntu 的赞助商 Canonical 随后推出了对 OpenStack 云的全面支持,从 OpenStack 的 Cactus 版本开始。
2012 年,Red Hat 宣布了他们的 OpenStack 发行版的预览版,从“Essex”版本开始。在发布另一个预览版之后,Red Hat 于 2013 年 7 月通过“Grizzly”版本引入了对 OpenStack 的商业支持。
2012 年,NASA 退出了 OpenStack 作为积极贡献者,而是做出了使用 Amazon Web Services 为其基于云的服务的战略决策。 2013 年 7 月,NASA 发布了一份内部审计报告,称缺乏技术进步和其他因素是该机构退出该项目的积极开发者并转而专注于使用公共云的主要原因。
今天的 OpenStack
一些知名的 OpenStack 用户包括中国移动、T-Mobile、雅虎、爱丁堡大学、GAP、PayPal/EBay、沃尔玛、康卡斯特等。
今天,OpenStack 基金会有 38 个活跃的项目在 Yoga 版本中。
架构
Apache CloudStack
Apache CloudStack 提供了一种摩擦最小的方法。它是一个将服务器、存储和网络抽象化的单一云管理平台。用户和帐户在逻辑上隔离云资源的域层次结构中隔离,提供多租户云平台。
共有三种不同的 API:OAM&P(操作、管理、维护和供应)API、最终用户 API 和插件 API。最终用户 API 是一个类似 REST 的 API,最终用户和管理员可以通过它控制 CloudStack。有各种客户端绑定,如 Ansible、Terraform 和 Packer,允许调用者快速组合脚本以自动化 CloudStack 中的流程。 OAM&P API 用于 CloudStack 组件与 ServerResource 对话,然后将这个 API 转换为硬件资源可以理解的内容。该 API 基于 JSON,可以用任何语言编写并在任何方便的平台上运行。插件 API 允许用户将代码直接插入 CloudStack 部署,以添加或修改 CloudStack 的行为。这是一个 Java API,并且有一组通过该 API 公开的预定义功能。 CloudStack 还与 Kubernetes 集成,使用户能够运行混合云工作负载。
由于其集成架构,CloudStack 作为单个产品安装。这简化了部署、操作、维护和升级,显着减少了生产环境中的停机时间。
OpenStack
OpenStack 平台是多个独立项目的集合,旨在协同工作以处理计算、网络、存储、身份和图像服务等核心云计算服务。 可以将这些服务组合在一起以向 IaaS 云提供所需的功能。
本质上,OpenStack 是一组用于管理每个云基础设施资源的命令。 这些命令允许对资源进行抽象并提供给最终用户。
OpenStack 和 CloudStack 的比较
相似之处
虽然 OpenStack 和 CloudStack 可以以不同的方式使用,但它们都有相似之处:
- 两个平台的新版本由各自的平台定期发布,并对功能进行了改进
- 两者都可用于公共云或私有云。
- OpenStack 和 CloudStack 都有一个简单易懂的用户界面。
OpenStack 基金会的范围导致创建了许多其他项目。 下面我们比较需要哪些 OpenStack 项目才能匹配 Apache CloudStack 的功能。
APACHE CLOUDSTACK | OPENSTACK | |
---|---|---|
计算 |
管理核心通过 HYPERVISOR GURU 适配器连接到 HYPERVISOR 的原生 API。 还支持 Kubernetes 用于容器化应用程序。 |
子项目:Nova 完全支持KVM,部分支持VMWARE和HYPER-V。 使用子项目HEAT 来管理容器服务,如 Kubernetes。 |
BLOCK STORAGE | 使用 Hypervisor API 以本机方式管理存储设备。 例如,还可以使用 PLUGGABLE SERVICE API 来控制 IOPS 和创建 LUN 来扩展存储控制。 |
子项目: CINDER
管理流程和 API 作为开放堆栈模块运行以提供块存储。 通过消息队列服务告知 COMPUTE NOVA 模块的路径和位置。 |
CLOUD NETWORKING | 使用核心管理和虚拟设备的组合来编排网络。 分离所有客户网络以提高多租户能力。 |
子项目: NEUTRON
使用 Hypervisor 层来协调用户的网络。 |
TEMPLATES, SNAPSHOTS, AND ISOS | 二级存储用于存储模板、磁盘快照和 ISO 图像。 支持 NFS、OPENStack SWIFT 和 S3 协议。 |
子项目: SWIFT
结合子项目概览存储模板、磁盘快照和 ISO 图像。 |
USER INTERFACE | 是基于 VUEJS 和 ANT 设计的现代基于角色的渐进式 CLOUDSTACK UI。 使用 CLOUDSTACK API 管理整个资源,包括 CLOUDSTACK 管理和配置。 |
子项目: HORIZON
基于 Python Django。 并不涵盖所有的操作功能,往往需要依赖各个子项目的命令行。 |
SYSTEM USAGE | 核心管理收集与资源相关的事件。 记录与整个用户操作相关的所有事件。 |
子项目: CEILOMETER
提供跨所有主要当前 OpenStack 组件标准化和转换数据的能力的数据收集服务。 |
IDENTITY |
使用 LOCAL、LDAP、AD 和 SAML2 来识别和授权用户。 在分层域中组织用户帐户,增强多租户环境的组织。 |
子项目: KEYSTONE
Keystone 是一项提供 API 客户端身份验证、服务发现和分布式多租户授权的 OPENSTACK 服务。 |
部署
OpenStack 和 CloudStack 在选择部署组件的方式上也有所不同。 OpenStack 部署使用 OpenStack 组件来支持每个所需的云功能。该部署将包括许多组件,包括用于主机管理程序管理(计算)的 Nova、用于操作系统模板的 Glance、用于用户界面的 Horizon、用于访客网络的 Newton、用于对象和块存储的 Swift 和 Cinder,以及用于身份的 Keystone。
许多用户在 TrustRadius、GetApp 和 G2Crowd 等评论平台上提供了有关 OpenStack 的反馈。反馈表明,OpenStack 难以部署和故障排除,而且很难获得有经验的人员来支持它。公司还需要命令行技能才能有效地管理它们。
相比之下,Apache CloudStack 有一个可插拔的模型。它包括一个管理组件、一个将虚拟机分配给单个服务器和一个映像存储库的计算组件、网络支持、负载平衡即服务、防火墙、虚拟私有云和复杂 VLAN、身份服务(本地、LDAP 和基于联合的 SAML2 身份)提供商)、VPC 和 Kubernetes。
正如 Tech Times 的 Ernest Hamilton 所说,可以快速启动并运行 CloudStack 测试环境:
“CloudStack 是中小型公司的首选平台,因为它具有出色的用户界面和多种有用的功能。这个 CMP 非常直观,所以每个人都可以使用它。安装过程非常简单,您实际上可以在一天内拥有一个功能强大的云。”
有一些改进 OpenStack 部署的举措,但它们不足以赶上平稳运行。此外,为了降低风险,您需要花钱从 IBM、Cannonical 和 Mirantis 等合作伙伴处购买订阅。因此这些供应商彼此不兼容,这也会产生另一个问题:供应商锁定。 “是 OpenStack 还是供应商锁定?” AT&T 说。
另一方面,Apache CloudStack 在社区起源主分支树上是稳定的。这完全消除了任何供应商锁定,因为它是所有用户使用的基本代码,为生产操作环境带来信心。
管理程序
OpenStack 和 CloudStack 都支持广泛的管理程序。 OpenStack 支持 KVM、VMware ESX/ESXi、Xen(不是 XenServer/XCP-ng)和 Hyper-V。 Apache CloudStack 支持 KVM、vSphere、Hyper-V、XCP-ng 和 Citrix XenServer。
跨管理程序支持矩阵
Cross Hypervisor Support Matrix
APACHE CLOUDSTACK | OPENSTACK | ||||||
---|---|---|---|---|---|---|---|
FEATURE | KVM | VMWARE | XENSERVER | KVM | VMWARE | XENSERVER* | |
LAUNCH INSTANCE | Y | Y | Y | Y | Y | ?** | |
STOP INSTANCE | Y | Y | Y | Y | Y | ? | |
ATTACH VOLUME TO INSTANCE (LIVE) | Y | Y | Y | Y | Y | ? | |
DETACH VOLUME TO INSTANCE (LIVE) | Y | Y | Y | Y | Y | ? | |
ATTACH VIRTUAL NETWORK INTERFACE FROM INSTANCE (LIVE) | Y | Y | Y | Y | Y | ? | |
DETACH VIRTUAL NETWORK INTERFACE FROM INSTANCE (LIVE) | Y | Y | Y | Y | Y | ? | |
EVACUATE INSTANCES FROM HOST | Y | Y | Y | Y | Y | ? | |
REBUILD INSTANCE | Y | Y | Y | Y | Y | ? | |
GET INSTANCE STATUS | Y | Y | Y | Y | Y | ? | |
GET INSTANCE METRICS | Y | Y | Y | Y | Y | ? | |
INSTANCE LIVE MIGRATION | Y | Y | Y | Y | Y | ? | |
REBOOT INSTANCE | Y | Y | Y | Y | Y | ? | |
RESCUE INSTANCE | Y | Y | Y | Y | Y | ? | |
SET INSTANCE PASSWORD | Y | Y | Y | Y | N | ? | |
SSH KEY, META-DATA/USER-DATA SUPPORT | Y | Y | Y | Y | N | ? | |
CONFIG DRIVE SUPPORT | Y | Y | Y | Y | N | ? | |
UEFI INSTANCE BOOT | Y | Y | Y | Y | Y | ? | |
ADD HOST IN MAINTENANCE MODE | Y | Y | Y | N | N | ? | |
CONSOLE SUPPORT (NOVNC) | Y | Y | Y | ? | ? | ? | |
VM SNAPSHOT (DISK+MEMORY) | Y | Y | Y | Y | N | ? | |
VOLUME SNAPSHOT | Y | Y | Y | Y | Y | ? | |
ATTACH/DETACH ISO | Y | Y | Y | ? | ? | ? | |
VM BACKUPS | N | N | Y | ? | ? | ? | |
VM HA | Y | Y | Y | ? | ? | ? | |
SECURITY GROUPS | Y | Y | N | ? | ? | ? | |
ISOLATED NETWORKS | Y | Y | Y | ? | ? | ? | |
L2 NETWORKS | Y | Y | Y | ? | ? | ? | |
VPC | Y | Y | Y | ? | ? | ? | |
SHARED NETWORKS | Y | Y | Y | ? | ? | ? | |
ISCSI | YES (SHARED MOUNTPOINT) | YES (VMFS) | YES (CLVM) | Y | Y | ? | |
LOCAL DISK | Y | Y | Y | ? | ? | ? | |
NFS | Y | Y | Y | Y | ? | ? | |
SMB/CIFS | N | N | N | ? | ? | ? | |
CEPH/RBD | Y | N | N | ? | ? | ? |
*XENSERVER – There is no reference in the official OpenStack site.
?** – There is no reference in the official OpenStack site.
使用方便
Apache CloudStack 提供单一 UI 来消耗云资源和监控资产使用情况。集中式管理使其日常使用变得简单明了。在单个位置或多个远程位置管理复杂的基础架构时,它提供了操作简单性。相反,OpenStack 不如 CloudStack 好用。
尽管 OpenStack 模块化架构看起来很有吸引力,但要保持其有效运行可能很困难。这是因为平台的复杂性,许多用户在他们的博客和 OpenStack 用户调查中对此发表了评论。
负责云 IT 服务的 Gartner 分析师 Rene Buest 在他的个人博客上做了一个非常有趣的分析,他通过 OpenStack 镜头衡量了复杂性与风险。在分析过程中,他说:
“IT 组织试图通过从头开始集成所有组件并始终保持最新状态来自行处理这种复杂性,他们往往将自己暴露在创建自己的、无法管理的云解决方案而不是使用行业的风险中。符合标准。”
在运营方面,Apache CloudStack 可以帮助降低成本。 Ikoula 研发总监 Joaquim Dos Santos 对美国商业资讯说:
“他们消除了所有供应商锁定,并通过开源确保公司完全控制其基础设施。其他显着的好处是易于管理广泛的基础设施、保证的可靠性和无缝的可扩展性。 CloudStack 和 XCP-ng 还为 IKOULA 提供了财务优势,这在其细分市场中极为重要。据他们的团队称,与其他解决方案相比,运行 XCP-ng 和 CloudStack 可以大大降低成本。他们还大大减少了对第三方帮助维护环境的依赖。”
中小型企业和企业中 CMP 的选择
在 Flexera 的 2021 年云状况报告中,750 名全球云决策者被问及有关其技术采用的各种问题。结果表明,CloudStack 和 OpenStack 都很受欢迎,OpenStack 仍然是市场领导者。
然而,该报告也显示出一个有趣的趋势。与 OpenStack 相比,更多人测试了 Apache CloudStack(并计划在生产中使用它)。中小型企业和企业中的趋势是相同的,这似乎表明对 CloudStack 的兴趣越来越大。
如何为您的企业选择合适的云管理平台
CloudStack 和 OpenStack 都是开源 CMP 领域的领导者,并且都得到了重要的开源开发者社区的支持。虽然 OpenStack 提供了模块化的灵活性以按用户交付服务,但 Apache CloudStack 提供的路径已经以独特的方式考虑了所有 IaaS 云资源。正如许多用户和行业专家所注意到的,OpenStack 需要进行大量定制才能部署到生产环境中,并且需要一个相对较大的团队来长期支持它。相比之下,Apache CloudStack 可以使用其社区提供的基本代码轻松部署和操作,它很简单,并且在推出新服务时显着缩短了上市时间。
要使用 OpenStack 成功管理您的基础架构,您需要一个对平台有深入了解以及开发、架构和操作技能的团队。 Apache CloudStack 是一个不需要数十次集成的平台,它涵盖了 IaaS 云的所有方面,并拥有一个常规的运营团队。因此,它可以更轻松地实现产品和服务。
在为您做出正确选择时,请务必考虑所有上述事实并制定长期计划。首先关注纯技术方面,并评估哪种技术更适合您的需求和现有能力。然后还要考虑长期的所有业务方面。选择云管理平台,它将为您提供更多的灵活性、易用性,并为您节省时间和精力。
本文:https://jiagoushi.pro/cloudstack-vs-openstack-comparison-what-you-need-…
- 334 次浏览