返回
首届开源软件供应链峰会,ZStack老王技术论道剑指私有云!
2020-11-30 10:54

十里秦淮乌衣巷,紫金山中梧桐道;

六朝古都金陵城,汤包元宵盐水鸭。




就在“天下文枢”、“东南第一学”之称的南京城,举办了一场开源圈大佬云集的技术论道!以下为您正经播报:

01.png

11月14日至15日,开源软件供应链2020峰会在南京成功举办。本次峰会由中国科学院软件研究所、openEuler社区主办,中国科学院软件研究所南京软件研究所承办,来自全国各地的开源软件从业者、企业技术专家、高校及科研机构代表、开源社区代表、学生等300余人现场参会、2.3万余人同步线上参会。
会上重点探讨开源技术前沿话题、开源生态建设与合作、开源发展趋势等内容。在【虚拟化&云原生】分论坛,ZStack核心架构师&性能工程负责人 王为做了题为《开源私有云ZStack的架构设计》的精彩分享,重点介绍了ZStack自研核心开源架构的技术原理和应用。

02.png

我国国情决定了很多机构上云转型还需依赖于私有云的建设,而且用户群体非常多样化,部署私有云面临异构环境、缩短上云周期与难度、保证云平台高可用性等各种挑战。只有提供产品化、标准化的私有云,才是满足用户兼容异构、高效及高可用需求的优选上云方案。

一、私有云面临的挑战有何不同?

从用户侧需求研究来看,用户所需要的理想私有云方案,应具备:简单性、稳定性、可扩展性、灵活性。

1、简单性
私有云的架构跟公有云是不一样的,它更像一个generic solution,根据客户的通用需求,提取出它最重要的部分,做成的一个软件,然后通过产品化普及落地。然而大部分国内的软件,经常会做成面向客户定制,或者项目开发的东西,而ZStack希望做成一个非常generic/标准化,能够像卖光盘一样,用户上来直接就能下载安装使用的、可缩短上云周期的一个标准化产品。

2、稳定性
稳定性对于保障企业的业务持续性、尤其关乎国计民生的场景中非常重要。比如ZStack的客户中有的是省界高速收费站系统,还有一些大型、重型制造业的供应链管理系统,这些对时间的要求非常严格,这些软件一旦发生crash,无法保证它的可用性的时候,会带来巨大的损失。

3、可扩展性
某些需要并发快速创建出成百上千虚拟机的场景中,比如很多教育行业的用户,实验室里可能有几百个学生,要统一打开一个环境,然后几十上百个虚拟机要同时快速启动......类似这种场景,就反映在云的Scalability(弹性)的难度上。

4、灵活性
不同客户的需求也不一样,它们之间可能是相互矛盾的。举个例子,比如一些分布式系统,它可以支撑很大的规模,但它的应用性却并没有那么好。而且灵活性和稳定性之间也有一定矛盾,当灵活性很强的时候,代码可能会有各种各样的组合,各种各样的分支,很难保证测试在每个场景都能测下来,稳定性可能会打折扣。

二、私有云开源架构的技术秘籍

针对以上挑战,ZStack从用户实际需求出发,深度调研了当前主要开源架构的优缺点,研发了具有4S特性的私有云开源架构:

1、简单(Simple)
ZStack研发了In-prosessive Microservice Architechture(进程内微服务)。具体原理为:
首先,在ZStack开源代码架构里,将不同的模块进行单独封装,通过一个in-memory的message bus 去实现内部消息的分发,以及一些公共消息的封装;再将所有模块单独分成一个Java bean,通过message bus来进行内外部通信。
其次,通过ansible软件,实现云平台部署的全自动。


03.webp.jpg
综上得到的效果就是,对运维人员来说,ZStack云平台的运行就是一个统一的进程,但从软件架构上讲,它又分了很多模块,兼具简单操作与强大性能;对于普通用户来说,只需要下载一个ISO,就可以在30分钟以内把ZStack云平台安装部署起来,真正享受简单易用的上云体验。

2、健壮(Strong)
针对稳定性,ZStack做了很多测试和Code base的稳定性工作,比如通过workflow来将代码通过各种组合去实现新功能,而不是不断修改原本的代码。同时,ZStack支持云主机与管理端的HA、支撑高并发的API请求、断电后平台自恢复等,确保系统高效和稳定运行。

3、弹性(Scalable)
解决可扩展性的核心方法,ZStack主要依靠全异步架构,即在做架构设计时,为操作系统提供一些异步的接口;异步方法设置完成后,只需一个很小的线程,就可以支持数以万计的API并发量。
另一方面,采用一致性哈希环(Consistent Hash Ring),将任意一个资源处理到正确节点,避免对资源做加全局锁。在ZStack架构里,可以通过一个内存队列来控制并发级别(Synce level),得到更好的并发性能。

4、智能(Smart)
ZStack主要通过Plugins和Driver来分离接口和实现。具体来说,通过strategy-Pattem Plugins结构,将不同的底层对应到同一个接口,再对外提供服务。
此外,还引入ZStack System Tag Architecture,将MySQL数据库当作schema-less 的KV来使用,在其中自定义schema,然后再做解析,以便升级操作。通过这两种方式,ZStack云平台的整体灵活性得到大幅提升,便于实现网络存储伸缩和无缝升级新版本的功能。
04.png


三、如何成为ZStack的commiter?

以上就是ZStack的架构设计的简要分享,自2015年开源至今,ZStack在Github中的Star数量一直保持稳步增长;ZStack所发起并运维的开源社区zstack.io也聚集了上万名开发者;ZStack所聚焦的云计算基础IaaS层产品,已经成为了很多公司进行二次开发的底座。
大家如果有兴趣的话,可以上ZStack社区,自己编译和自己装一下ZStack。ZStack的起步非常简单,只需要有一台6核或者8核的电脑或者虚拟机就可以部署。

ZStack社区地址:

https://www.zstack.io/help_support/community_support/


ZStack源代码托管地址:

https://github.com/zstackio/zstack

https://gitee.com/zstackio/zstack



结语

开源软件彼此组合、依赖,连同各个为开源做贡献的维护者与开发者,所共同形成的包含上万节点的开源软件供应链,已经是当代社会中科技规模化协作发展的典范模式,也是激发软件创新活力的有效手段。ZStack将不忘初心,与各位行业伙伴齐心协力,共同促进我国云计算产业健康发展,提升我国云计算行业全球的竞争力。


点击,看大会分论坛2【虚拟化&云原生】专场直播回放--ZStack老王精彩演讲。https://wx.vzan.com/live/tvchat-425619793?shareuid=214450508&vprid=0&st=answer&sharetstamp=1605318383023
下载ZStack企业版

您已填写过基本信息?点击这里

姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

下载链接将会通过邮件形式发送至您的邮箱,请谨慎填写。

下载ZStack企业版

还未填写过基本信息?点击这里

邮箱或手机号码格式错误
验证手机号
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
登录观看培训视频
仅对注册用户开放,请 登录 或 填写资料 观看培训视频
填写资料

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io
ZStack认证培训咨询
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

商务联系:

channel@zstack.io
申请ZStack多机版
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。 当您收到电子邮件后,请点击 URL 链接,以完成下载。

下载链接已发送至您的邮箱。

如未收到,请查看您的垃圾邮件、订阅邮件、广告邮件。
或点击下方URL链接 (IE内核浏览器请右键另存为), 完成下载:

感谢您使用 ZStack 产品和服务。

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。

立即体验

联系我们

商务咨询
400-962-2212 转 1
售后咨询
400-962-2212 转 2

回到顶部

产品试用申请
请选择您要试用的产品
ZStack企业版
ZStack混合云版
ZStack信创云平台
ZStack Ceph企业版
ZStack Mini 边缘计算一体机
ZStack CMP 多云管理平台
请填写您的基本信息
姓名应该不少于两个字符
手机号格式错误
验证码填写错误 获取短信验证码 60 秒后可重发
公司名称不应该少于4个字符
邮箱格式错误

商务咨询:

400-962-2212 转 1

售后咨询:

400-962-2212 转 2

商务联系:

sales@zstack.io

成功提交申请。

我们将安排工作人员尽快与您取得联系。

感谢您使用 ZStack 产品和服务。