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

作者:百潼

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

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

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

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

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

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

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

  • 人员不足,运维困难

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

  • 发版受限,研发效率低

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

  • 资源利用率低,大量资源浪费

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

解决方案

机汽猫将所有的应用都部署在了 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 的任务托管上来。”

使用效果

1)研发效率提升了 70%: 通过阿里云 Serverless 应用引擎 SAE,彻底解决了原来只能在低峰期的时候进行发版,从原来的发版时间受限,到现在只要有发布的需求,就能通过 SAE 的无损上下线,配合云效流水线的方式来随时发布。从原来一周发版一次,到现在两三天就能有一次小版本的发布,效率提升了 70%。 而且也不用担心发布的版本有问题,可以做到随时一键回滚。

2)提升运维幸福感,部署应用更轻松: 通过阿里云 Serverless 应用引擎 SAE,可以轻松应对运维方面的繁琐工作,无需花大量时间去学习 K8s 的用法和运维的工作,就能轻松实现弹性能力和相关的运维配套。技术同学只需要专注业务应用的开发,运维工作交给 SAE 来做,部署应用和排查问题都更方便了。

3)无需预留资源,SAE 弹性轻松应对潮汐业务: 原来应用部署在 ECS 上的时候,是完全没有做弹性的,每次业务流量高峰期的时候,流量高于平时十几倍,都需要提前预留资源,提早做准备。现在将应用部署在 SAE 上了之后,再也没关注过资源的预留问题,配置好弹性策略之后,也不用关心需要多少实例来承载业务,SAE 会帮忙轻松应对潮汐业务。

总结和期待

“我们调研和准备了半年,一次性迁移到了新版 SAE 上,主要看中了 SAE 的弹性能力和运维简单的特点,而且现在新版的使用体验越来越好了,控制台界面的操作比原来都要流畅很多。但我们还在持续摸索中,看如何能更好地应用 SAE。”

“希望 SAE 能继续保证稳定性,最好是有应用的统一管理能力,比如应用统一配置告警规则和弹性策略,这样会更方便一些。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/792209.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2面准备记录

1、自我介绍 2、设计测试用例 3、购物车测试 4、输入框测试 5、GIT 常用命令

Altium designer软件介绍

Altium Designer 是原Protel软件开发商Altium公司推出的一体化的电子产品开发系统,主要运行在Windows操作系统。这套软件通过把原理图设计、电路仿真、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者…

2024.7.5-2024.7.20 HA省学会集训游记(焦作一中)

这是一篇长篇小说 DAY1 除了DAY4-DAY5个别内容以外,这些都是补的,但是全写完有太多了qwq,挑题写了 树状数组和线段树基础很多都是一些模板题,太模板的题不再做太多解释 题目:P4062 P6619 P3688 P3157 P10497 P3374 P3368 P4223 P10589 P10688 CF1667B P10463 SP1716 CF718…

win11+docker desktop导入镜像运行容器

一:配置环境 前置条件:Win11环境,docker注册账号 1.安装WSL (1)在windows store安装Ubuntu 20.04.6 (2)设置“控制面板”-“程序”-“程序和功能”-左侧“启用或关闭Windows功能”-打开“适用于Linux的Windows子系统”,“Windows虚拟机监控程序平台” (3)终端执行: …

该如何做参数校验

该如何做参数校验技术架构springboot首先每一个接口都要有controller service mapper这种参数校验也是有很多种做法的,分享我的做法。那么入参是必须要做校验的比如 实体类 用Optional.ofNullable Optional.ofNullable 是Java 8引入的一个用于处理空值的类 Optional 中的一个静…

升级程序后报错 :Parse error: syntax error, unexpected :, expecting

当您看到类似“Parse error: syntax error, unexpected :, expecting ...”这样的错误时,这通常是因为 PHP 代码中存在语法错误。具体来说,这通常是因为某个语法特性在当前 PHP 版本中不被支持。 常见原因PHP 版本不兼容:新代码可能使用了较新版本的 PHP 语法特性,而当前服…

网站上传图片被压缩怎么解决

当网站上传图片被压缩导致质量下降时,可以通过以下几种方式来解决这个问题: 1. 了解平台压缩机制 首先了解平台对图片压缩的具体机制,比如压缩算法、压缩比例等。这有助于针对性地采取措施。 2. 优化图片上传前的准备按照规定尺寸设计素材:确保上传的图片符合平台要求的尺寸…

网站打开提示:”未检测到您服务器环境的sqlite3数据库扩展...“

当网站打开时提示“未检测到您服务器环境的sqlite3数据库扩展”,这表明您的服务器上缺少 SQLite3 扩展,或者虽然安装了 SQLite3 扩展,但是 PHP 并未正确配置来使用它。以下是一些排查和解决这个问题的方法: 1. 检查 SQLite3 扩展是否安装 首先,您需要确认 SQLite3 扩展是否…

IIS相关错误报错汇总整理及解决方案

解决方案400 Bad Request:检查请求是否包含错误的信息或格式。 401 Unauthorized:确认是否已经进行了身份验证。 403 Forbidden:检查是否有足够的权限访问资源。 404 Not Found:确认请求的URL是否正确,资源是否存在。 500 Internal Server Error:检查服务器日志,寻找错误…

中华财险60%研发人员用通义灵码全面提效,“越用越上瘾”

保险业被看成是社会“稳定器”和经济“助推器”,近年来已驶入数字化发展快车道。在 AI、大模型当道的今天,保险行业的研发流程、产品设计、场景拓展等业务链条各环节,都值得用大模型进行重塑。点击查看中华财险视频采访! 保险业被看成是社会“稳定器”和经济“助推器”,近…

安全:nginx安装modsecurity

一,modsecurity官网:官网: https://modsecurity.org/ 如图: 官方代码站: https://github.com/owasp-modsecurity/ModSecurity 二,安装环境准备: 1,安装依赖库: [root@localhost source]# yum install -y gcc make pcre-devel libxml2 libxml2-devel curl-devel httpd-dev…

java 二次反序列化

java 二次反序列化 SignedObject 该类是 java.security 下一个用于创建真实运行时对象的类,更具体地说,SignedObject 包含另一个 Serializable 对象。 先看其构造函数方法。看到参数接受一个可序列化的对象,然后又进行了一次序列化,继续看到该类的 getObject 方法(这是个 …