发布时间:2022-3-3 分类: 电商动态
摘要
OpenStack自2010年开始开源,已进入主流企业市场八年。但是,该项目仍面临难以部署和管理的旧问题。毫无疑问,OpenStack保持了快速增长的趋势,有超过585家公司,近40,000人以各种方式支持这个2000万行开源项目的持续发展。
ZStack项目始于2015年,比OpenStack年轻得多。由于其易用性,稳定性,灵活性和超高性能,ZStack项目迅速成为市场的新宠,其功能不断完善,其性能不断增强。开发和成熟比OpenStack快得多,其市场接受度并不比OpenStack弱。
介绍
OpenStack是一个开源云计算管理平台项目,它结合了几个主要组件来完成特定任务。 OpenStack几乎支持所有类型的云环境。该项目的目标是提供一个易于实施,可扩展,丰富和标准化的云计算管理平台。 OpenStack通过各种补充服务提供基础架构即服务(IaaS)解决方案,每个服务都提供用于集成的API。开源于2010年,当前版本的皇后区。
ZStack是下一代开源云计算IaaS(基础架构即服务)软件。它主要针对智能数据中心的未来,提供全面的API来管理数据中心的资源,包括计算,存储和网络。 ZStack易于使用,稳定,灵活,超高性能。分为商业版和开源社区版。 2015年开始,目前最新版本为2.5.1。
架构
OpenStack架构图如下所示。过去,朋友吐了出来,这是一群网上的小蜘蛛,虽然有条不紊,但每个小蜘蛛的网络都不一样。当这些网络连接起来时,它会让人看起来眼花缭乱。因为每个请求任务需要在各个子系统之间来回协调,所以任何问题都会导致创建失败。例如,在创建虚拟机时,您需要经过身份验证,计算,网络,镜像,存储等,否则您不希望创建运行正常的虚拟机。下图显示了OpenStack主要组件的调用关系。
消息队列在OpenStack的整个架构中起着至关重要的作用。这是因为OpenStack部署的灵活性,模块的松散耦合以及架构的扁平化。相反,OpenStack更多地依赖于消息队列,因此用于发送和接收消息的消息队列的性能以及消息队列的HA能力直接影响OpenStack的性能。最典型的情况是,如果大量监控数据充斥着消息队列,平台性能将直线下降。下图显示了OpenStack中的消息队列关系。
与OpenStack相比,ZStack服务之间的交互更加简单。消息队列是核心。所有服务交互都通过消息队列进行。结构拓扑是星形的,简单明了。因此,核心问题将影响大多数功能。但是,全异步架构和无状态服务极大地增强了平台的健壮性。 ZStack的强大一致性使得实现HA变得容易,而无需使用第三方工具来实现OpenStack等HA高可用性。下图显示了ZStack的星形拓扑。
部署
安装一直是OpenStack面临的重大挑战之一,特别是对于刚接触OpenStack的新手。这也客观上提高了每个人学习OpenStack云计算的技术门槛。我已经与OpenStack联系了13年,我很幸运能够申请一个月访问三个高端物理服务器。作为一个OpenStack小白,当时的计划是为期一周的安装,一周的建筑学习,两周的全面学习,最后一个月的安装。想一想,直到现在它充满了泪水。当然,这是一个早期阶段,现在有许多用于部署和安装的工具,例如木偶,安塞和容器化的kolla。虽然这些工具大大简化了OpenStack的部署和安装,但它们仍然无法解决openstack操作和维护的复杂性,更不用说新版本的升级了。
对于ZStack,安装,部署和升级始终简单,快速且无感。 ZStack定制了ISO,封装了网络配置和ZStack服务管理命令,即使它是一个操作和维护白色,它也可以快速安装ZSack平台,这不需要很长的学习周期。同时,官方文件和案件非常完整。如果您对官方组有任何疑问,可以从ZStack一线工程师那里快速恢复。
计算、存储与网络
OpenStack的计算,存储和网络组件是nova,cinder和neutron。其中,新星是最早的项目,其成熟度已经很高,其稳定性大大提高,其功能也在不断扩大。如GPU支持,裸机管理,散热编排,容器编排,大数据计算等.Cinder作为核心块存储模块在openstack中提供了至关重要的作用。后端支持ceph,lvm,glusterfs,nfs和各种商业存储。配置很麻烦。您需要更改配置文件,调试,重新启动服务,甚至更改代码以适应相应的存储。对于云主机,默认情况下不支持增量快照。它仅支持完整备份功能。对于传统系统磁盘的巨大情况,会影响效率并浪费磁盘空间。
Neutron是一个网络管理模块,支持flat,vlan,vxlan,gre和其他网络模式。 Neutron支持各种高级功能,如VPN,负载均衡,HA和DVR。可用性仍然相对较强,并且许多供应商的网络设备都可以使用插件支持。当然,中子的效率和复杂性也很容易被批评。到目前为止,已经有很多代码重构。当然,重构不仅是因为代码的复杂性和低效率,而且还因为更好地与openstack的其他项目集成,例如容器kuryr。
相对而言,ZStack更简单,更容易。将ZStack安装在一个密钥后,无论是计算,存储还是网络,只需单击页面控制台中的相应资源,就不会涉及任何后端复杂的配置更改。配置更改实时生效,无需重启任何服务。 ZStack计算节点页面添加,具有动态扩展,实时监控,自动修复等功能,无需过多的人为干预。无论是开源ceph,glusterf,nfs还是商业Fusionstor,san light存储,都直接添加页面。云主机和云盘都支持增量快照和完整备份功能,这与OpenStack完全相反。
ZStack的网络模型是第2层+第3层,第二层确定novlan,vlan,vxlan的类型,第三层确定平面,路由和vpc的类型。灵活的网络配置。同时,物理网卡支持多路复用,可以创建相同类型的多个二层网络。支持分布式网络,可以缓解dns的压力,优化东西向流量,云路由网络和vpc网络使用优化的vyos作为平台路由器,配置简单,支持多种高级功能,可支持热迁移,支持分布式,稳定性和表现很好。虽然它不支持HA功能,但它具有很强的自我修复能力。 Vyos本质上是一个虚拟机,因此它将占用一定数量的主机资源,与物理设备相比,性能将部分耗尽。
运维监控
早期的OpenStack云平台监控项目Ceilometer分为四个(Ceilometer,Gnocchi,Aodh,Panko),每个都履行职责! Ceilometer负责收集测量数据和处理预处理; Gnocchi主要用于提供资源索引和存储定时测量数据; Aodh主要提供预警和测量通知服务; Panko主要提供事件存储服务。 Ceilometer分裂的主要原因是高性能开销,并且性能瓶颈随着时间的推移会变得更加明显,直到崩溃。对于底层操作和维护监控,您可以使用zabbix或集成到现有的云高仪系统中。到目前为止,OpenStack已经演变为Queens版本,监控仍然是其性能瓶颈之一。仪表板默认情况下没有集成的监视和警报,需要额外的自定义开发。
ZStack的监控解决方案使用开源prometheus和Influxdb,监控信息存储在prometheus数据库中,报警使用prometheus附带的proxymanager,事件和审计存储在Influxdb和mysql数据库中。该平台具有大多数监控项目,并支持添加自定义报警项。通过高效的函数计算和prometheus的聚合,zstack还提供了监控大屏幕和监控top5的能力,有助于实时分析平台的资源使用情况。当然,openstack也可以用prometheus或zabbix实现类似的功能。
其他
OpenStack是目前最受欢迎的,也是目前最流行的开源云操作系统框架。 OpenStack不仅提供IAAS服务,还提供PAAS服务,无论孵化项目是否成熟,但至少有一个开放,廉价的解决方案,如数据库服务,容器服务,大数据处理,裸机管理,项目如费用管理。国内公共云也使用自己或从OpenStack学习来实现自己的公共云平台的安全性和稳定性。还有专业的OpenStack供应商可以实现私有云或混合云平台。近年来,OpenStack依赖于国家IOE战略,并已遍布许多银行,政府和运营商。
与OpenStack相比,ZStack还很年轻。其核心主要是私有云和混合云,主要提供IAAS服务,核心代码开源和企业版。几乎每个月都会发布一个新版本,但升级没有问题。一个命令全部设置,远远不能与OpenStack相比。尽管如此,在某些方面,ZStack仍然不能替代openstack,例如容器服务,数据库服务,大数据管理等。至于ZStack是否会在未来添加新功能,是时候等了。
总结
本文主要从运维管理,计算,存储和网络等方面对OpenStack和ZStack进行了比较。两者各有利弊。作者认为OpenStack适用于研发能力,具有较高的操作和维护能力,并且具有PAAS甚至是SAAS所要求的组织。 ZStack可以提供一整套安全,方便,快速的私有云或混合云环境。 ZStack更适合资源,没有办法在研发,运营和维护方面投入太多。当然,这不是绝对的。使用ZStack或OpenStack没有私有云的短缺。是否选择OpenStack或ZStack仍然需要结合实际需求。
作者:祝祥 新钛云服运维架构师
十年的运营和维护经验,曾担任云运营工程师,微蜡烛云和互联网金融平台的首席运营维度架构师。使用OpenStack,CCIE,阿里云,ZStack等技术认证。有数万个云主机和PB级分布式存储操作和维护经验。熟悉各种虚拟化技术,软件和硬件,网络,容器编排和其他技术,具有Python开发经验。喜欢各种开源技术。
« 公司代购源码网站降级后的正确处理方法 | 百度打架支付宝红包作弊广告提示代购源码网站管理员不应该使用所谓的seo技能 »