企业数字化转型之媒体观察二:开启容器时代的未来之路 看KubeSphere如何“举重若轻”


  • 封禁

    “当微服务变得越来越多时,管理就会出问题。就像汽车的轮子,单个轮子肯定不行,需要整装、驱动,但是轮子越来越多时,如何管理这些轮子也很重要。这时候必须有一个管理系统,Kubernetes 已经成为容器平台的标准,所以青云QingCloud 会拥抱 Kubernetes。Kubernetes 不仅仅是容器的调度和编排,它还制订了一套标准和规范,生态非常强大。我们认为 Kubernetes 是容器时代的分布式操作系统内核,我们一定是要基于此再发展上层的功能。”对于企业在云原生时代的业务部署和应用交付趋势,青云QingCloud 应用及容器平台研发总监周小四有着清晰的判断。

    0_1556274359712_640.jpeg

    青云QingCloud 应用及容器平台研发总监周小四

    借助云计算、人工智能、5G、物联网等技术对企业进行流程和模式的升级或再造,已成为科技厂商赋能传统产业的新路径,产业互联网的概念也由此而来。如果说数字经济是推动企业IT化助燃剂,那么要想让数字化转型渗透到业务的每一个环节,就要从 IT 基础做起,而这种转变不仅是理念上的,也是架构上的。

    早在 2016 年 11 月,青云QingCloud 就提出了一套架构同时支持虚拟主机和容器主机的技术理念。2017 年,青云QingCloud 的 PaaS 服务通过应用容器技术,将性能至多提升 500%,同年 7 月,Kubernetes on QingCloud 上线。Kubernetes 的可移植性、开发交付快等特性无需多言,但其在部署复杂度、存储、调试等方面的局限性也让不少企业头痛不已。

    “Kubernetes 只负责底层,上层的服务都不管,这对企业客户来说肯定是不够的。企业要的是 DevOps、微服务治理等,他们要很多的功能,这些 Kubernetes 都没有。”说到 Kubernetes 的学习成本以及二次开发和管理成本,周小四深有感触。

    随着越来越多的企业在部署业务时开始关注云原生环境,以往的交付方式亦在向服务化、应用化的形态转变,如何让产品迭代更快、交付周期更短、服务响应更及时、需求满足更个性化,要从IT底层架构进行适应。

    为什么会这样?这还是要从单体应用和微服务的差别说起。

    在周小四看来,容器是云原生时代的核心基础设施,应用改造从以前的单体应用、3 Tier、SOA 架构转化到微服务架构,区别在于原有的单体应用一旦出现问题要重新打包和交付,而分布式架构的微服务则是对每个功能独立打包,出问题后各自解决即可。

    0_1556274359712_640.jpeg

    数字化转型 2.0 到来

    4 月 19 日,青云QingCloud 正式推出了 KubeSphere 容器平台高级版,并宣布 KubeSphere 加入 Cloud Native Computing Foundation 云原生计算基金会。“以前是大机、数据中心、云计算,以虚机为基础的云计算、云平台。现在发展到容器平台(KubeSphere),要到这个基础设施上。”周小四说。KubeSphere 的初衷是以“简”之道降低容器复杂度,解决企业微服务架构、DevOps 中遇到的复杂多样挑战,帮助企业轻量级调度全栈云功能。

    0_1556274359712_640.jpeg

    KubeSphere 容器平台发布会

    据了解,KubeSphere 的代码开发始于 2018 年 4 月,当时的想法是要让 KubeSphere 的架构设计和理念更先进、更灵活。首先是让 KubeSphere 可以部署在任何的 Kubernetes 集群上,包括每一个发行版。其次,KubeSphere 要具备可配置、可插拔的功能,也就是让客户能够根据实际需求定制。如果说 KubeSphere 的定位是分布式操作系统,那么 Kubernetes 就是里面的内核。2018 年 6 月,KubeSphere 社区版上线,2019 年 4 月发布 2.0 版本,并将在之后的版本中陆续加入了对 AI、无服务器计算、API 网关的支持。

    0_1556274359712_640.jpeg

    KubeSphere 发展路径

    周小四透露,后续将提供QKS(公有容器云服务)的支持,在价格方面会重新调整,“Kubernetes 之所以能赢得战争,就是因为生态很强大。KubeSphere 也是开源的,我们在上游社区贡献了很多,我们自己也贡献了一些项目,覆盖的面比较广,存储、网络、DevOps、负载均衡器都有,现在我们成为了很多开源社区的重要成员。”

    那么,KubeSphere 是解决问题的呢?

    存储方面,青云QingCloud 提供了使用天然适合微服务的分布式存储 QingStor NeonSAN,其性能、稳定性、安全性远高于开源产品;网络方面,青云QingCloud 拥有在公有云和私有云经过验证过的 QingCloud SDN,可以有效解决多租户场景中网络强隔离的问题,同样要比开源方案更可靠;实用方面,青云QingCloud 提供了完善的可视化的工具和技术平台,以及微服务治理和应用商店 AppCenter。

    进一步看,KubeSphere 提供了多种经过社区众多开发者和厂商验证过的开源插件,支持多款存储插件和存储模式。同时,青云QingCloud 的存储都是基于 CSI(Kubernetes)的标准插件接驳 KubeSphere,一键部署不需要额外的配置,包括块存储、QingStor NeonSAN 等产品均可以提供更低延时、更加弹性、更高性能的特性。

    0_1556274359712_640.jpeg

    青云QingCloud 云平台块存储在 K8S 容器测试表现

    0_1556274359712_640.jpeg

    青云QingCloud QingStor NeonSAN 在 K8S 容器测试表现

    KubeSphere 容器平台产品经理于爽表示,QingStor NeonSAN 可以提供数百万的 IOPS,时延是亚毫秒级别的。在青云QingCloud 公有云上,NeonSAN(企业级分布式 SAN)也已经上线,很多用户正在使用。从实际测试来看,企业在容器中使用青云QingCloud 的块存储和 QingStor NeonSAN 的时候,与使用虚拟化存储是一样的,没有系统层面的损失。同时,上述两款存储产品进入了 CSI Driver 目录,得到了官方社区的认可。

    0_1556274359712_640.jpeg

    KubeSphere 容器平台产品经理于爽

    再来看网络,这是青云QingCloud 多年以来重点投入的技术领域,其也将 SDN 的能力无缝迁移到了 KubeSphere 中,不仅可以为客户提供三层 SDN 租户硬隔离方案,也可以提供 Region 架构,实现跨集群网络访问的对接。通过 KubeSphere,能够对接 calico、flannel 等主流网络插件。

    而对于那些已经将业务迁移到 Kubernetes 环境的企业,KubeSphere 则提供了负载均衡器插件,该插件曾在 Kubernetes PaaS 服务中出现过,同样也可以直接用到青云QingCloud 的 SDN 服务。要知道,以互联网为代表的企业希望获得高性能的解决方案,会直接将 Kubernetes 部署在物理机上,不会再在中间隔一层虚拟化平台。

    针对这种部署方式,周小四也对笔者做出了解释:在生产环境直接用物理机一定是趋势。在虚机上有虚拟化的性能损耗和网络的性能损耗。在 IaaS 上用的是 SDN,网络性能会有损耗,在物理机上可以解决这个问题。

    “这就谈到另一个话题:企业如何使用 K8S,到底放在虚机还是物理机,这就要思考一个问题——客户想要什么?刚刚谈到的是生产环境,要的是性能,放在物理机是没问题的。对于开发测试,放在 IaaS 云平台是很好的。IaaS 可以提供资源层面的弹性,计算、存储和软件定义网络。这时候你在上面有弹性、敏捷性。如果要三个节点,在物理机上弄挺麻烦的,但在虚拟机上可以立马启三个节点。在开发测试环境上,放在虚机是更好的选择,它没有性能的要求。”周小四说。

    无论是放在物理机还是虚拟机,青云QingCloud 都有较好的支持。以部署在物理机为例,毕竟在裸金属的平台上并没有云平台 SDN 的负载均衡,对此,青云QingCloud 提供了开源插件 Porter(在 GitHub 开源),允许客户可以自行采购物理交换机。

    有了坚实的基础设施支撑,接下来就是向上层拓展场景功能。DevOps 就是很好的例子,企业可以通过 DevOps 可以快速迭代,实现功能的快速发布。“我们的 DevOps 提供了各种功能,基于 Jenkins 的可视化流水线控制台,用户通过鼠标拖拽、点击就可以构建自己的自动化流水线,不需要了解后台复杂的服务器配置。”于爽介绍称,“用户要做容器镜像的发布,部署在 K8S 环境里,也不需要在里面配置各种复杂的 K8S 命令,只需通过一个界面,填写发布对象的 K8S 的地址,平台就会自动帮你做这件事。”

    0_1556274359712_640.jpeg

    内置模板可实现代码拉取、代码编译、代码静态扫描(扫描代码里的漏洞)、制作容器镜像、推送、发布等端到端流程的自动化

    0_1556274359712_640.jpeg

    用户可自行编辑流水线支持的串行和并行任务

    0_1556274359712_640.jpeg

    代码直达容器镜像功能

    微服务治理是另一个用户较为关注的特性,KubeSphere 的做法是追随社区主流,这样做的好处是更加便于开发者接受,也降低了使用门槛,KubeSphere 可以原生对接 Service Mesh 框架 Istio。于爽认为,Istio 是未来的趋势。随着功能即服务(FaaS,Function as a Service)对原有开发模式的革新,不受 Java 语言栈绑定的 Istio 将发挥更大的影响力。

    0_1556274359712_640.jpeg

    提供 Spring Cloud 兼容解决方案

    借助微服务治理平台,青云QingCloud 可以实现金丝雀发布、蓝绿部署、熔断和链路追踪。“这些功能在 Istio 里是通过很多复杂的配置、复杂的操作实现的功能。我们帮助企业屏蔽了后端所有乱七八糟的东西,客户只需要在界面简单点几下就可以实现想要的功能,他不需要对 Istio 有太多的了解,用户甚至不需要知道 Istio 这个词。”于爽说。把简单留给客户,把困难留给自己,一直是青云QingCloud的理念。

    当然,未来可能用户并不需要知道底层的基础资源由哪一方提供,只会关心应用的效果和体验。青云QingCloud 在 GitHub 上开源的 OpenPitrix,可以实现跨云、跨平台的应用管理和一键部署,其底层后端无缝迁移至 KubeSphere 之后,延续了跨平台应用全生命周期管理的能力,开发者的应用开发、发布、版本管控、运维、监控等流程均可得到满足。

    “大道至简,举重若轻”,这是青云QingCloud KubeSphere容器平台发布会的主题,而极简的减法理念也是 KubeSphere 自开发之初所秉承的。为此,青云QingCloud 利用一系列的 UI 设计让 KubeSphere 开启了“上帝视角”,通过研发时比对每一个功能点相较同类产品操作步骤进行逐一简化,让用户用尽可能少的操作实现同样的功能。其结果是,KubeSphere 在服务发布流程方面降低了用户 40% 的操作负担。

    0_1556274359712_640.jpeg

    服务发布功能

    0_1556274359712_640.jpeg
    一键发布业务应用

    可以看到,KubeSphere 之于 Kubernetes 的再造是全方面的,而这也与青云QingCloud 对于云化、容器化、应用化的未来 IT 论断一致。就像周小四所说的,容器对于企业来说不仅仅是技术,更多的是对企业文化的改造,需要企业在业务理念、流程等进行全方位的改造,“企业如何切分业务才能做到微服务化,流程从以前的方式改成 DevOps 的方式,这是不容易的,要耗费资金和精力培训员工做思想上、技术上的整体改造,只有这样才有可能推动数字化转型取得成功。”


登录后回复
 

与 青云QingCloud 社区 的连接断开,我们正在尝试重连,请耐心等待