腾讯TencentOS 十年云原生的迭代演进之路

导语

TencentOS Server (又名 Tencent Linux 简称 Tlinux) 是腾讯针对云的场景研发的 Linux 操作系统,提供了专门的功能特性和性能优化,为云服务器实例中的应用程序提供高性能,且更加安全可靠的运行环境。Tencent Linux 使用免费,在 CentOS(及兼容发行版)上开发的应用程序可直接在 Tencent Linux 上运行,用户还可持续获得腾讯云的更新维护和技术支持。

TencentOS 在腾讯内部已经经历了超过10年的迭代和演进,承载支撑了腾讯所有业务,商用部署节点超300w,经受住了海量复杂业务模型在极端场景中的极限考验。

通用OS架构

传统 OS 的定义(盗用经典教科书内容):

操作系统是控制应用程序执行的程序,是应用程序和计算机(硬件)间的接口。

操作系统有3个目标:

  • 方便:让计算机更易于使用
  • 有效:允许以更有效的方式使用计算机资源
  • 扩展:允许在不影响服务的前提下,有效的开发、测试和引入新的系统功能

传统通用 OS(Linux) 的典型架构设计如上,操作系统中包含了为实现上述3个目标而提供的各种功能模块和接口,总体上,分为两大部分:

  • 内核:提供底层硬件(计算机)的基本抽象,不同的内核模块提供不同的硬件管理或相关的辅助功能,通过系统调用向上层应用提供服务。
  • 基础库和相关服务组件(用户态):为真实业务运行提供基础运行环境

IaaS 场景中的 OS

IaaS 场景中,OS 主要用于为云主机(虚拟机)提供运行环境,在 IaaS 场景中,OS 中运行的任务类型和数量可控,场景相对通用场景简单很多。任务类型基本就只有如下几类:

  • VM 相关线程(通常为 Qemu + Vcpu 线程)
  • 各种控制面的管理 Agents
  • OS 自身必须的一些控制线程(比如 Per-cpu Workers)

IaaS 场景中,为使虚拟机性能无限接近(甚至超越)物理机,通常会考虑做减法,通过无限减少虚拟化、OS 层面的开销来提升性能,常用的一些典型手段如:

  • CPU 层面的绑核
  • 内存层面的预分配
  • IO 层面的各种 Bypass Kernel 技术

对于 OS 来说,最终的结果是:

OS 越来越薄,最终可能会消失

换个角度看 OS (云原生角度)

当云原生浪潮袭来,换个角度(云原生角度)再去审视 OS 时,看到的又是不一样的视图。云原生场景对 OS 提出了新的挑战,也为 OS 相关技术的进一步发展和演进注入了新的动力。

云原生场景中,OS 为不同类型的应用(Apps,Containers,Functions,Sandboxes),提供底层支撑和服务。此时,相比 IaaS 场景,最明显的差别在于:

应用和系统的边界大幅上移,应用之下皆为 OS

对于 OS 来说,最终的结果是:

OS 越来越厚(孕育无限可能),与 IaaS 场景形成鲜明对比*

TencentOS For 云原生

在云原生浪潮席卷的行业大背景下,伴随着腾讯自身的各种业务架构的快速转身,业务的容器化、微服务化、Serverless 化,对底层的基础设施(包括核心的 OS )提出了新的挑战和要求,TencentOS 也随之迅速转型,针对腾讯自身的云原生场景和需求,进行了深度的重构和重新设计,全面拥抱云原生,向云原生 OS 的目标一步步迈进。

总体架构

TencentOS (当前)主要实现( Kernel 层)了如下云原生 Features (后文展开)

  • 云原生调度器 - Tencent Could Native Scheduler(TCNS)
  • 云原生资源 QoS - RUE
  • Quality Monitor
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值