董晓聪|作业帮与腾讯云等联合发布云原生成本管理白皮书

近日 , 2021腾讯数字生态大会在武汉召开 。 在大会云原生专场 , 腾讯云联合中国信通院、作业帮等联合发布《降本之源·云原生成本管理白皮书》(以下简称白皮书) , 系统性呈现云原生成本优化方法论和最佳实践路径 。 作业帮基础架构负责人董晓聪在会上分享作业帮云原生成本优化实践之路 。

董晓聪|作业帮与腾讯云等联合发布云原生成本管理白皮书
文章图片

为什么要降本增效?
作业帮成立于2015年 , 是一家致力于用科技手段助力教育普惠的公司 。 董晓聪介绍 , 作业帮技术现状主要有两大特点 , 一个特点是规模化 , 当前作业帮有数千个应用服务 , 对应着数万的服务实例 , 这些实例部署在数十万计算核心之上 。 另一个特点是复杂化 , 作业帮的技术栈极为丰富 , 使用最多的语言为PHP和Golang , 约能占到60%以上 , 除此之外还有大量的系统使用NodeJs、Java、C++、lua、python编写等 。
董晓聪说 , 作业帮从创立之初就是构建在云之上的 , 充分的享受了云计算的红利 。 随着这些年的高可用建设 , 实现了多云的架构 。 高可用、快速迭代、极致性能也是作业帮一贯的技术要求 。
为什么要进行降本增效呢?董晓聪说 , 这个工作之前一直也在做 , 但今天的要求会更高 。 首先 , 随着互联网的红利消退 , 公司的每分钱都需要产生更大的价值 , 要实现成本效益的最大化 。 其次 , 成本管控 , 不必用的支出是应该节省的 。 最后 , 也是一个技术从业人员的追求 , 作为程序员 , 还是想要写出更好更高性能代码 。 “在追求降本的同时 , 还要明确一点 , 降本不降质 , 稳定性、研发/运维效率、安全等不应该为此打折扣 。 ”董晓聪表示 。
业务快速发展平台架构面临挑战
随着业务的发展 , 作业帮的 IT 系统面临挑战 。 现有基础平台架构无法满足快速增长的业务需求 , 业务对快速迭代、急速弹性、调用链追踪、统一的监控日志平台、提升计算资源利用率等需求迫在眉睫 。
2019年下半年 , 作业帮开始规划并调研容器化解决方案 , “但面临诸多挑战” 。 董晓聪说 , 首先是应用性能有待提升 。 对于企业主流使用的语言 , 如PHP、Golang , 从框架入手 , 但应用框架的理论性能和实际业务的性能往往有很大差距 , 多为业务架构缺陷或者数据存储设计的不合理导致 。 同时应用框架随着功能的不断迭代和更高的要求 , 自身性能上也需要优化 。
其次 , 应用部署模式差 , 带来计算资源的浪费 。 对于高并发业务 , 虚机下机器峰值负载常规在10%-20% , 极限可提升到30%-40% 。 高流量业务一般代表着公司核心业务 , 一方面为了稳定性的考虑 , 整体水位不能控制得过低 。 另一方面 , 为了应对一些突增流量 , 要预留一定缓冲 。 低负载业务一般碎片化比较严重 , 而这些服务比较长尾 , 进而拉低了整体负载 。

推荐阅读