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


同时 , 还存在时间空间不均的问题 。 从时间上看 , 互联网业务普通有明显的波峰波谷 , 波峰和波谷的实际资源使用量至少有一个数量级差距 , 且真正的最高峰只有不到一个小时 。 企业不得不为这一个小时的用量而付出一天的成本 。 在空间上 , 一方面是在线集群波谷空闲了大量计算资源 , 另一方面是大数据离线计算需要大量计算资源 。 从整个公司视角来看 , 资源使用极不均衡 。
作业帮的云原生降本实践
“面对这么多挑战 , 我们该怎么解呢?”董晓聪说 , 针对每一个细分问题深耕并不系统 , 所以作业帮选择走云原生的道路 , 和云厂商一起来充分释放云的潜力 。
在应用层 , 作业帮着手对典型场景进行重点攻克 。 对于模块数量最多的PHP业务进行优化运行态优化 , 对资源使用最多的检索服务进行架构优化 。 在部署调度上依托K8S , 实现了CPU、GPU、任务的自定义调度器 。 同时 , 使用在离线混部解决空间不均的问题 , 使用弹性扩缩+serverless解决时间不均的问题 。 而在资源这部分 , K8S通过CRI、CSI、CNI等实现了对应用的透明 , 便于选择更优的机型 。
董晓聪说 , 检索系统是一个复杂的系统 , 作为最底层且需要高性能的服务 , 一般是存储和计算耦合 。 随着数据量越来越大 , 就需要对数据进行切片 , 每个节点只存储一部分的数据 。 由于高并发高可用的要求 , 单片数据节点还需要有多个副本 。 由此形成的一个二维矩阵 。 当需要进行数据更新时 , 由于数据量比较大 , 几百TB 。
“作为容器改造最难啃的骨头 , 为了解决这些问题 , 我们决定进行计算和存储的分离 , 因为只有引入计算存储分离架构 , 才能从根本上解决系统复杂度的问题 。 ”董晓聪说 , 经过多方调研比对 , 作业帮最终选用Fluid作为整个新架构的关键纽带 , 并采用JindoRuntime作为缓存加速引擎 。
董晓聪表示 , PHP框架经过一系列的优化 , 压测下单核可支撑800QPS , 较之前有倍数级别提升 。 应用在具体线上业务 , 带来43%的资源使用降低 。 数据同步周期从小时级别降低到分钟级别 , 一般在8分钟内就可以完成 。 运维成本也大幅度降低 , 交付周期从天级别讲到到小时级别 。 性能提升了30% , 节省了万核级别的资源使用 。
【董晓聪|作业帮与腾讯云等联合发布云原生成本管理白皮书】对于作业帮的云原生实践 , 董晓聪表示 , 现在定时任务、AI类业务都大量的使用serverless , 后面希望更大规模的在线业务也可以跑在serverless上 , 实现业务的真正削峰 。 未来 , 作业帮也将探索更多更优的机型 , 以及在部分特定场景下AMD机型的应用 。 此外 , 运营工作经历先靠人再靠运维平台的过程 , 其中涉及较多的数据分析工作 , 未来要将其BI化 , AI化 , 实现成本问题的自动发现 。

推荐阅读