查看原文
其他

用架构思维为云原生做减法,拥抱开源生态

Intel 英特尔数据中心 2022-12-01

近几年,“云原生”这个词被提起的频率不断上升。Gartner报告指出,到2025年,有95%的全球化企业将在生产中使用云原生的服务化应用。不仅是互联网行业,制造、房地产、生物医药、政府等各行各业都将拥抱云原生技术。


目前云原生的生态非常活跃,随着越来越多的应用在云原生平台中产生或迁移,与这些现有应用整合的需求只会不断增加。如何深度应用云原生应用,是衡量未来企业数智化能力、助力业务成功的关键。

企业选择拥抱云原生的重点在于交付业务价值,构建和整合基础架构所产生的工作量不能成为负累。在此背景下,通过架构的设计和搭建选择适合企业自身业务的云原生项目,进而做到真正支持业务增长就变得尤为重要。

Science与英特尔联袂推出的“架构师成长计划”第二季系列课程,为您带来第四期——《用架构思维为云原生做减法》。本期课程邀请了青云科技云原生产品总监于爽、英特尔云基础设施软件研发总监王庆、CSDN创始人/总裁蒋涛共同研讨云原生技术的演进与落地应用,为相关领域的架构师们答疑解惑。


















































破解碎片化难题,

为云原生做减法




2011年中国举办了第一届云计算技术大会,十多年过去了,企业上云已成为共识。最初的云计算1.0是将业务跑在服务器上,对应云平台、虚拟化等技术;之后,随着业务驱动,为降成本、增效能,云原生的相关技术应运而生。

云原生是指用一个开源软件栈解决如下几个问题:
  • 把应用程序切分为多个微服务
  • 把每个部分打包成容器
  • 并且动态地编排这些容器以优化系统资源



云原生“元素周期表”

一项来自Gartner的2022年度分析报告中指出,云原生平台(Cloud Native Platforms)已经成为企业数字基建的必需品;报告预测,到2025年,云原生平台将成为95%以上新数字计划的基础,而在2021年这一比例尚不足40%,发展空间充分。

云原生的整个生态非常活跃,各种新兴项目层出不穷,例如底层的计算调度平台Kubernetes(简称为K8s),往上层的边缘计算、各种网络项目、存储项目、Serverless项目等等,就好像一张丰富的“元素周期表”。

企业如何去选择项目,更好地匹配业务,成为企业要面对的一道难题。

CNCF基金会开源生态项目




企业只能一直做“加法”吗?

谷歌推出的容器编排器Kubernetes是业界最受欢迎的底层调度平台,它的简称是K8s,即用数字8代替名字中间的8个字符“ubernete”。

据于爽介绍,大部分企业会选择K8s作为其云原生的底层调度平台,但这只是个开始,接下来为了全面掌控平台情况,企业会继续选择Prometheus的技术栈;而后,企业要去做日志管理,做相应的微服务架构……

如此,企业会持续在最原始的K8s之上做“加法”,如同滚雪球一般,越滚越“大”,企业各类负载会愈发沉重。


这种“加法”会使企业应用云原生时面对碎片化越来越严重的现象,同时需要不停地去协调技术人员、调研新的技术框架、调研新的开源项目,从而导致企业的运维成本逐渐升高。



击破“加法”难题,拥抱开源生态

“加法”题带来的痛点是显而易见的,这其中包括:
  • 侵入式开发
  • 中断式更新
  • 严重依赖产品版本迭代节奏
  • 前后端代码库整体构建,效率低

如何帮助企业突破这些痛点?青云科技在2018年找到了解决的办法,推出了KubeSphere。

KubeSphere秉承的理念是“用户只需要面对一个产品,就能享受整个云原生团队的服务”。它可以屏蔽整个云原生生态里面各种碎片化的问题,支持一键安装部署;同时,它里面的功能组件也是可以按需开启的,应用市场丰富多样。

从问世至今,KubeSphere已经积累了在多种垂类场景应用的能力。针对不同场景,提供各种跨集群,跨异构基础设施的观测能力,如此便可以无缝地去对接各种主流的网络存储,也可以去管理边缘云的边缘节点,同时上层提供了垂直的、多租户的、多层的管理能力。

KubeSphere跨基础设施全场景支持


通过架构方式的创新调整、通过与开源项目的生态共建,青云科技今年推出了KubeSphere4.0,期望能把云原生生态的各种能力统一地整合起来。

















































英特尔分享:从云计算到云原生,迈向微服务架构的挑战与展望

云原生是与云计算一脉相承的技术演进,目前放眼整个云计算行业,单体应用向微服务的转变是重要发展趋势,具体是指:


将管理基础设施(计算、网络、存储)的负担卸载给云服务提供商(公共云/私有云/边缘云),使得开发人员可以专注于应用程序的业务逻辑而不是基础设施,以减少支出,促进应用更快上市;从架构设计上看,将大型复杂的单体应用程序分解为小的模块化执行单元,便于修改程序或添加功能,更好地重用代码,减少维护的开销。


来自英特尔的讲师王庆分享了英特尔在云原生里的技术发展和展望。

早在2012年,英特尔就积极参与开源云计算中,随着不断的发展与实践累积,在这过程中,英特尔看到了目前云原生乃至云计算整个行业面临的一些困境与挑战,例如:创建容器的时间过长、低吞吐量/突发并发、容器扩展速度慢……等问题。


挑战
应对
1

创建容器时间过长

基于快照+热代码块来创建容器

2

低吞吐量/RPS/突发并发

分片式多调度器

3

容器扩展速度慢

弹性POD的自动扩展

4

集群扩展速度慢

基于遥测的快速预测,用于实时扩展的决策

5

Sidecar 资源开销

动态插入/删除POD中的Sidecar容器

6

资源利用率低

链接设备的亲和调度/分配,实时“节点资源变化”反馈给K8s调度器


针对这些问题,英特尔在K8s开源社区尝试并产出了诸多功能,其中值得一提的是CRI-RM功能。K8s属于软件层面,无法感知硬件层面;英特尔开发了一款可以将硬件功能以及将硬件有哪些拓扑图暴露给K8s的插件;有了这样的插件后,K8s就可以在软件层面上进行合理的资源调度。


















































嘉宾对话:传统IT系统如何应对拥抱云原生时遇到的挑战?


交流碰撞火花,沟通启迪灵感。本期圆桌对话环节中,三位嘉宾围绕“云原生发展与实践应用”展开,针对企业普遍遇到的问题答疑解惑。


蒋涛:现在如果企业要上微服务,要用微服务架构来重新把业务进行拆解,这往往很复杂,这对于一个传统的公司和传统的系统来说是一个挑战。

对于传统公司和传统系统来说,如何部署微服务?

于爽:我们接触的一些金融业用户,比如银行、保险,他们有些系统可能已经运行十多年了,系统本身对于他们来说已经成为黑盒,当初创建系统的人甚至都已不在团队中。当他们也想去进行相应的微服务化改造时,我们不能一味地迎合。我们需要先看一下系统面向的客户群体是什么?现在业务上碰到了哪些瓶颈?是不是适合去切到新的云原生和微服务的架构上?如果结论是肯定的,我们就要通过种种方式去调整,其实有很多模式可以借鉴,并不是说一定要把所有代码重构。

微服务适用于所有业务吗?


王庆:我觉得这里面可能是有一个误区,不是所有的应用、所有的服务都能够变成微服务,都能变成云原生的。以前在社区里也是经常会有人问我们,你认为云原生会替代虚机、裸金属吗?这是不一定的。将来这些东西可能都是求同存异,共存的。微服务架构需要考虑两大因素:一是能否微服务化,二是性能问题。

企业在新建IT基础架构或者升级架构时,面对哪些行业痛点和不同需求?云原生如何部署才能做到助力业务快速迭代?如何突破“加法”难题做减法?

欲了解更多精彩内容和技术细节,请观看“架构师成长计划”第二季第四期的完整课程。

















































大咖寄语——致年轻的架构师们



于爽:不断学习,不断了解新的东西,尊重这个行业,希望大家一起共建架构师这一角色。

王庆:与时俱进,追求卓越,鼓励大家拥抱开源,接触前线,接触到数据中心相关的技术。

蒋涛:中国的架构师们,应该积极地投身到全球的开源智慧里面去,站在前人的肩膀上能够做更多的事情。



点击“阅读原文”回看完整课程
英特尔、英特尔标识、以及其他英特尔商标是英特尔公司或其子公司在美国和/或其他国家的商标。
© 英特尔公司版权所有。
* 文中涉及的其它名称及商标属于各自所有者资产

延伸阅读

★ 超算优化重在存储,DAOS 助力瑞金打造先进的生信大数据平台

 架构师公开课干货回顾:超视频时代的音视频架构建设|内含获奖名单


长按识别二维码,查看更多精彩内容!


 “芯”有灵犀,你也“在看”!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存