其次 , 应用部署模式差 , 带来计算资源的浪费 。 对于高并发业务 , 虚机下机器峰值负载常规在10%-20% , 极限可提升到30%-40% 。 高流量业务一般代表着公司核心业务 , 一方面为了稳定性的考虑 , 整体水位不能控制得过低 。 另一方面 , 为了应对一些突增流量 , 要预留一定buffer 。 低负载业务一般碎片化比较严重 , 而这些服务比较长尾 , 进而拉低了整体负载 。
同时 , 还存在时间空间不均的问题 。 从时间上看 , 互联网业务普通有明显的波峰波谷 , 波峰和波谷的实际资源使用量至少有一个数量级差距 , 且真正的最高峰只有不到一个小时 。 企业不得不为这一个小时的用量而付出一天的成本 。 在空间上 , 一方面是在线集群波谷空闲了大量计算资源 , 另一方面是大数据离线计算需要大量计算资源 。 从整个公司视角来看 , 资源使用极不均衡 。
作业帮的云原生降本实践
“面对这么多挑战 , 我们该怎么解呢?”董晓聪说 , 针对每一个细分问题深耕并不系统 , 所以作业帮选择走云原生的道路 , 和云厂商一起来充分释放云的潜力 。
在应用层 , 作业帮着手对典型场景进行重点攻克 。 对于模块数量最多的PHP业务进行优化运行态优化 , 对资源使用最多的检索服务进行架构优化 。 在部署调度上依托K8S , 实现了CPU、GPU、任务的自定义调度器 。 同时 , 使用在离线混部解决空间不均的问题 , 使用弹性扩缩+serverless解决时间不均的问题 。 而在资源这部分 , K8S通过CRI、CSI、CNI等实现了对应用的透明 , 便于选择更优的机型 。
文章图片
董晓聪说 , 检索系统是一个复杂的系统 , 作为最底层且需要高性能的服务 , 一般是存储和计算耦合 。 随着数据量越来越大 , 就需要对数据进行切片 , 每个节点只存储一部分的数据 。 由于高并发高可用的要求 , 单片数据节点还需要有多个副本 。 由此形成的一个二维矩阵 。 当需要进行数据更新时 , 由于数据量比较大 , 几百TB 。
“作为容器改造最难啃的骨头 , 为了解决这些问题 , 我们决定进行计算和存储的分离 , 因为只有引入计算存储分离架构 , 才能从根本上解决系统复杂度的问题 。 ”董晓聪说 , 经过多方调研比对 , 作业帮最终选用Fluid作为整个新架构的关键纽带 , 并采用JindoRuntime作为缓存加速引擎 。
这一实践的收益是很可观的 。 董晓聪表示 , PHP框架经过一系列的优化 , 压测下单核可支撑800QPS , 较之前有倍数级别提升 。 应用在具体线上业务 , 带来43%的资源使用降低 。 数据同步周期从小时级别降低到分钟级别 , 一般在8分钟内就可以完成 。 运维成本也大幅度降低 , 交付周期从天级别讲到到小时级别 。 性能提升了30% , 节省了万核级别的资源使用 。
推荐阅读
- 山西|移动5G+智慧成果亮相山西数字化转型大会
- 泡芙|传下去
- 隐私|用户隐私保护新境界,2021 vivo开发者大会将发布安全新动作
- 作业点|空间站“神剧”|与宇宙同框,超酷!
- 帮信罪|带你了解什么是“帮信罪”如何避免落入陷阱
- 安全|帮忙?帮凶!电诈案件背后警惕“帮信”陷阱
- 技术|Create2021大会:百度Apollo交出成绩单,引领智能出行新体验
- 成功|第2届世界元宇宙大会成功召开
- 语音|科技大会搬进虚拟世界,元宇宙仍在“等风来”
- 副本|云信达引领CDM赛道,帮助企业盘活副本暗数据