以应用为中心的云原生 2.0
1.什么是云原生 2.0
在 18 年左右大家对云原生的定义更多的是在微服务、敏捷基础设施、Devops 三个部分,还记得之前做运维平台的时候,大家提的都是标准化、自动化、平台化、智能化而今则变成容器化、云化、云原生化,本质上个人认为是解决问题思路的转变,通过以软件工程的思维解决当前问题,比如通过容器解决应用运行环境。
那么云化与云原生化的区别是啥呢?云化通常指的是资源的池化,主要是指的计算、网络、存储三大资源,在这个阶段主要还是面向资源,大部分公司此时会忽略掉基础服务资源的统一纳管,比如像缓存、数据库、消息队列等。主要难点在于这些平台通常是独立的体系,而且是有状态应用。如果不统一纳管则首先资源上无法统一管控,比如应用容量管理,如果没有基础服务相关数据,你咋能评估应用容量,找到最短的那块板?
在今天谈论云原生大家也不再是只谈论容器调度编排,而更多的讨论是能力,即作为一个平台你到底提供什么样的能力?比如 service mesh 提供了微服务框架原本的能力,并且同语言解耦,dapr 提供了业务可以直接用分布式语义,作为一个基础服务平台能够提供一个什么样的能力让用户都不知道你才是真的,而不是画地为牢,只关注自己的一亩三分地。
云原生 2.0 中提出以应用为中心,建立安全与运营两大体系,在当前的敏捷基础设施、微服务、Devops 的基础上又增加在数据、智能、安全三大方面的赋能,其实对应公司内部的数据中台、AI 中台、安全,基本上也涵盖了公司的运维、安全、基础架构、数据中心四大核心部门数据和平台的融合,为应用提供敏捷、智能、安全的底层数据和基础架构等综合能力支持。
2.云原生基础设施
2.1 以应用为中心
随着云原生应用场景的增加,对基础设施的计算、网络、存储相关使用场景越来越丰富,在诸如密集计算、海量树存储、高并发流量等场景中对基础设施的性能要求也越来越高。为此云原生基础设施平台需要采用软硬结合的方式满足应用对计算、存储、网络方面需求。
网络
随着云原生大规模应用,对网络的需求主要体现在:网络隔离、网络弹性以及细粒度的 QOS 等基础要求,华为通过高性能协议栈技术利用普通的网络设备来实现高性能计算
存储
对存储的管理白皮书中提到了三个以前未注意的点:1)微服务组件并发调用存储卷的管理接口,导致控制面也需要关注性能 2)以应用负载来动态的进行存储卷的管理 3)通过策略自动化管理存储卷,对用户屏蔽复杂的存储卷管理,还有一个就是云原生中通过声明的方式来进行存储使用
计算
对计算主要是通过以应用为中心来进行操作系统的定制,并通过 AI 来来进行智能运维和调优,这在华为开源的操作系统里面也有提到
2.2 统一计算
通过云原生容器编排系统 k8s 来实现解除厂商绑定、统一运维和跨云弹性等功能,同时文中预测未来 5 年,越来越多的公司会使用边缘计算,对于边缘设备也通过 k8s 来统一纳管,同时需要对边缘节点的极致轻量、高可靠性、大规模管理等特性来进行支持,实现统一计算调度
2.3 智能高效运维
随着有状态应用的容器化,针对有状态应用的管理,云原生基础平台应该通过提供部署标准、开发规范、服务中心、生命周期管理、服务灰度、服务网格、流量治理等能力
可见未来通过软硬结合的方式,对公司的各种基础设施来进行统一纳管调度,实现智能高效的基础设施服务平台才是未来基础设施发力的重点方向
3.云原生应用敏捷
云原生基础设施为应用提供了各种基础能力,上层应用可以快速更多的聚焦业务本身,同时基于云原生基础设施通用的能力,也推动了应用架构的敏捷化。
3.1 应用架构现代化
应用架构现代化主要是通过微服务进行业务单元的拆分,同时通过微服务实现应用的松耦合,然后通过 serverless 实现应用的开发、部署和运行从而提升应用的敏捷性。并且提供云平台的能力来实现多区域单元化部署。
3.2 开发运维现代化
抽象化:研发通过抽象化来实现通用公共代码的复用,就如当前火热的 dapr,通过框架工具提供上层业务能力,让开发人员只关注业务逻辑。模板化:通过声明式实现基础设施的交付,并通过模板化实现应用的复制、部署与迁移能力。自动化:通过 DevOps 流水线实现 CICD 的持续集成与交付,并将 DevSecOps 能力也嵌入到流水线中,进一步提升交付质量与效率智能化:通过整个 DevOps 流程数据的收集,对研发质量和应用数据进行统一分析汇总,通过数据的智能分析实现研发质量、成本、效率的度量立体运维:通过云平台丰富的运维数据,帮助业务团队提升运维自动化、智能化、稳定性保障等能力
3.3 治理运营现代化
提供支持研发框架和 mesh 的双栈微服务运营平台,并且为云原生体系和企业旧架构提供连接能力,进而实现对 API 的统一治理,并在过程中实现数据资产的沉淀和运营。
基于新的云平台业务应用可以利用云原生基础设施快速的进行业务迭代和架构设计,为公司交付高质量、弹性、安全的产品,并且通过研发数据的智能化分析,降低运营成本
4.云原生业务智能
在基础设施和应用敏捷阶段企业完全是业务驱动技术,而在业务智能阶段则是通过数据的智能化分析来影响业务决策,有点类似大家常说的数据中台与 AI 中台。
通过数据中台对公司的各种数据资产进行统一的纳管,提供一站式的、智能的数据治理能力。为企业提供一个弹性、敏捷、高效、安全的数据全生命周期管理的云原生技术底座。
其中比较注意的第一个是:计算和存储分离在数据库上的应用;之前也了解过华为云提供的 mongodb,感觉未来这种思想一旦大规模采用,则对当前的各种基础存储几乎是颠覆的,想想存储平台不再数据复制,拥有更短的数据延迟,真的就像三体里面说的消灭你与你无关
第二点则是 AI 相关:智能化数据服务和智能 AI(我编的);为用户提供智能化数据服务,用户可以快速的进行数据分析,直接跳过数据获取准备阶段;然后通过云原生 AI 为用户提供自动调参、推理的智能 AI,降低数据分析门槛,这样就可以快速的将行业知识引入到系统中,实现知识沉淀
5.云原生可信安全
为了实现可信安全,文中从两个方面来进行解读:面向云原生环境的安全和具有云原生特征的安全,面向指的是支持云原生环境中安全保护的能力,具有则是指的安全也应该具有云原生的敏捷、轻量、可编排等云原生特性
5.1 基础设施安全
基于分层建设支持从底层的物理机、虚拟机到上层的基础服务组件、网络,在到支持业务应用运行的运行时环境全方位的纵深安全防护能力。感觉比较牛逼的就是通过 AI 技术从宿主机交付通过机器学习来实现恶意攻击,想想就牛逼 plus,未来是不是也可以支持指令级别 AI 学习?
5.2 服务安全
服务安全重点是围绕应用来进行,从容器镜像到微服务到运行时平台,对容器支持从容器构建、传输、仓库全方位的的防护体系,提供全面的镜像扫描、镜像完整性、镜像内容安全、镜像仓库安全、镜像传输安全等保护能力。
微服务中实现组件、通信、认证的安全保护能力。同时对于运行在 serverless 平台上的应用实现代码和数据安全的保护。其他的还有一些关于安全运营和全生命周期管理运营相关的。感兴趣的可以自己看下
6.思考未来
白皮书中提到云原生未来的 6 个趋势:
分布式云有机协同
基础设施资源与应用相互感知
效率、安全成为企业的核心关注
AI、数据、应用深度结合
安全服务自身需要云原生化
结合我当前关注的东西,这里跟大家分享下我对前 2 趋势的思考:1.随着云原生技术的普及,越来越多的企业都已经转移到 k8s 上,随着迁移的完成后续应用的迁移也会逐渐的开始基于云原生来进行应用架构设计,更多的企业会将敏态业务迁移到公有云上,利用公有云的基础设施和平台来进行新业务应用架构设计,公司内部的基础设施需要开始逐步面向业务,而不是当前的只关注自己的基础平台,拥抱变化,而不是拒绝变化 2.未来每个公司都会有自己的专有云平台,通过对公司各种资源和数据的统一管理,实现对公司的计算、存储、网络等资源的集中管理,并且提供统一调度,也会驱动知识图谱和数据驱动的 AI 在运维领域的应用。应用运维平台面向终态化,传统的运维回家开滴滴。
评论