作为国产开源操作系统社区,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