云上体验最佳的服务器操作系统 - Alibaba Cloud Linux | 飞天技术沙龙-CentOS 迁移替换专场
内容介绍
1. 背景介绍
2. 产品介绍
3. 案例分享
本次分享主要是包括三部分,首先大概介绍一下 Alibaba Cloud Linux 的产生背景,然后详细分享一下产品的能力以及在云上使用 Alibaba Cloud Linux 可以享受到的技术红利和优势,最后会分享几个案例了解在云上实际用户的一些情况。
01. 背景介绍
阿里云在很早就开始做操作系统的研发,在研发的过程当中积淀了非常多用户对于操作系统的诉求,大概是三点。
第一就是如何在云上获得更好的软件性能表现,因为一旦用户已经上到云上或者已经搭建好了自己的 IDC ,它的硬件形态基本上是不可能再变化了,甚至是硬件厂商在出厂硬件的时候,它整体的硬件能力就已经固定下来了,用户拿到应用运行的时候能动的只有软件部分。在现有的硬件能力的基础上,通过软件的手段帮助应用在云上能够运行的更好,这是用户反馈的第一个想要达到的目的。
第二就是在软件上云之后,如何保证稳定和安全,这两个是在云上本地运行的基础。
最后一个就是服务,对于绝大多数的公司来说,可能都没有非常专业的操作系统的技术人员,大部分是一些运维人员来承担的整个服务器操作系统的运维,一旦遇操作系统这类深水区的问题,如何获得操作系统厂商、云厂商或者社区的伙伴来解决问题,这是第三点需求和通点。
阿里云在构建研发操作系统的过程当中,主要是围绕上面的三个点来做的。我们结合阿里云在实践过程中针对性能、稳定、安全、服务所构建的能力,在 2009 年到 2017 年,主要是对阿里集团或者阿里云内部的云产品进行一个操作系统的打磨, 2017 年之后,我们将所具备的这些的能力进行了性能的优化,将服务、安全、稳定的能力全部开源开放到了阿里云的云上,让外部的用户能够享受到这份的红利。
上图时间轴中,针对上述整个开源开放的整个路径,从 2017 年开始,我们每一年或者每个季度或者是每个月都有非常重要的一些版本的迭代,然后一直延续到了今天。随着云上服务规模的扩大, Alibaba Cloud Linux 在今年的 4 月份,正式在阿里云上的整体的算力规模超过了 CentOS 成为阿里云上规模最大的操作系统。把数据脱敏后,整体的趋势增长是非常快速的,并且在 CentOS 停服后,未来的速度还会进一步的扩大,阿里云规模的扩大是用户对于阿里云甚至是阿里云服务器操作系统的认可。
02. 产品介绍
最底层的是计算、存储、网络,这是整个硬件的形态。上层是阿里云的用户或者阿里云的云产品,大家所能在阿里云上获取到的 Alibaba Cloud Linux 是和阿里云甚至是阿里集团淘宝、天猫、支付宝等的业务所使用的操作系统是一模一样的,性能稳定性等各方面的能力大家是互惠互利,互相共赢的。
操作系统的部分在中间部分,最底下的是操作系统的基础能力,对于很多用户来说,能够把操作系统在一个机器上启动起来,能够有它的硬件管理,能够给任务做调度,能够管理删除文件账号等等,这些可能就是绝大多数操作系统都具备的能力,可能一些专用的场景会有一些限制。
上面的部分针对阿里云来说是非常重要的一部分,就是在云上的自研能力。软硬协同主要是针对阿里云上目前给大家提供的各种各样的 CPU 的算力,这些 CPU 的硬件有大量的指令集、后端的加速器、后端的 ERDMA 的这些能力,如何保证这些硬件能力能够让用户在云上使用的好,这非常依赖于操作系统的技术软件将硬件能力透出到用户层,让用户的应用能够把硬件能力用起来。
优化部分包括内核的优化,内存的使用、调度的时延都需要在内核侧进行大量的时间去优化。关于配置的优化,操作系统里面有四千多个配置文件,如何在各种场景下达到一个很好的均衡点是目前操作系统团队花了很大的精力关注的事情。优化还包括其它优化。
关于云上方案,我们有很多的云产品,用户在使用这些云产品的时候,和操作系统有很多联动的点。举个简单例子,在阿里上有个容器场景的优化, ACK 的容器服务底层有一个容器优化的 OS ,这个 OS 跟容器的 KYS 有一个非常好的协同,不管是资源侧的能力还是在各种场景下面的优化,都是要和操作系统和底层的硬件有一个结合的,所以,云上的方案主要是用来和云上的各种各样的场景做一些结合,能够让对应的场景在云上有最好的表现。
上图右侧是用户对于服务部分的内容。阿里云操作系统有一个非常专业的操作系统服务的团队,会有 7×24 小时的人员在后端对云上所使用的操作系统进行值班的服务,关于工单的处理有常规的问题的咨询,还有非常多专业的运维工具,包括诊断的工具、安全漏洞以及性能分析的工具、迁移的工具等。大家可以登录到 Alibaba Cloud Linux 的官网,我们所有的代码都是开源的,可能有一些开源的特性没有特意的写文档,但是关于自研的特性我们在持续的补充以前的文档,可能以前的文档不够规范,但是我们今年会将很多大量自研的特性以文档的形式给大家,让大家看到这个特性在操作系统里面有什么样的效果。
接下来的四个维度就是操作系统团队目前整个 Alibaba Cloud Linux 主力发展的四个方向。第一是持续的维护,在 CentOS 停服的场景下这对于用户来说特别重要,用户会关心使用了 Alibaba Cloud Linux 几年之后也突然停服的问题。第二是安全,在云上如何保证安全漏洞的修复,是否有像国家要求的等保的安全场景方案。第三是稳定,如何保证云上的稳定性可以比 CentOS 提升 50 %。最后是性能的优化,性能优化可能就只有一个软件系统的优化,但是里面的内容是非常多的。
现在登录到阿里云的官网就可以看 Alibaba Cloud Linux 的整个 EOL 的定义是非常明确的,目前有两代的操作系统,分别是版本 2 和版本 3 ,版本 2 从 2017 年之前在云上内部就已经开始用了, 2017 年开始在云上给大家用,到 2024 年就会 EOL 。目前主力版本是 3 ,版本 3 的生命周期会延续到 2031 年的中旬,后续还会有 Alibaba Cloud Linux 4 大概在 2025 年的中旬对外发布,每一个操作系统的生命周期都是保持着 10 年的维护。它支持两个阶段,分别是开发阶段以及维护阶段。开发阶段,我们可能对于新特性的开发,包括新硬件的支持会比较的频繁,而进入维护阶段之后,很多用户使用了这个操作系统,对于新特性的诉求就不会很强了,这时如果要使用新的特性、新的能力,往往会选择新的版本,在这种场景下,用户可能更关心的是需要进行安全的修复,解决问题。
阿里云会联合非常多的阿里云的云安全团队以及龙蜥的安全联盟来构建整个全套的安全漏洞合规的康复,包括前期的漏洞感知、中期的漏洞评估、后期的漏洞修复和披露这样一个非常完善的流程,最终会在阿里云的安全公告,龙蜥社区也有一个自己的安全公告。 Alibaba Cloud Linux 的底座来源于龙蜥,底座有大量的软件包是依赖于龙蜥社区的,在这块和龙蜥社区有非常高度的一个联动的关系。
有一部分的用户针对现在国内的一些安全的要求,需要在当前开源社区的操作系统基础上添加安全加固的能力。操作系统有各种各样的安全配置,不同的安全配置在操作系统里面的安全等级的表现是不一样的。关于如何进行安全的配置,阿里云联合龙蜥社区有一个手册指南,可以帮助用户通过这个最佳的实践在阿里云上使用一个更加好的安全的镜像,这个镜像在阿里云上的 ECS 也可以选择到,我们将镜像做到开箱即用,用户只需要选择这个镜像,就默认使用了安全的能力,可以默认通过等保 2.03 级的标准,不管是在容器的场景还是在 ECS 的场景,都是可以做到开箱即用。
稳定性来源于以下几个方面。首先是社区的生态 。我们有非常好的龙蜥整个生态的支持,可以保证基础能力的稳定性。还有阿里巴巴集团提供的稳定性,我们的整个操作系统和阿里巴巴集团里面所有的业务所使用的都是 Alibaba Cloud Linux ,如果大家有相同的应用场景,例如做电商的和淘宝类似,可以放心大胆的用,因为他们已经在对应的产品或者业务形态下面做了非常多生产级的打磨,这是一个非常好的生产实践。最后就是操作系统团队的维护,因为我们在阿里云上面是使用的是商业级的知识服务,包括工单响应都是有很高的时延要求的,这种情况下,一旦用户遇到了操作系统的问题,都可以通过阿里云的服务渠道及时联系到操作系统团队,帮助解决问题。同时解决完客户之后又会及时将问题处理掉,然后布置到操作系统的版本里面,作为一个迭代版本的发布,其他的用户可能也就解决了这样的问题。所以经过这样不懈的努力,现在我们的操作系统在云上的大盘数据相比于 CentOS 的宕机率要下降 50 %以上。
操作系统的优化大概分成三块,最底下的是内核优化,内核要协同管理好硬件以及各种 CPU 的能力,各种硬件的能力都需要在内核侧有一个管理,内存如何使用以及 CPU 如何调度都需要在内核侧,所以在内核侧有大量的优化。如果对用户是无感知的,那么我们会默认合入到内核里面,如果是用户有感知的,我们往往做成开关和时间文档的方式,让大家能够很简单的把应用用起来。 BaseOS 重点关注的点在于各种各样编辑器的能力。
现在 Java 的用户非常多,后续会有很多 AI 、Python 的用户,都有阿里自研的的组件,放在系统里面,在不同的场合会默认使用不同的场景。最上层是应用优化,我们面向于 Webserver 、数据库、大数据、 AI 等场景有不同的上层应用来帮助用户达到一个更好的表现。客户从阿里云上面应用官方透出的应用,这样既可以保证本身应用的可维护性,还可以保证连续性,因为这些应用的场景,我们在云上都做了大量的实践和应用,有一个非常好的性能表现。如果客户从其他途径下载软件包,很可能要做大量的验证,适配可能还达不到效果。
当前推出了轻豚的服务,在阿里云购买 ECS 的时候,会有一个应用加速的按钮,里面最终调用的就是轻豚的服务,它会基于你当前选择的场景来帮助你进行优化。因为操作系统的很多的配置可能在这个场景下有效果,在另一个场景下反而会劣化,所以它非常依赖于所输入的场景。在这场景下,轻豚服务会自动化的完成整个操作系统的最优场景化配置。这在阿里云上现在是可以使用的,在龙蜥社区也是一个开源的服务,用户可以在自己的操作系统部署轻豚来达到一个好的性能表现。
03. 案例分享
云有一个非常重要的能力,就是弹性能力,用户随时随地都可以把实例启动起来。第一个案例就是某社交平台有很多的热点事件,经常把平台弄崩溃,我们帮他们构建了一个极速启动的方案。他负载均衡的服务后端接入了很多不同的集群,所负担的弹性能力是很差的,特别是在使用 CentOS 的时候,它的整个热点流量都已经爆了,服务器也全部都崩溃了。在这种大背景下,我们帮忙构建了一个快速启动的能力,可以保证它基本上和容器的弹性能力在一个数量级上面,这样在应对各种事件的时候,只要监控到舆情的流量,就可以快速的弹起大量的 ECS 来为后端的服务。
第二是一个快递企业容器化的过程。它在线下是基于一个 IDC 物理集的形态构建的,在云上一开始准备 VM 化,但过程中改造成本比较高,所以选择了裸金属神龙的方案,即基于神龙加上 ACK 的容器服务的方式。但在使用 CentOS 的时候,它要支撑整个双十一的快递流量非常大,有大量的在 CentOS 下面遇到的问题,流量大起来就很容易抖动,延迟变高,用户返回请求变慢。在问题分析过程中要根治这个问题就只能切换操作系统,阿里云的 ACK 底层默认的操作系统就是 Alibaba Cloud Linux ,拥有大量的实践已经告诉用户,这个场景是使用最好的,最终这家快递企业也选择了 Alibaba Cloud Linux ,目前的部署规模也很大,从 2021 年开始容器化上云之后,到现在每年的双十一都很稳定。
最后一个是手机客户大数据上云搬迁降本的问题。手机厂商掌握着用户大量的数据,这些数据随着手机数量的增加,规模是非常庞大的,往往会有一个非常大的大数据部门,关于如何给大数据业务降本增效,阿里推出了倚天大数据的场景。使用 Alibaba Cloud Linux 的倚天优化的镜像最终可以令综合成本下降 30 %,在这个场景下,用户非常的积极,验证完之后隔一个星期就已经搬迁了好几百台机器。我们还在持续共建,因为使用的是场景,很多的应用还在打磨中,生态相比于 XP6 要晚一些,还有引进的空间,还有一些新的优化目标,进一步降低它的大数据在云上的成本。
以上是 Alibaba Cloud Linux 的交流群,有任何的问题,都可以在这个群里面做一些交流。如果你是 Alibaba Cloud Linux 的用户遇到了问题,最高效的方式是走工单,后端有非常专业的人员来帮助解决问题。如果有各种各样的问题、咨询、交流等,都可以在群里交流。