机汽猫是一家专注于通过自助取袋设备为医院提供新型环保袋交付方式的科技公司,成立于 2019 年。旗下品牌袋拉拉(DaiLala)通过在医院部署自助取袋机,不仅提供了一种新型的环保袋交付方案,还有效解决了医院耗材管理的挑战,提升了用户便利性和医院运营效率。公司总部位于浙江安吉,始终坚持自主研发和独立运营,拥有数十项自主知识产权和核心技术,并在 2022 年获得国家高新科技企业评级。机汽猫正积极推进数字化转型,利用云计算等先进技术,致力于通过物联网助力医院服务,实现成本降低、效率提升和用户体验改善。
机汽猫作为一家专注于医院 IoT 设备的科技公司,提供包括自助取袋机和充电宝在内的服务。其业务模式面临着显著的潮汐波动,日间医院人流量高峰时设备使用需求激增,而夜间则显著下降,导致业务流量的峰谷差异显著。
当前技术架构中,所有应用均部署于 ECS 上,这种模式下,面对潮汐般的业务需求,技术团队面临以下问题和挑战:
潮汐型业务,预留资源困难:机汽猫的业务具有明显的波峰波谷特征。在医院人流量高峰期,设备使用量可能达到低谷期的十几倍。为了应对这种情况,技术团队需要提前预留足够的计算资源。然而,流量往往难以精确预测,导致资源预留成为一大难题。预估资源困难和预留过程繁琐,给技术团队带来了不小的挑战。
人员不足,运维困难:技术团队规模有限,仅有 14 人,团队成员不仅需要进行应用迭代和发布,还要手动部署应用至每台服务器、处理突发故障及性能排查等。运维工作占用了大量时间和精力,随着业务量的增长,ECS 的弹性不足问题愈发凸显。
发版受限,研发效率低:采用 ECS 结合云效的发布模式,为避免新版本发布引入问题,只能在业务低峰期进行发布,手动部署到每台服务器。效率低下且风险集中。一旦遇到问题,回滚难度大且耗时长,严重影响了研发效率。
资源利用率低,大量资源浪费:平时,部署在 ECS 上的 CPU 利用率只有百分之十几,流量高峰期过去后,预留的资源不能及时释放,导致大量资源浪费。
机汽猫将所有的应用都部署在了 SAE 上,开箱即用微服务和自适应弹性的能力,并且配合 MSE Nacos 和云原生网关来做服务发现和服务治理,通过容器镜像服务 ACR,云效对接 SAE 来做发布,SAE 上的应用访问后端数据库。
SAE 为机汽猫提供了无侵入微服务治理的能力。运用 SAE 的无损上下线,实现新版本的优雅上线和旧版本的优雅下线,减少新版本发布对生产环境的影响,确保业务的连续性和稳定性。通过将 SAE 与 MSE Nacos、云原生网关结合,实现服务的精准发现与治理,增强系统稳定性,确保微服务架构的高可用性。将 SAE 与云效对接,实现自动化部署与版本管理,提升开发效率与团队协作。
在使用 SAE 之前,机汽猫将应用部署在 ECS 上,每次业务流量高峰之前,针对主要的应用预留一些资源,流程非常繁琐,而且每次都有大量资源的浪费。SAE 提供了自适应弹性的能力,帮助机器猫实现百毫秒级弹性伸缩,能根据流量和各种策略指标自动进行扩缩容,省去了人工预留资源的步骤,避免了资源浪费,提高资源利用率,确保在业务高峰期也能平稳运行。
SAE 提供平台工程化的能力,秒级完成从源代码仓库或 War、Jar 代码包部署 SAE 应用,并支持自动 CD。同时也提供应用模板、CLI 命令行工具、组件库、成本管家等能力,帮助开发者们快速高效的交付应用程序。机汽猫使用容器镜像 ACR,通过云效接入 SAE,直接就能进行流水线发布,发版的流程简单,发版速度快,技术团队只需要关注业务应用的迭代,SAE 就能帮助实现应用的快速交付。
研发效率提升了 70%:通过阿里云 Serverless 应用引擎 SAE,彻底解决了原来只能在低峰期的时候进行发版,从原来的发版时间受限,到现在只要有发布的需求,就能通过 SAE 的无损上下线,配合云效流水线的方式来随时发布。从原来一周发版一次,到现在两三天就能有一次小版本的发布,效率提升了 70%。此外,也无需担心发布的版本有问题,可以做到随时一键回滚。
提升运维幸福感,部署应用更轻松:通过阿里云 Serverless 应用引擎 SAE,可以轻松应对运维方面的繁琐工作,无需花大量时间去学习 K8s 的用法和运维的工作,就能轻松实现弹性能力和相关的运维配套。技术同学只需要专注业务应用的开发,运维工作交给 SAE 来做,部署应用和排查问题都更方便了。
无需预留资源,SAE 弹性轻松应对潮汐业务:原来应用部署在 ECS 上的时候,是完全没有做弹性的,每次业务流量高峰期的时候,流量高于平时十几倍,都需要提前预留资源,提早做准备。现在将应用部署在 SAE 上了之后,无需关注资源的预留问题,只需配置好弹性策略,SAE 能够轻松应对潮汐业务。