写点什么

OpenCloudOS 云原生演进之路

作者:Geek_240e14
  • 2022 年 5 月 25 日
  • 本文字数:1378 字

    阅读完需:约 5 分钟

作为国产开源操作系统社区,OpenCloudOS 沉淀了腾讯及多家厂商在软件和开源生态的优势,在云原生、稳定性、性能、硬件支持等方面均有坚实支撑,可以平等全面地支持所有硬件平台。OpenCloudOS 稳定支撑了腾讯及其合作伙伴超过 1000 万节点的大规模场景,在政务、金融、互联网等行业经过长期使用验证,可以为企业提供稳定高可用的服务,满足业务严苛负载需求。

腾讯在操作系统领域已有超过 10 年的技术积累,特别是云原生的相关技术优化,如容器基础设施、CPU 调度、内存管理、IO、网络、可维护性、虚拟化等 7 大维度的特性贡献到社区中。

技术角度,OpenCloudOS 致力于成为 “云原生最佳底座” 和 “最绿色的操作系统”;本文聚焦于 OpenCloudOS 云原生演进,OpenCloudOS 为云原生提供最佳底座,并通过云原生内核结合腾讯全栈开源云原生技术,打造云原生最佳解决方案。

通用 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 场景形成鲜明对比

OpenCloudOS For 云原生

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

OpenCloudOS (当前) 主要实现 ( Kernel 层) 了如下云原生 Features

·  云原生调度器 - Tencent Could Native Scheduler (TCNS)

·  云原生资源 QoS - RUE

·  Quality Monitor

·  云原生 SLI

·  Cgroupfs

用户头像

Geek_240e14

关注

还未添加个人签名 2022.05.24 加入

还未添加个人简介

评论

发布
暂无评论
OpenCloudOS 云原生演进之路_Geek_240e14_InfoQ写作社区