案例背景

高校健康打卡项目发起于北京大学软件与微电子学院,是该学院张齐勋老师在疫情期间编写的一套健康信息采集和报表系统。该系统已在 GitHub开源,并在 Wuhan2020 社区联合主办的 Hack for Wuhan 黑客松活动中荣获最受观众喜爱奖。在疫情期间,该项目已在北大软微等全国 30 余个高校院系部署应用,为疫情期间的高校师生健康信息采集汇总的需求提供了快速高效可定制的一站式解决方案。

业务痛点

由于高校打卡项目涉及高校数据安全,故采用自建方式来运行,而非使用第三方的打卡软件。该项目使用经典的 LAMP + 小程序技术栈开发,前后端分离,开发者社区中基于Java、Go等多语言的后端项目也在开发中。

在疫情期间,只有1~2个开发人员,如果仍旧按照传统模式买机器、各种语言应用编译打包、部署应用、搭建监控系统、线上运维逐步部署开发运维,无法满足交付效率、保证线上稳定性。因此,一套低门槛、开箱即用,且能在短时间内快速构建的稳定后端系统来支撑这套多语言健康信息采集和报表系统的正常运行显得尤为重要。另外高校打卡时间段固定,会出现洪峰流量,但能否在应对洪峰流量的同时最大程度的节省成本,也是挑战之一。

总而言之,高效健康打卡系统从0到1搭建,业务交付效率要求高,但开发人员只有1~2个,且涉及到多语言开发。潮汐使用计算资源,如果自己保有IaaS资源,会出现利用率不高的问题,且需要考虑如何应对洪峰流量。

解决方案

通过阿里云Serverless应用引擎(SAE)可以实现:

  • 免运维,从0到1快速交付:基于SAE,北大打卡项目无需购买和运维ECS,通过镜像方式白屏化快速部署了多个多语言应用。且无需自建监控系统,提供了开箱即用的应用监控能力,极大提升了交付效率。
  • 灵活弹性,节省成本:SAE支持基于CPU使用率、内存占用率等监控指标自动触发扩缩容,也支持定时弹性,这种灵活的弹性策略既能轻松应对流量高峰,也真正做到了按需使用,节省了非打卡时段的闲置成本。
  • 极致体验,提供一站式服务:SAE在细节层面做的非常到位,可以直接在应用内开启 HTTPS 服务等,并与证书管理系统也有很好的集成。

上云价值

总体而言,使用 SAE大幅提升了北大打卡项目从0到1搭建的交付效率,为该项目在疫情期间的稳定服务提供了强有力的保障。后续该项目不仅会继续支撑高校打卡,也会成为开发者学习开源流程和基础开发技能的入门项目之一。

证言

Wuhan2020 发起人 Frank 说:“Serverless应用引擎(SAE)帮助我们和齐勋老师从0到1快速搭建了一套服务,帮助项目在较短的时间内就能上线运行,面对学生们的打卡高峰,可以轻松应对,免去了我们在应用可用性上的维护成本,同时也节省了机器成本。”

相关产品

  • Serverless 应用引擎

    Serverless 应用引擎(Serverless App Engine,简称 SAE)是面向应用的 Serverless PaaS 平台,帮助 PaaS 层用户免运维 IaaS,按需使用,按量计费,实现低门槛微服务应用上云,有效解决成本及效率问题。支持 Spring Cloud、Dubbo 和 HSF 等流行的开发框架,真正实现了 Serverless 架构和微服务架构的完美融合。除了微服务应用外,您还能通过 Docker 镜像部署任何语言的应用。

    更多关于Serverless 应用引擎的介绍,参见Serverless 应用引擎产品详情页