阿里云马涛:什么是操作系统的云原生?

简介: 云原生已经成为IT界最流行的一个定语,似乎不谈云原生就out了,但什么才是真正的云原生?

注:本文作者马涛,阿里云智能研究员、阿里巴巴集团内核团队创始人之一、阿里云基础软件部操作系统团队负责人。先后在ORACLE、阿里巴巴负责Linux以及操作系统内核相关的研发工作。十五年以上操作系统和内核相关研发经验,国内知名Linux内核研发人员,在文件系统、内存管理、通用块设备层等方面均有深厚的积累,多次受邀在国内外知名Linux操作系统以及内核相关会议上发表讲座。

640 (1).png

现在我们在各个场合可以看到各种各样的“云原生XXX”,云原生已经成为IT界最流行的一个定语,似乎不谈云原生就out了。但什么才是真正的云原生?把老的技术跑在云上就可以了么?貌似不太行!用阿里云高级研究员蒋江伟的一句话来定义——“因云而生才是云原生”。简单来说,一个产品或者技术要能真正加上云原生这个定语,一定要有因云而生的创新和演进,所以想加上云原生这个定语可不是容易的。如果各位读者感兴趣,可以上网搜索文章“阿里云蒋江伟:什么是真正的云原生?”


今天,我就毛遂自荐来讲讲云原生操作系统

大家可能比较好奇,操作系统不是所有用电脑的人每天都在使用的玩意么?“操作系统原理”不是一般计算机系同学的第一门艰深的专业课么?现在最流行的操作系统Linux不是1991年就由Linus Torvalds大神创立了么?以上问题的答案都是肯定的,那么这么一个颇为传统的系统软件也可以云原生了么?对,操作系统也要与时俱进!所以,今天我站在操作系统的角度,来谈谈这个颇为传统的系统软件是如何因云而生、因云而变,成为“云原生操作系统”的。


在展开讲技术之前,我先简单介绍一下自己。我是从2006年开始与操作系统结缘的,最开始是在Oracle从事操作系统的开发工作,2010年加入淘宝核心系统做操作系统,作为阿里最早一批做操作系统的同学,从淘宝到阿里云一直坚守在操作系统领域,一路参与和见证了操作系统在阿里因云而生的演进发展。虽然淘宝也是一家互联网公司,但是淘宝的操作系统和传统的操作系统其实区别并不大。一切因云而生的改变从我2012年从淘宝转入阿里云开始。

那个时候,阿里云的操作系统和淘宝的有区别么?客观来说区别不大。唯一的一点点区别:在淘宝,操作系统是淘宝的一个基础组件;而在阿里云,操作系统和虚拟化成为了第一代云计算的基石,这是操作系统和云的第一次亲密接触。

2000年左右,VMware和Xen虚拟化技术相继出现,操作系统通过将物理资源虚拟化达到提高资源利用率和灵活调度的目的,最终催生了云计算的诞生。早期的AWS、阿里云都是利用这一技术提供虚拟主机的服务。这是云原生么,是因云而生的么?当然不是。首先这些云厂商大都是在线下硬件上实现一个虚拟化层(hypervisor),把原来直接操控硬件的操作系统架到hypervisor上运行,然后服务器物理资源层面的抽象和管理都由hypervisor重新实现。那么,这个事情线下能做么?绝对可以,所以显然这不符合云原生的定义。虽说这是云的开端,但这不是云原生的。

时间来到了2013年,操作系统和云的第二次亲密接触源于容器的诞生和发展与虚拟机的服务器资源虚拟化不同,容器是操作系统虚拟化,在技术栈上上升了一层——通过内核里实现的cgroup和namespace等技术为不同应用提供轻量、隔离的运行环境。2013年docker的横空出世,使得应用容器的打包分发变得非常简单易用,随后k8s等容器编排技术的出现,容器生态系统得到了快速的普及和发展,容器也迅速成为应用打包分发和开发测试的主流形态,逐渐成为云计算的主要运行单元。

IMG_1918.png

这就是CNCF定义的云原生了,但它只是“狭义”的,操作系统在这个“狭义”云原生中起到了很大的作用,但其实它并不是真正意义上的“因云而生的”,也没有在云上体现任何革命性的技术革新。

不过仔细观察一下上图,我们可以发现——容器在安全方面的不足在云上成为了一个大问题。一方面传统的操作系统对于容器之间的干扰问题没有很好的解决方案,另一方面容器之间还存在彼此攻击,共享一些关键资源等非常严重的安全问题。机会总是留给有准备的人,此时的操作系统终于需要因云而变、为云演进了。我们基于操作系统实现了轻量级虚拟化和应用内核等技术,打造了一种全新的安全的容器,我们称之为安全沙箱容器

沙箱容器在解决容器安全隔离问题的同时,仍然保留容器完整的技术生态和体验,可以跟普通容器无缝的混合使用。这是操作系统在容器场景上因云而生的一个重要演进,至此操作系统完成了“因云而生”的漂亮转型,成为一个云原生操作系统。目前这套系统已经服务于阿里集团各个云原生相关业务,也通过阿里云上各种容器实例产品服务于我们的云客户。            

IMG_1919.png

故事到这里还没有结束。面向未来的云原生,操作系统如何继续“因云而与众不同”呢?这就不得不提云原生中另外一个趋势Serverless

2019年,UC伯克利大学预测Serverless将会逐渐取代Serverful计算,成为云时代的新计算范式。随着云原生理念的推广以及各种云原生技术的不断发展,Serverless计算的趋势在加速。在这种新场景中,用户只需要专注于应用和业务逻辑,更多的通用功能、资源和系统能力都下沉到云,用户不需要提前规划容量,不需要运维底层系统,可以真正像用水、用电一样按需使用按需付费,Serverless将大幅提升云的生产效率。

IMG_1920.png

背景介绍完,问题也来了—— Serverless和操作系统有啥关系呢?我认为要构建好Serverless服务,操作系统一定不能缺席。由于Serverless场景下服务边界的上移,对用户来说应用容器或函数代码之下的系统就是一个整体,用户不再感知底层系统的技术栈分层。这个变化给技术垂直整合创造了条件。我们认为云原生的操作系统需要进行整体性的全栈优化和重塑,这样才能为Serverless提供更优的底层系统能力,基础运行环境、资源弹性、高效执行等能力也将因此得到极大的释放。

IMG_1921.png

如果说在容器和K8S时代操作系统是“因云而演进”,那么到了Serverless时代,我们则要彻底创造出一个全新的云原生操作系统。通过底层系统全栈技术的协同融合,为云原生平台和应用提供高效和创新的云原生系统服务。这次变革和创新的力度对于传统操作系统而言是前所未有的,但是我们坚信,操作系统一定会为云而改变,为云而重生。在阿里内部,我们给这样的云原生操作系统起了一个响亮的名字——“袋鼠”

IMG_1922.png

多年之后,也许大学课程“操作系统原理”里的内容会因为这次变革而发生翻天覆地的改变,但我们坚信,这就是云带给我们这一代操作系统研发人员的使命:重新定义操作系统。只有通过因云而生的技术创新打造出来的操作系统,才是真正的云原生操作系统。


福利提醒:看文章,有礼品 🙈

IMG_1923.jpeg


加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:可扫码或搜钉钉群号(33311793)。欢迎开发者/用户加入龙蜥OpenAnolis社区交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

龙蜥助手.jpeg                1.jpeg

龙蜥社区_小龙                                            钉钉群二维码



关于龙蜥社区


龙蜥社区是由企事业单位、高等院校、科研单位、非营利性组织、个人等按照自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于2020年9月,旨在构建一个开源、中立、开放的Linux上游发行版社区及创新平台。

短期目标是开发Anolis OS作为CentOS替代版,重新构建一个兼容国际Linux主流厂商发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

加入我们,一起打造面向未来的开源操作系统!

Https://openanolis.cn

相关实践学习
CentOS 8迁移Anolis OS 8
Anolis OS 8在做出差异性开发同时,在生态上和依赖管理上保持跟CentOS 8.x兼容,本文为您介绍如何通过AOMS迁移工具实现CentOS 8.x到Anolis OS 8的迁移。
相关文章
|
27天前
|
运维 Ubuntu 测试技术
阿里云 OS Colilot 使用方法及评测
本文介绍了OS Copilot的安装与功能测试。作为一位运维工程师,我在阿里云Ubuntu 24.04机器上成功安装并测试了OS Copilot的-t/-f/管道功能。测试结果显示,除了管道符识别存在一些问题外,OS Copilot在任务指令处理和系统巡检等方面表现出色,能够显著简化操作流程,提升工作效率。建议在未来版本中优化管道符识别,并谨慎引导用户执行不确定的命令。总体而言,OS Copilot是一个非常有用的运维工具,已在我的工作中发挥了积极作用。
69 15
|
27天前
|
弹性计算 运维 Ubuntu
阿里云 OS Colilot 使用方法及评测
作为一名后端研发工程师兼公司运维,我经常使用阿里云维护服务器和管理云服务。最近尝试了OS Copilot的-f/-t/管道功能 此外,我还测试了普通模式、自动模式、文件定义任务及命令解释功能。其中自动模式表现出色,而文件定义任务和默认英文解释则存在问题。总体而言,OS Copilot在某些方面显著提高了运维效率,但仍需改进。
|
27天前
|
弹性计算 运维 架构师
初见阿里云 OS Copilot 评测
### 阿里云 OS Copilot 操作系统智能助手评测报告 **评测人员身份:山东云管家售前架构师** #### 1、功能体验 1. **基本命令**:`co --help` 显示了丰富的命令选项,支持交互模式和文件输入。 2. **健康检查**:使用 `-t` 参数可自动执行系统健康检查,简化操作流程,提升效率。 3. **批量任务**:通过 `-f` 参数读取文件中的复杂任务并自动执行,适合频繁运维需求。 4. **管道功能**:支持直接解析配置文件,快速理解并优化系统参数。 #### 2、总结与反馈 OS Copilot 具备高效性和易用性,特别适用于中高级运维工程师。但仍需改进对自
|
5天前
|
Cloud Native Serverless 数据中心
阿里云ACK One:注册集群支持ACS算力——云原生时代的计算新引擎
ACK One注册集群已正式支持ACS(容器计算服务)算力,为企业的容器化工作负载提供更多选择和更强大的计算能力。
|
9天前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 1 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
阿里云微服务引擎 MSE 及 云原生 API 网关 2025 年 1 月产品动态
|
8天前
|
弹性计算 人工智能 运维
云产品评测:阿里云用操作系统控制台使用体验
阿里云操作系统控制台为运维工程师提供了便捷的服务器运维工具,通过网页交互方式简化了服务器诊断、系统分析等操作。用户只需拥有阿里云账户和ECS实例,开通服务后即可使用。主要步骤包括开通服务、安装SysOM和OS Copilot组件,以及进行系统内存诊断、进程热点追踪等操作。整个过程简单直观,大大降低了运维难度,提升了工作效率。有兴趣的朋友可以亲自体验这一强大工具。
|
10天前
|
自然语言处理 运维 Linux
阿里云操作系统智能助手OS Copilot测评报告及建议
阿里云推出的OS Copilot是一款基于大模型构建的操作系统智能助手,旨在通过自然语言处理技术与操作系统经验的深度融合,为Linux用户提供前所未有的使用体验。它具备自然语言问答、辅助命令执行和系统运维调优等核心功能,极大降低了Linux的学习门槛,提升了工作效率。测试显示,OS Copilot在功能、性能、易用性和实用性方面表现出色,能够帮助用户高效解决问题并优化系统性能。未来,期待其持续优化升级,加入更多实用功能,进一步提升用户体验。
54 4
|
27天前
|
弹性计算 人工智能 运维
云产品评测|告别传统运维挑战!阿里云OS控制台引领智能管理新时代
阿里云OS控制台是专为运维人员设计的高效管理工具,旨在提升用户体验和简化操作流程。它不仅集成了OS Copilot等智能助手,还提供了系统诊断、订阅管理和AI组件等功能,支持API、SDK、CLI等多种管理方式。通过该平台,用户可以轻松纳管服务器、监控健康状态、执行故障排查,并享受针对阿里云环境优化的运维体验。整体而言,阿里云OS控制台为运维工作带来了极大的便利与效率提升。
|
26天前
|
弹性计算 运维 自然语言处理
阿里云操作系统智能助手OS Copilot使用评测报告
作为一名运维工程师,我近期体验了阿里云OS Copilot智能助手。在Alibaba Cloud Linux的ECS实例中,按官方文档完成安装配置后,通过输入`co`命令唤醒助手,验证其自然语言理解能力,发现它对中英文支持良好。体验了 `-t` 参数的自动任务处理、`-f` 参数的复杂任务执行及管道功能对命令的详细解读,这些功能显著提升了工作效率。总体而言,OS Copilot表现优异,建议增加自动下载命令功能以进一步提升用户体验。
|
10天前
|
运维 Ubuntu 安全
阿里云OS Copilot智能助手深度评测报告:一位系统管理员的真实体验
### 阿里云OS Copilot智能助手深度评测报告:系统管理员的真实体验 作为一名负责30+台跨平台服务器的系统管理员,我在部署新集群时首次深度体验了OS Copilot。通过多系统部署、核心功能测试及效能分析,发现其在自动化运维方面表现出色,特别是在故障诊断和批量配置上效率大幅提升。但也提出了一些改进建议,如增强安全机制和提供REST API接口。总体而言,OS Copilot已从“智能助手”进化为“运维副驾驶”,建议运维团队结合CI/CD管道进行深度集成。
26 0