作业帮云原生降本增效实践之路

简介:目前,作业帮已经和阿里云有一个关于 AEP 的 tair 方案的结合,在新的一年希望我们有更大规模的落地。文章里讲得比较多的是关于降本做的一些技术改进,其实在降本增效这里面还有很大一块工作量是运营,成本运营我们也通过自动化实现了平台化,未来我们将会进一步向 BI 化、AI 化去演进。

本文整理自作业帮基础架构负责人董晓聪在云原生实战峰会上的分享,讲解作业帮降本增效实践的道路上遇到的问题及经验,主要分为三个方面。一是作业帮的业务和现状,以及为什么要做降本增效。第二,如何和阿里云一起解决在降本过程中遇到的一系列挑战,最后是对未来技术趋势的展望。

背景

作者 | 董晓聪

作业帮成立于 2015 年,是一家以科技手段助力普惠教育的公司,公司主要的业务分为两大板块。第一,作业帮 APP 是一款典型的流量互联网产品,二是作业帮直播课,是一款典型的产业互联网产品,涵盖教育主播链条,如教研、教学、教务、辅导等。 我是 2019 年十月份加入作业帮的,当时我看到作业帮的技术现状归纳为两点。一是规模化,另外是复杂化。

  • 规模化:作业帮线上有数千个应用服务,这么多应用服务对应数万个服务实例,这么多的服务实例跑在数十万的计算核心之上;
  • 复杂化:作业帮整体的技术栈是比较多元的。

其中占比最高的技术栈是 Golang 和 PHP,还有大量模块是 C++、Python、Java 等进行编写的,作业帮创业之初就在云上,充分享受了云计算的红利,后来由于一系列原因创建了多元的架构,性能快速迭代也是我们一贯的追求。那为什么要进行降本增效呢?这个事之前也一直在做,只不过今天需要做得更好,其中有几点原因: 

第一点,随着互联网红利的消退,企业希望每一分钱得到最大的收益,实现成本效益最大化。第二点,虽然我们一直在强调降本增效,但肯定还是有不必要的支出存在,这些浪费是应该被节省的。第三点,作为技术人员的梦想,还是想写出更优质、更高性能的代码。 在降本增效的过程当中要注意一点,降本不能降质,降低成本时稳定性、效率、安全不能打折扣。我们看一下成本模型。

各种各样的特性和功能应用在计算机上其实是一个一个的代码模块,这些代码其实还是需要各种各样的资源来运作,有计算、存储、网络等等,那么我们看一下这个模型里降本增效怎么来做。 

首先公司肯定希望自己的用户越来越多,使用越来越活跃。其次,在应用侧降本增效做的事情就是要提升单位算力承载量,通俗来讲就是 QPS。但我们面临的一个挑战就是作业帮技术栈太多元了,我们如何整体提升?再看资源侧,存储、网络这些资源要么是刚需,要么就是很难控制成本。资源侧降本的重点还是计算资源,而对于计算资源我们需要提升单位成本的算力。 

我们面临的挑战是什么呢?就是如何选择更优的机型以及在选择完机型之后,如何让业务更加快速、无感、平滑的过渡过来。在应用和计算资源的中间还有一块巨大的提升空间,就是两者之间的匹配和部署的问题。在部署侧我们也面临一些困难和挑战。

第一,我们在线业务集群的负载并不高。对于高吞吐的业务一般作为核心业务,这些业务要留一定的空闲。对于低负载的业务要有碎片化和长尾化,把线上负载率拉低了。一方面是在线业务负载并不高,另外一方面是大数据离线计算要贴地进行,形成空间不均,还有时间上的不均,互联网业务有明显的波峰波谷。在线教育更加明显,波峰波谷会差两个数量级,我们一直在为波峰进行买单。

如何做到降本增效    

上面列举了相关的问题和挑战,作业帮是如何来做的呢?我们选择和阿里云一起,选择开源的力量再结合一定的自研进行相关问题的解决。在应用层面,我们提升了主流技术栈的运行性能,对于使用最多的检索服务进行架构的重构,以此来提升性能和运维效率。

在部署侧,通过 GPU 调度、ECS,在离线混部解决空间和时间的不均。在资源 K8s 技术实现应用透明无感,这样替换机型变得更加快捷。 

下面基于应用、部署简单来聊。

应用这一层对主流技术栈进行优化。第一,我们是重新编译,我们以 FastCGI 运行,对非线程安全进行编译,还有服务注册发现,摒弃之前传统基于名字服务,为了进一步提升性能和成功率,我们还做了 LocalDNS,使用更新的内核 4.10+,和阿里云内核团队进行相应的调优、优化解决一系列问题,解决 IPVS 过多的性能和稳定性问题。 

最后得益于 Terway 网络以及网络做的持久化,可以对性能有更明显的提升。完成之后裸框架可以有几倍的提升,可以带来 43% 左右的收益。检索服务作为底层服务,对其性能要求比较高,传统架构一般是计算存储耦合在一起的,随着底下文件数量越来越多,单机无法容纳,要进行切片。每个切片要高可靠、高性能,由此形成二维矩阵,这种情况下存在诸多的问题,比如说像数据更新周期长、整体运维效率并不高,还有系统的瓶颈迟迟得不到解决。

要解决上述问题要做计算和存储的分离,我们引入 Fluid 做一个关键的纽带。Fluid 是一款基于 K8s 的数据编排系统,用于解决云原生过程中遇到的访问数据过程复杂、访问数据慢等一系列问题,JindoRuntime 用于实现缓存的加速,当我们使用 Fliud 和 JindoRuntime 完成整个检索系统的重构之后,获得的收益也比较明显。 

首先,作业帮的数据更新周期从之前小时级别缩短到三分钟以内,运维整个机器交付从之前天级别缩短到了小时级别,程序性能也得到大幅度提升,提升比例有 30%,带来了万核级别资源的缩减。 

我们再聊一下部署侧,作业帮线上有大量 AI 推理类业务,不光是图像识别 OCR、语音识别、合成这一块。这些业务计算 GPU 长时间脱离整个运维体系,我们希望通过容器化改造将其纳管到统一运维体系里来。我们调研业界主流的技术方案,它们或多或少都会对 GPU 性能造成一定损耗,最后我们选择了阿里云开源方案实现了 GPU Share 的调度方案。

作业帮 GPU 服务所使用的算力和显存相对比较固定,我们就实现了一套匹配机制。类似经典的背包问题。当完成整体一套之后,线上 GPU 资源的使用率得到了大幅度的提升。在离线混部是工程领域比较经典的问题,一方面是在线集群在波谷时有大量的空闲资源,另一方面大数据离线计算需要海量的计算资源,同时离线计算对时级要求并不高,所以两者结合会有双赢的结果。

但之前很大的技术瓶颈在于如果混部在一起,离线计算大量消费 CPU 和网络资源,会使得混部的在线资源服务成功率以及时延有大幅度的下降,使用阿里云 CFS 实现 CPU 的避让,实现空白避让以及混部。截止到目前,有万核级别的计算跑在在线集群上,为了进一步保证线上稳定,我们在晚高峰也做实时的调度,将离线计算份额进行缩减,完成这一套之后得到了兼顾稳定性和成本的方案。 

作业帮整体 CPU 资源有三个池子,一个是 online CPU 机器,一个是 GPU 的 CPU 机器部分应用起来,第三部分是 ECI ,通过 Pod 数目加减实现策略,包括定时 HP 策略,像一些 AI 模块,只有在固定课程才会应用到,我们提前将课表导入,在上课之前把相关服务提起即可,我们也给线上服务增加一定 AutoHP 的策略。

未来展望

未来,作业帮会将定时业务、AI 计算迁到 ECI 之上来实现真正在线业务的削峰,并且我们将持续探索更具性价比的 IaaS 资源,这也是我们一直尝试和探索的方向。目前,作业帮已经和阿里云有一个关于 AEP 的 tair 方案的结合,在新的一年希望我们有更大规模的落地。文章里讲得比较多的是关于降本做的一些技术改进,其实在降本增效这里面还有很大一块工作量是运营,成本运营我们也通过自动化实现了平台化,未来我们将会进一步向 BI 化、AI 化去演进。

原文链接

本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511106.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于 Serverless 打造如 Windows 体验的个人专属家庭网盘

简介:虽然现在市面上有些网盘产品, 如果免费试用,或多或少都存在一些问题, 可以参考文章《2020 国内还能用的网盘推荐》。本文旨在使用较低成本打造一个 “个人专享的、无任何限速的、如 Windows 体验的私有云盘”。 作者 | 西流…

Apsara Stack 技术百科 | 数字化业务系统安全工程

简介:数字化平台已经与我们生活紧密结合,其用户规模庞大,一旦系统出现故障,势必会造成一定生活的不便。比如疫情时代,健康码已经成为人们出门必备的条件,一旦提供健康码服务平台出现故障,出行将…

支撑百万级传感器的延时队列

文/升哲科技 刘鹏 摘要:本文主要描述升哲科技在打造物联智慧城市平台过程中关于如何实现延时队列服务的技术选型经验、延时队列服务的架构设计以及延时队列的底层细节实现原理。 背景 升哲科技是一家物联网与人工智能领域的国家高新技术企业、独角兽企业。 要打…

深度解析|基于 eBPF 的 Kubernetes 一站式可观测性系统

简介:阿里云 Kubernetes 可观测性是一套针对 Kubernetes 集群开发的一站式可观测性产品。基于 Kubernetes 集群下的指标、应用链路、日志和事件,阿里云 Kubernetes 可观测性旨在为 IT 开发运维人员提供整体的可观测性方案。 作者:李煌东、炎…

系列解读SMC-R:透明无感提升云上 TCP 应用网络性能(一)| 龙蜥技术

简介:已有的应用若想使用RDMA技术改造成本高,那么有没有一种技术是不做任何改造就可以享受RDMA带来的性能优势? 文/龙蜥社区高性能网络SIG 引言 Shared Memory Communication over RDMA (SMC-R) 是一种基于 RDMA 技术、兼容 socket 接口的内…

技术引领未来, IDC TechScape中国数据安全发展路线图首发

2022年8月26日,IDC 2022 CSO全球网络安全峰会(中国站)在上海隆重开幕,会上首次发布《IDC TechScape:中国数据安全发展路线图,2022》。报告认为,帮助用户构建全方位数据安全治理体系将成为大趋势…

DataV 3D 平面地图 2.0 焕新上线

简介:DataV3月,3D平面地图2.0现已上线~ 3D 平面地图 2.0 现已上线~ 让我们来看看更新了哪些功能吧! 01 交互升级,省市区自由下钻 自带行政区域数据,无需配置: 甚至,可以通过「蓝图编辑器」实…

PolarDB-X 发布 2.1.0 版本,Paxos 开源

简介:2022年4月1号,PolarDB-X 正式开源X-Paxos,基于原生MySQL存储节点,提供Paxos三副本共识协议,可以做到金融级数据库的高可用和容灾能力,做到RPO0的生产级别可用性,可以满足同城三机房、两地三…

828成首个B2B企业节,华为联合3万生态伙伴助力中小企业数字化转型

中小企业既是市场的主体,也是保就业的主力军。截至2021年末,中小企业在全国企业中数量占比已超过99%,并贡献了80%的就业机会。 为助力中小企业创新发展,8月28日,华为联合3万家生态伙伴,共同发起了全国首个…

阿里云贾扬清:数据湖正成为企业数据应用创新标配

简介:全球数据湖峰会开幕 数字经济蓬勃发展的今天,越来越多的用户已经从“上好云”,走到了“用好云”的这个阶段。如果说在“上好云这个阶段,大多数用户关心的是如何在成本上获得更好的回报。那么在上好云这个阶段,更…

强强联手,NVIDIA 与 Ampere Computing 重磅推出云原生服务器平台

随着 5G、元宇宙的兴起,云游戏再一次迎来爆发。据 IDC 与中国信息通信研究院联合发布的《全球云游戏产业深度观察及趋势研判(2022年)》显示,2021年,中国地区云游戏市场收入已达 40.6 亿元,同比增长 93.3%。…

有了这款工具,定位线上问题事半功倍|云效工程师指北

简介:有了这款工具,定位线上问题事半功倍,程序员在日常工作中经常会遇到一些线上问题需要排查,本文的主人公程序员小张也不例外。但排查的过程却时常令他困扰不已。让我们一起看看他遇到了哪些问题,又是怎么解决的。 …

云原生时代如何用 Prometheus 实现性能压测可观测-Metrics 篇

简介:可观测性包括 Metrics、Traces、Logs3 个维度。可观测能力帮助我们在复杂的分布式系统中快速排查、定位问题,是分布式系统中必不可少的运维工具。 作者:拂衣 什么是性能压测可观测 可观测性包括 Metrics、Traces、Logs3 个维度。可观测…

基于 KubeVela 的机器学习实践

简介:本文主要介绍如何使用 KubeVela 的 AI 插件,来帮助工程师更便捷地完成模型训练及模型服务。 作者:KubeVela 社区 在机器学习浪潮迸发的当下,AI 工程师除了需要训练、调试自己的模型之外,还需要将模型进行部署上…

Gartner发布2022年云平台服务技术成熟度曲线,iPaaS、低代码将达到成熟期

Gartner 2022年云平台服务技术成熟度曲线显示,集成平台即服务(iPaaS)和低代码应用平台(LCAP)技术将在不到两年的时间内达到生产成熟期(Plateau of Productivity)。 编辑 | 宋慧 供稿 | Gartner…

贼喊捉贼?“盗版”软件开发者向 GitHub 投诉被侵权

整理 | 于轩 出品 | CSDN(ID:CSDNnews)拥有超过2亿个代码存储库,由8000多万用户共享,GitHub已然成为世界上最大和最先进的开发平台。 与其他托管用户生成内容的平台一样,这个庞大的代码库经常会接到版权…

基于 Serverless 架构的头像漫画风处理小程序

简介: 当一个程序员想要个漫画风的头像时... 前言 我一直都想要有一个漫画版的头像,奈何手太笨,用了很多软件 “捏不出来”,所以就在想着,是否可以基于 AI 实现这样一个功能,并部署到 Serverless 架构上让…

异动分析技术解决方案—异动归因之指标拆解

简介:归因的方法有多种,这篇文章的重点是指标拆解,也是我们做业务分析时最常用到的方法。我们的目的是解放人力,将指标拆解实现自动化,一方面可以加快业务迭代速度,快速定位问题;另一方面可以对…

阿里巴巴云原生混部系统 Koordinator 正式开源

简介: 脱胎于阿里巴巴内部,经过多年双 11 打磨,每年为公司节省数十亿的混部系统 Koordinator 今天宣布正式开源。通过开源,我们希望将更好的混部能力、调度能力开放到整个行业,帮助企业客户改进云原生工作负载运行的效…

足不出户,确保交付——独家交付秘籍(第二回)

简介:在后疫情时代,遇到无法出差、无法访客时,如何保障交付按时保质的进行,做好运维质量的保障,从而不影响企业整体营收,已成为我们生死攸关的难题。小锤在遇到无法只通过远程就完成项目交付验收&#xff0…