在数字经济大潮的推动下,信息化建设以及数字化转型加速发展,大中型乃至超大型的数据中心不断产生,但其中成百上千套的 IT 设备与业务系统的正常健康运行为传统 IT 运维带来了严峻挑战,这些都在推动着我国 IT 运维向标准化、自动化、智能化方向升级转变。
11 月 9 日,由腾讯云云+社区主办的「高效智能运维」技术沙龙中,来自腾讯云和嘉为科技的专家大牛围绕「运维」展开了一场技术盛宴,从 AIOps、Serverles DevOps、蓝鲸 Paas 平台、K8S 等 分享关于业务运维的技术实践干货,同时带来腾讯海量业务自研上云实践,推动传统运维向云运维转型。
张戎:《腾讯云智能运维(AIOps)项目实践》
来自腾讯云的张戎,分享了关于智能运维(AIOps)方面的一些应用和实践。本次分享主要包括智能运维场景描述、单维时间序列分析、多维时间系列分析、近期工作和未来的研究方向。
基于机器学习的智能运维分为几个方面,基于机器学习的运维也分为几个应用场景。但如何在高效或者烦琐的业务中迅速定位到哪些地方处了问题,是我们需要关注的地方:
- 发现问题:包括时间序列的异常检测、日志异常分析、服务器性能评估;
- 分析问题:如何精准的定位日志、影响到哪些客户、影响范围与影响面;
- 解决问题:通过智能运维将记忆学习运用到运维领域,提升质量、效率、成本。
整个智能运维分为好几个阶段,第一个是我们刚刚开始机器学习的能力,而从刚刚开始应用到逐渐能够成熟落地其实这个是有很长的时间段的,通常来说是 1-2 年甚至是更长的时间。
第二个就是我们各个能力相对完备一点,比如说异常检测、分析、日志提取或者是模板分析的内容,做到相对完善的功能。然后这一块我们尽量做到尽量少的人工参与。
最后会实现一个终极的 AIOPS 的阶段,有一个终输的流程的大脑,我们可以在效率、质量、成本三个方面达到一个相对均衡的状态,让我们的系统达到一个相对稳定的过程。
黄宏东:《冲上云霄-腾讯海量业务上云实践》
随着云计算的发展,云的运用越来越广,运维领域也有很大的变革。腾讯在上云这一块有很多的业务实践,它对我们的业务有很大提升,腾讯云的黄宏东给大家分享了腾讯在上云的思考和实践。
第一,为什么要上云?
在腾讯做开发是既是幸福的事情也是烦恼的事情。腾讯的业务线非常广泛,每条业务线有自己的运维资源体系、开发体系,也会有自己定制化的方案和架构,这导致我们每个系统都不相通。
这也导致了内部的方案不通用、重复造轮子、缺乏统一规范。为此我们在 2018 年 9 月 30 日做了一个变革,业务线和技术线都做了变革。不仅做连接人、连接数据与服务,还对产业互联网方向做了升级。第一个是开源协同,第二个是自研业务上云。
第二,业务上云的价值。
业务上云的价值主要从三大块来看。第一块是对业务的价值,第二个是对工程师的价值,第三块是对客户的价值。
在之前,腾讯没有自己的云,只能用 AWS,但之后我们有了自己的云,有了海外服务的时候,出海会更加顺畅。并且云的服务和我们自研的环境是相通的,很多运维体系、运维架构都是兼容的,对业务出海有非常大的帮助。
对于技术人员来讲,我们的研发环境是能够和云直接相通,我们的开发、构建、测试、运维整个过程非常高效。
客户价值这方面,我们主要是为行业输出公有云迁移经验,更丰富的云服务和工具提供给客户。
第三,如何上云?
我们总结了两点,第一个是如何提升上云的效率,第二个是降低迁移风险。
业务上云做了这么长时间,有一些总结。第一个是拥抱云原生,云原生在近五年一定是一个最新的趋势。第二个是借上云革新研发模式,全面 Devops(CI/CD/CO)。第三个是组件和工具的上云,服务化主要是如何对业务和客户服务,工程师文化如何培养,如何将这种技术氛围给调动起来。
张敏:《蓝鲸研发运维技术Paas体系实践》
第三位嘉宾是来自嘉为科技的张敏,从蓝鲸研发运维技术 PaaS 体系带来了精彩内容分享。
腾讯蓝鲸智云,简称蓝鲸,是腾讯互动娱乐事业群(简称 IEG)自用的一套用于构建企业研发运营一体化体系的 PaaS 开发框架,提供了 aPaaS(DevOps 流水线、运行环境托管、前后台框架)和 iPaaS(持续集成、CMDB、作业平台、容器管理、数据平台、AI 等原子平台)等模块,帮助企业技术人员快速构建基础运营 PaaS。
我们经常谈组织转型,运维转运维开发,但如何落地?它一定要一个平台或者是一个框架降低你转运维开发的技术门槛。而降低这个技术门槛,就是刚才讲的蓝鲸 Paas 体系提供的能力,你基于它的框架,唯一要做的是将你以前写运维的脚本嵌到这个框架里面,少量的代码量,即可完成一个自定义的运维工具或运营系统的构建,这个时候才可能达成成功的转型。
组织转型带来的成效会体现在企业运营工具文化中,工具文化通俗点理解:就是一个团队里面,任何两个人如果运维工作上的这种沟通和协作,还要通过口头和电子流的方式进行,效率就很低;而工具文化就是一旦有这样的痛点,就可以快速地构建一个工具来解决这个痛点。慢慢落地工具文化,就形成了一个前所未有的运维建设模式。
总结来讲技术运营 PaaS 就是这样一个演进的过程,从烟囱治理到 PaaS 技术框架,到组织转型,再到企业工具文化,基于 PaaS 框架,实现 CI/CD/CO 的研发、运维、运营全覆盖。这就是目前蓝鲸对外的一个整体方案了。
孔令飞:《ServerlesDevOps 最佳实践》
最近两年 Serverless 技术很火,Serverless 翻译过来就是无服务器,其实 Serverless 并不是真的不需要服务器,只不过把服务器交给云厂商来进行维护。同时国内外的 Serverless 平台也都会对平台上部署的业务提供开箱即用的业务运维能力。也就是说 Serverless 会影响到业务运维和系统运维 2 个方面。希望通过这次分享能够让大家了解什么是 Serverless,Serverless 能够提供的运维能力,还会通过对比让大家了解 Serverless 相比传统的运维方式有什么样的效率提升。最后会介绍下在 Serverless 下是如何进行运维的。
庄鹏锐:《腾讯云Kubernetes集群提升资源利用率的实践》
接下来,来自腾讯云的庄鹏锐,带来了对 K8S 的改造,关于如何提高资源业务方面的技术干货。
为什么我们的集群资源利用率不够高?其中大概会归纳为几个方向,第一个是 Node 节点资源的碎片;第二点,大部分业务在创建 Pod 的时候,对 resource 设置不合理,这往往会设很大从而造成资源的浪费;第三点,不少用户难以准确评估 workload 副本数;第四点,业务的空闲时间。
为了解决这个问题,我们做了一些优化。
第一个是对 Pod 的压缩。Pod 压缩是为了避免创建时 requests 设置不合理。当 kube-apiserver 收到 Pod add 请求时,根据其处理流程中的 mutatingadmissionwebhook 机制,kube-apiserver 会将请求转发到我们写的 webhook,然后按照 webhook 设计的 ratio 和 limits 的值对 Pod 的 requests 进行压缩。
第二个是 Node 超卖。Node 超卖是为了让利用率低的 Node 可以创建更的的 Pod。超卖包含两个部分, 一个是通过根据 Node 历史使用数据和 Node 的资源分配情况来计算出超卖比率;另外一部分是 Node 周期性发生 patch 请求更新其状态数据,一样通过 mutatingadmissionwebhook 机制,通过上述计算出来的超卖比例来动态调整 Node 的可分配资源。
第三个是 HPAplus。HPAPlus 解决了用户设置 workload 合理副本数的困扰。HPAplus 是一个单独的 controller,其除了具备原 HPA 功能特性外,还支持如 CronHPA、支持多种数据源、动态调整 minRepliacs、更好性能等特性。为什么将它抽出来而不是直接修改 controller-manager 呢?主要原因在我们并不想去大规模改动 kubernetes 的代码,避免以后和社区方向偏差越来越大,不好升级。
最后一个是 VPAPlus。VPAPlus 根据监控数据,动态热更新 Pod 的资源配置。社区版本的 VPA,是通过驱逐 Pod 的方式来动态调整 Pod 的配置,这种方式需要经过较长的时间重建 Pod 来恢复服务,并且可能会对服务造成影响。这就跟 VPA 快速调整 Pod 配置的目的相违背。因此我们通过修改 kube-apiserver 和 kubelet 的代码,来达到热更新 Pod 资源配置的目的。此外我们重新写了 vpa-updaet 组件,在性能上和响应时间上做了优化,并为 VPA/Pod 对象添加了多种个性化配置。
此外,还做了动态调度、碎片处理等来进一步提高集群资源利用率。
本期云+社区技术沙龙吸引了众多运维技术开发者前来学习交流,通过一个简短的下午时间让开发者对运维技术有了更深入的理解。越来越多的开发者通过云+社区组织举办的技术沙龙了解腾讯云技术和产品,在这里碰撞出知识的火花。