副标题:SKG 渠道中台借助 SAE +大禹打造云原生 DevOPS,提效 60%

作者:陈列昂(SKG)、昕辰、龙琛、黛忻

项目背景

未来穿戴健康科技股份有限公司(SKG)是一家专注为个人与家庭提供智能可穿戴健康产品的高新技术企业,专业从事 SKG 品牌可穿戴健康产品和便携式健康产品的研发、设计、生产及销售。

随着市场需求的迅速变化,SKG 的 IT 系统也逐渐面临着库存不准确、线上线下渠道无法协同、部署架构不灵活、IT 响应速度过慢等问题,为了能适配销售拓展、提高效率、加强规模化运营,SKG 同阿里云达成战略合作,打造基于线上线下打通,并覆盖全渠道应用场景的渠道中台项目。

本次渠道中台建设面向 SKG 线上、线下、礼品等渠道的营销管理,打通经销商、导购、后端 SAP 多端业务数据,同时整合面向 C 端会员数据和渠道零售终端销售数据,以全新的互联网架构云化系统能力支撑业务快速发展。

基于底层渠道中台构建的营销运营管理平台、经销商门户、导购终端小程序,需要有多端触达能力,同时满足不同端的个性化业务诉求和访问特点,要求中台有灵活的扩展定制能力、以及适配不同渠道流量需求的弹性能力。

现状问题&分析:

在渠道中台建设之前、SKG 主要是租用 IDC 机房部署应用,也有业务跑在云上,整体是 IDC 机房 + ECS 自建应用配套 RDS 等云产品的混合云架构。整套系统架构需要手工维护的地方比较多,比如:应用发布、开源产品搭建接入、云服务集成、集群维护等基本都是单点管理、手工操作。老系统交付过程中和转维后痛点有:

敏捷协同、DevOps 等的成熟度低:过去项目迭代缺少全生命周期管控,对问题和任务进度的跟进主要靠线下沟通、缺少在线化追踪工具;DevOps 流程缺少自动化的工具支撑,如业务应用的发布上线,基本都是人肉发布,发布耗时长、流程低效、且容易产生线上安全故障。

应用上线部署繁琐: 上线需进行资源评估、应用服务器购买、安装配套软件初始化等操作流程较长;此外还需要搭配集群监控、发布&调度脚本服务治理、配置管理、日志备份等能力,都需要单独部署配套组件或系统。

自行实施容器化存在上手成本:开发对K8s等容器管理平台底层细节不熟悉、相对比较黑盒,出现问题排查进度较慢。

弹性伸缩不方便:业务侧有一定的峰谷,而在低谷期资源利用率很低;扩容需要重新走一套上线流程、且扩容后不容易下机器; 后续中台上线之后、预计会拆出更多的微服务应用、但这些应用因承接的业务场景不同流量不均匀,需要有更灵活的弹性策略。

后期运维成本高:不单需要维护应用本身、还需要维护整套基础设施及对应的配套系统;需要投入较多的额外人力

技术选型&对比:

基于以上痛点以及其他中台项目的实施经验,项目组在渠道中台项目前期做技术选型、架构设计时,一开始就否决了在 ECS 或 K8s 上直接部署应用的方案,希望有一个省事的“容器托管平台”。尽量减少运维成本、屏蔽底层细节,对开发上手友好、且能较大化提高部署发布效率,具体来说,主要希望达到以下几个目标:

  1. 希望有统一的管理平台进行在线化交付,全生命周期管控,以此来提高项目实施效率,该平台需具备敏捷协同、DevOps、质量保障等能力,尤其是具备 CI/CD 流水线自动化部署至选型的容器托管平台的能力,用于保障项目交付质量、提升项目交付效率、同时降低交付成本。
  2. 项目采用基于 Spring Cloud 的微服务架构、需要容器平台能无缝兼容
  3. 希望平台能屏蔽底层 ECS 和 K8s 的运维工作,开发大部分工作可以在控制台完成,不需要投太多精力在运维上面,可以专注在业务功能开发上
  4. 有一定的弹性伸缩能力、扩缩容比较方便、能够定制性的做一些资源优化
  5. 微服务应用的配套设施要完备:如灰度发布、流量控制、远程调式、监控等等,能够方便的集成

基于以上的一些诉求,我们推荐了基于 SAE(Serverless 应用引擎)的无服务器化容器平台方案、并做了一个两者的对比(如下表格):

ECS或K8s直接部署 使用SAE后
应用服务器购置 单独选配ECS、需要一堆规格选择、网络&操作系统选择&配置、监控组件安装等 无需单独购买ECS等IaaS层设施;直接选定CPU&内存规格及一些简单的网络配置即可
应用创建&部署 需做集群规划、应用初始化、编写应用部署脚本、灰度发布脚本等工作;镜像需要登录服务器直接操作 打包镜像或上传JAR包WAR包可直接在控制台部署、集成灰度发布能力;无需编写脚本或登录服务器
弹性伸缩 服务器购置、创建应用&部署等流程需要重新走一遍;机器加入集群或者剔除集群都需要运维操作;效率不高,无法应对突发流量的弹性扩容需求,只能提前准备;资源利用率不高 可实现快速弹性伸缩能力、扩缩容可在控制台直接操作生效;同时支持按照多维度策略的自动扩缩容能力、能够应对突发流量的弹性需求;扩缩容时可随意调整所需的CPU&内容资源,实现精细化控制、资源利用率高
无损上下线 需要额外集成、自己写相关脚本 控制台可集成
限流降级 需自己搭建开源工具或购买云服务自行接入 可通过集成AHAS在控制台直接操作、但需额外购买AHAS服务
监控 自行搭建监控组件&插件、单独运维 已集成基础监控和应用监控能力
配置中心管理 基于开源自建或购买云服务自行做集成 已集成Nacos注册中心、同时做了一层封装方便使用
集群后期运维 使用ECS或K8s部署、需要专人做集群运维、如操作系统升级、容器管理、网络维护、服务器更换等一系列操作 基本免运维、无需专门配运维可由开发在控制台直接操作

项目交付进展

项目在实施过程中深度使用了阿里云飞天技术服务平台——大禹进行在线化交付,通过平台进行统一的管控和赋能。

目前 SKG 渠道中台已上线包括微服务网关、微服务中心、前台 Portal、终端小程序、前端 Node 应用等前中台所属 20 多个应用全部部署在 SAE 上;上线过程不需要花太多额外的时间做系统改造或适配,只需要在控制台做一些必要的配置即可,且上线后平台运行平稳。

渠道中台业务系统的研发态和运行态大图如下所示:



SKG 渠道中台研发态&运行态大图

项目交付过程中的直观感受:

  1. CI/CD 自动化部署至 SAE:通过大禹提供的 CI/CD 流水线能力将业务应用自动化部署至 SAE,彻底替换原来的人工部署、人肉运维的低效方式,在提升应用部署效率的同时,也有效降低了应用发布变更的风险,实现了可控部署、安全生产的效果。
  2. 免运维&聚焦业务:以往类似规模的集群和应用数、至少需要配置 2 个专门的运维;使用 SAE 后基本免运维、省去专门运维投入;一些 SAE 控制台配置操作基本由开发兼职即可;以往维护应用集群、经常需要排查 K8s 集群和 ECS 底层的一些问题;使用SAE这块基本不用关注
  3. 良好兼容各类微服务框架:对基于 Springboot、Spring Cloud、Dubbo 等微服务框架开发的应用兼容较好、同时很方便的集成了 ACM、ARMS 等云产品;屏蔽了部分底层细节,可以做到一键低配置部署
  4. 弹性伸缩、快速扩缩容:弹性策略灵活、在做资源优化的时候较为方便调整

项目交付效果:

SAE 指标

全部 20+ 应用初始化配置-创建-部署到 SAE 上只需要 2-3 个小时;资源成本比单独购买机器节省 30% 以上;由于 SAE 支持 0.5core 的规格,开发测试环境资源开销得以降低 50% 以上;扩容效率则从按天计提高到分钟级

大禹指标

通过大禹平台共计交付了近 20+ 应用,提交定开代码超过 180万+ 行,流水线自动化发布应用超过 3000 次,平均发布时间在 100S 内;CI/CD 自动化部署效率提升 300%,零发布故障

产品提升建议:

任何云产品都不可能 100% 满足用户的所有诉求、项目组在使用大禹 & SAE 的过程中、也发现了一些可以改进和提升的点:

  1. 平台开放能力:大禹平台提供更开放的能力,提供更多 OpenAPI 供用户同步项目交付过程中产生的数据,如需求、任务、缺陷、人天工时、文档等数据。
  2. 微服务治理:支持基于 Feign、Dubbo、Hsf 等框架微服务接口的在线调试,服务 Mock,以消费者视角查看服务等能力
  3. 监控:目前SAE的监控都是单应用的,但从用户视角来说、由于中台往往会包含较多拆分很细的微服务应用、希望有一个全局视角的运维监控视图;方便用户查看集群整体运行情况
  4. 同 SLB 集成优化:当 SLB 被删除或失效后、在 SAE 应用首页仍会显示、并且还可以挂载端口(有可能挂载问题已修复、但肯定还可以显示),需要手动删除
  5. 支持一定的动态热部署能力,进一步提高开发部署迭代效率
  6. 对 NAS 存储的集成优化:支持在镜像中指定账号登录访问 NAS(目前会报错)

数字化是企业提升效能和创新的舞台和重大机遇,相信SKG将在渠道中台的赋能下,依托大禹 & SAE 等 PaaS 层基础设施,通过领先的数字化云化解决方案实现价值升级,开拓更大的市场!


SKG简介



SKG 产品设计不仅获得国家级、省级设计奖项,并且屡次斩获德国红点设计(Red Dot)奖、汉诺威工业(iF)设计奖等众多国际大奖。并且,SKG通过持续的研发投入构筑了核心技术护城河,并成功将其转化为知识产权,已拥有全球1000+项专利,2021年研发投入占营业收入比重超7%,持续高强度的研发投入为公司业务可持续发展夯实根基并构建核心竞争优势。

欧睿咨询按2021年B2C渠道零售额计,SKG品牌在智能可穿戴颈椎按摩仪销售额全国第一,在行业中树立了良好的品牌形象及较高的品牌认可度。SKG牵头起草了《家用和类似用途低频按摩仪》行业标准,为行业的健康发展贡献坚实力量。

更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

新零售标杆 SKG 全面拥抱 Serverless,敏捷交付的更多相关文章

  1. 良品铺子:“新零售”先锋的IT必经之路

    良品铺子:“新零售”先锋的IT必经之路 云计算 大数据 CIO班 CIO 互联网+ 物联网 电子政务 2017-12-29 09:25:34  来源:互联网抢沙发 摘要:2017年被称为“新零售”元年 ...

  2. 【公众号系列】SAP的新零售

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[公众号系列]SAP的新零售   写在前面 还是 ...

  3. 阿里前CEO卫哲:马云好玩,人工智能泡沫巨大,新零售重在社区

    阿里前CEO卫哲:马云好玩,人工智能泡沫巨大,新零售重在社区 投资中国网 08-21 08:34 投中网(https://www.chinaventure.com.cn) 编者按:当下的技术时代,是跨 ...

  4. 阿里新零售中的智能补货(I)— 库存模型

    文章作者:阿里零售通算法团队 出品社区:DataFun 导读: 零售通作为阿里巴巴新零售的八路大军之一,肩负着"共建智能分销平台"和"让百万小店拥抱DT时代"的 ...

  5. CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业基于微信公众号、小程序实现会员管理、数据分析,精准营销的电子商务管理系统。可满足企业新零售、批发、分销、等各种业务需求。

    **可以快速二次开发的开源小程序商城系统源码**源码开源地址:https://github.crmeb.net/u/LXT 项目介绍: CRMEB系统就是集客户关系管理+营销电商系统,能够真正帮助企业 ...

  6. 新零售下的 AI智能货柜

    公司有个智能货柜,通过微信扫码开门,拿货,自动扣款,挺智能的.还不错.研究一下原理,网上查了一下. 文章简介: 目前新零售风刮的蛮大,笔者进入该领域近一年,负责过无人便利店.智能货柜.智慧商超等产品, ...

  7. 荣获“5G MEC优秀商用案例奖”,阿里云边缘计算发力新零售

    4月24日,在中国联通合作伙伴大会的 “5G MEC(Mobile Edge Computing,移动边缘计算)边缘云赋能行业数字化转型”分论坛上,阿里云“基于5G边缘计算的新零售应用案例”荣获201 ...

  8. 零售BI解决方案_新零售时代转型升级思路全都在这里

    新零售是什么意思?新零售即企业以互联网为依托,通过运用大数据.人工智能等先进技术手段,对商品的生产.流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务.线下体验以及现代物流进行深度融合 ...

  9. 新零售SaaS架构:中央库存系统架构设计

    近年来,越来越多的零售企业大力发展全渠道业务.在销售额增长上,通过线上的小程序.直播.平台渠道等方式,拓展流量变现渠道.在会员增长方面,通过多样的互动方式,全渠道触达消费者,扩大会员规模.而全渠道的库 ...

  10. 京东7Fresh新零售架构设计分析

    7Fresh是京东第一个线上线下融合落地的零售创新业务模式,店内有大量设备的集成,设备供应商达50多家,针对线下业务的特点,团队独立规划和设计POS收银系统.店内生产系统.加工系统.货架陈列系统.魔镜 ...

随机推荐

  1. Vue项目的创建、运行与端口号修改

    前言:Vue-cli是Vue官方提供的一个脚手架,用于快速生成一个Vue的项目模板,依赖于NodeJS环境 NodeJS下载:NodeJS安装下载 Vue-cli下载:Vue-cli下载 一.Vue图 ...

  2. 分享一个 asp.net core 多文件分块同时上传的组件

    分享一个可多个文件同时上传.断点续传,并实时反馈上传进度的 Asp.Net core 组件. 服务器端 引用 nuget 包:JMS.FileUploader.AspNetCore 然后启用上传组件: ...

  3. [NOI online22提高A] 丹钓战

    题目描述 有 \(n\) 个二元组 \((a_i, b_i)\),编号为 1 到 n. 有一个初始为空的栈 SS,向其中加入元素 \((a_i, b_i)\) 时,先不断弹出栈顶元素直至栈空或栈顶元素 ...

  4. [ABC279G] At Most 2 Colors

    Problem Statement There is a grid with $1 \times N$ squares, numbered $1,2,\dots,N$ from left to rig ...

  5. 图片Base64相互转换

    一.简介 Base64编码是一种广泛应用于网络传输和数据存储的编码方式.在实际应用中,我们将图片转换为Base64编码,可以大大减少数据量,便于传输和存储.本文将详细介绍图片Base64编码的相互转换 ...

  6. nginx+lua+redis实现灰度发布

    前言: 授人以鱼不如授人以渔.先学会用,在学原理,在学创造,可能一辈子用不到这种能力,但是不能不具备这种能力.这篇文章主要是沉淀使用nginx+lua+redis实现灰度,当我们具备了这种能力,随时可 ...

  7. Python+Selenium4自动化之JS属性

    应用场景 在自动化中, 能对JS代码进行增.删.改的话,可以帮助我们解决很多问题, 如:修改<a>标签的target属性,让它不打开新的窗口(_blank),从而不用频繁使用switch_ ...

  8. Mysql索引失效的几种原因-mysql-suo-yin-shi-xiao-de-ji-zhong-yuan-yin

    title: Mysql索引失效的几种原因 date: 2021-07-15 17:13:59.019 updated: 2021-12-26 17:43:12.489 url: https://ww ...

  9. 高版本jdk的访问私有成员属性的正确姿势

    在jdk17+已经不能直接通过 setAccessible 来访问私有属性了 Field name = access.getClass().getDeclaredField("name&qu ...

  10. 自签证书https

    1.下载编译好的openssl. http://slproweb.com/products/Win32OpenSSL.html 下载完成后运行安装: 记住你安装到的目录,等下打开这个文件夹(小贴士:最 ...