专栏名称: 阿里云云原生
发布云原生技术最新资讯、汇集云原生技术最全内容,定期举办云原生活动、直播,阿里产品及用户最佳实践发布。与你并肩探索云原生技术点滴,分享你需要的云原生内容。
目录
相关文章推荐
河南新闻广播  ·  2025年研考国家线发布 ·  昨天  
河南新闻广播  ·  苏英杰严重违纪违法被双开 ·  2 天前  
河南新闻广播  ·  阳光正在赶来!河南即将开启升温模式 ·  3 天前  
河南发布  ·  阳光正在赶来!河南即将开启升温模式 ·  3 天前  
51好读  ›  专栏  ›  阿里云云原生

Serverless 应用引擎 SAE 助力袋拉拉研发提效 70%

阿里云云原生  · 公众号  ·  · 2024-08-27 18:30

正文

医院环保 IOT 设备的引领者:机汽猫




Cloud Native

机汽猫是⼀家致⼒于通过投放⾃助取袋设备,为医院场景提供新型环保袋交付⽅式的科技公司。 它成⽴于 2019 年,旗下品牌袋拉拉(DaiLala)通过投放⾃助取袋机,解决了医院对环保袋的管理问题,让⽤户能够随时使⽤环保袋,同时也致力于在医疗场景投放各类型自助设备,解决用户和医院对耗材的管理问题。 公司总部位于浙江安吉,公司始终坚持自主研发、独立运营,已拥有数十项自主知识产权和核心技术,2022 年获得国家高新科技企业评级。 机汽猫的使命是⽤物联⽹助⼒医院服务,降低成本、提⾼效率、改善⽤户体验。

业务持续增长,企业面临的挑战




Cloud Native

机汽猫主要在做医院 IOT 的设备,例如自助取袋机和充电宝的业务等等,平时白天医院的人流量较大,自助取袋或者使用充电宝的的病人很多,在晚上的时候,医院的人流量大大减少,使用 IOT 设备的人数也大幅下降。 这样的业务特征导致了业务流量的峰谷差距很大。

之前技术同学将应用都部署在了 ECS 上,每当业务高峰期的时候要提前做好资源预留,低谷期再手动缩容。 由于技术团队只有 14 个人,又要兼顾研发工作又要兼顾运维工作,一直以来面临以下几个方面的挑战:

  • 潮汐型业务,预留资源困难

    机汽猫平时的业务有非常明显的波峰波谷。当医院的人流量增加的时候,最多的时候能达到低谷期人流量的的十几倍以上,买药和紧急充电的需求量也随之不断升高,因此对于袋子和充电宝的需求也在不断增多。在每次流量峰值到来的时候,研发团队都要提前准备几台服务器,有时候流量难以预估,因此预留资源成为一大难题。预估资源困难,预留过程繁琐给技术同学带来了不小的挑战。

  • 人员不足,运维困难

    机汽猫没有比较专业的运维团队。技术同学不仅需要进行应用迭代发布等研发工作,同时也要兼顾逐台服务器部署应用,还要应对生产过程中遇到的突发情况以及排查问题。运维工作在日常中占用了非常大的时间和精力。随着业务量的不断增加,ECS 已经无法满足弹性需求,技术团队也考虑将应用部署在商业版 K8s 上,但是 K8s 的也有不小的学习成本。所以如何能实现弹性,便于运维,同时又不用花时间来学习 K8s 成为技术团队的一大诉求。

  • 发版受限,研发效率低

    技术团队一直使用的是 ECS + 云效的方式来做应用发布,但是之前担心新版本发布出现问题,所以需要等到业务低峰期去发布,每次发版的时候都要逐台服务器部署应用,遇到问题也很难在短时间内立刻会滚。不仅发版时间受限,发版效率也非常低。

  • 资源利用率低,大量资源浪费
    平时部署在 ECS 的 CPU 利用率只有百分之十几,而且流量高峰期过去,预留的资源不能及时释放,此时又产生了大量资源的浪费。

解决方案




Cloud Native

机汽猫将所有的应用都部署在了 SAE 上,开箱即用微服务和自适应弹性的能力,并且配合 MSE Nacos 和云原生网关来做服务发现和服务治理,通过容器镜像服务 ACR,云效对接 SAE 来做发布,SAE 上的应用访问后端数据库。

01 微服务治理

SAE 为机汽猫提供了无侵入微服务治理的能力。技术团队之前就有用到 MSE Nacos 和 MSE 的云原生网关,上了 SAE 之后,直接将 MSE 的云原生网关和 MSE Nacos 挂载到 SAE 上,来对 SAE 上的应用做服务发现和治理。
“之前我们使用的是 ECS,我们经常有小版本发布的需求,但是担心每次发版会对生产环境造成影响,导致业务停用,所以每次发版都需要等到业务流量低峰期的时候来做发布, 很多时候可能一周才能发一次。”
“把应用部署在 SAE 上之后,运用 SAE 的无损上下线,就能够实现新版本的优雅上线和旧版本的优雅下线,也不用担心会对实际生产环境的业务造成影响。而且可以很顺畅地和云效对接,直接发布新版本,反正就是随时发,也不用顾及是不是业务高峰期。 现在两三天就能发布一个小版本, 效率非常高。

02 自适应弹性

SAE 提供了自适应弹性的能力,帮助机器猫实现百毫秒级弹性伸缩,能根据流量和各种策略指标来实现弹性能力。
“原来我们用 ECS 的时候完全没有做弹性,我们有自己的资源池,每次业务流量高峰之前,就针对几个主要的应用来预留一些资源,但是这样流程非常的繁琐,每次都有大量资源的浪费。”
现在机汽猫利用 SAE 的弹性能力,完全省去了预留资源这个步骤,就能根据业务的潮汐来进行自动扩缩容。“现在我们也没关注过在业务高峰期弹起来多少实例,我们只需要给应用提前配置好 CPU 和内存的指标弹性策略,等到业务流量高峰期到来的时候,SAE 就能帮助我们轻松应对,也不用担心预留资源导致的大量资源浪费的问题。”
03 平台工程化

此外,SAE 还提供平台工程化的能力,秒级完成从源代码仓库或 War、Jar 代码包部署 SAE 应用,并支持自动 CD。同时也提供应用模板、CLI 命令行工具、组件库、成本管家等能力,帮助开发者们快速高效的交付应用程序。
机汽猫使用容器镜像 ACR,通过云效接入 SAE,直接就能进行流水线发布,发版的流程非常简单,发版速度非常快,只需要关注业务应用的迭代,SAE 就能帮助实现应用的快速交付。

“我们也尝试使用商业版 K8s,但是还需要投入大量的时间和人力来学习 K8s 管控,但 SAE 就屏蔽掉了 K8s 这一层,非常的简单易用。现在我们基本不用 ECS 了,所有的应用都跑在了 SAE 上,还有一些自建的 XXL-Job,也以小应用的方式部署在 SAE 上,之后会考虑迁移到 SAE 的任务托管上来。”






请到「今天看啥」查看全文