新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付
作者:陈列昂、昕辰、龙琛、黛忻
项目背景
Aliware
现状问题&分析
Aliware
-
敏捷协同、DevOps 等的成熟度低 :过去项目迭代缺少全生命周期管控,对问题和任务进度的跟进主要靠线下沟通、缺少在线化追踪工具;DevOps 流程缺少自动化的工具支撑,如业务应用的发布上线,基本都是人肉发布,发布耗时长、流程低效、且容易产生线上安全故障。 -
应用上线部署繁琐 :上线需进行资源评估、应用服务器购买、安装配套软件初始化等操作流程较长;此外还需要搭配集群监控、发布&调度脚本服务治理、配置管理、日志备份等能力,都需要单独部署配套组件或系统。 -
自行实施容器化存在上手成本 :开发对 K8s 等容器管理平台底层细节不熟悉、相对比较黑盒,出现问题排查进度较慢。 -
弹性伸缩不方便 :业务侧有一定的峰谷,而在低谷期资源利用率很低;扩容需要重新走一套上线流程、且扩容后不容易下机器; 后续中台上线之后、预计会拆出更多的微服务应用、但这些应用因承接的业务场景不同流量不均匀,需要有更灵活的弹性策略。 -
后期运维成本高 :不单需要维护应用本身、还需要维护整套基础设施及对应的配套系统;需要投入较多的额外人力
技术选型&对比
Aliware
项目交付进展
Aliware
项目交付过程中的直观感受
-
CI/CD 自动化部署至 SAE :通过大禹提供的 CI/CD 流水线能力将业务应用自动化部署至 SAE,彻底替换原来的人工部署、人肉运维的低效方式,在提升应用部署效率的同时,也有效降低了应用发布变更的风险,实现了可控部署、安全生产的效果。 -
免运维&聚焦业务 :以往类似规模的集群和应用数、至少需要配置 2 个专门的运维;使用 SAE 后基本免运维、省去专门运维投入;一些 SAE 控制台配置操作基本由开发兼职即可;以往维护应用集群、经常需要排查 K8s 集群和 ECS 底层的一些问题;使用 SAE 这块基本不用关注。 -
良好兼容各类微服务框架 :对基于 Springboot、Spring Cloud、Dubbo 等微服务框架开发的应用兼容较好、同时很方便的集成了 ACM、ARMS 等云产品;屏蔽了部分底层细节,可以做到一键低配置部署。 -
弹性伸缩、快速扩缩容 :弹性策略灵活、在做资源优化的时候较为方便调整。
项目交付效果
-
SAE 指标
-
大禹指标
产品提升建议
Aliware
-
平台开放能力:大禹平台提供更开放的能力,提供更多 OpenAPI 供用户同步项目交付过程中产生的数据,如需求、任务、缺陷、人天工时、文档等数据。 -
微服务治理:支持基于 Feign、Dubbo、HSF 等框架微服务接口的在线调试,服务 Mock,以消费者视角查看服务等能力。 -
监控:目前 SAE 的监控都是单应用的,但从用户视角来说、由于中台往往会包含较多拆分很细的微服务应用、希望有一个全局视角的运维监控视图;方便用户查看集群整体运行情况。 -
同 SLB 集成优化:当 SLB 被删除或失效后、在 SAE 应用首页仍会显示、并且还可以挂载端口(有可能挂载问题已修复、但肯定还可以显示),需要手动删除。 -
支持一定的动态热部署能力,进一步提高开发部署迭代效率。 -
对 NAS 存储的集成优化:支持在镜像中指定账号登录访问 NAS(目前会报错)。
结语
Aliware