SAE能帮助应用极速上云,并能通过灵活的应用启停降低资源使用成本,降低运维难度。本文以高校健康打卡项目为例,介绍SAE在支持应用极速上云方面的成功案例。

背景信息

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

业务痛点

高校健康打卡的痛点如下。针对这些痛点,SAE逐一攻破。

业务痛点为什么选择SAE
数据安全要求高。SAE通过VPC和命名空间为应用提供完全隔离的网络环境,可以提高应用的安全性。
业务交付效率要求高。SAE支持多种部署应用的方式,支持微服务以及多语言应用快速上云,提供开箱即用的应用监控能力,可以提升交付效率。
业务涉及多语言。
资源利用率低。
  • SAE支持定时弹性和基于监控指标的自动弹性(CPU、Memory、QPS、RT等),同时支持一键启停开发测试环境,轻松应对流量高峰,保障业务稳定性。
  • SAE按实际用量计费,且支持小规格实例(0.5 Core、1 GiB),可以提高资源利用率。

解决方案

高校健康打卡项目解决方案逻辑图如下所示。高校健康打卡解决方案图
方案实施如下。
  1. 环境隔离。

    高校健康打卡项目对安全要求性较高,可以在SAE中以命名空间进行逻辑隔离。更多信息,请参见创建命名空间

  2. 网络准备。

    高校健康打卡项目有一定的网络要求,需要在部署前创建VPC。更多信息,请参见创建VPC

  3. 部署上云。

    SAE内置服务注册中心,提供WAR、JAR和镜像等便捷上云方式,降低了技术门槛。更多信息,请参见应用托管概述

  4. 应用访问。

    高校健康打卡项目部署在SAE后,需要配置SLB,使应用能够访问公网。更多信息,请参见为应用绑定SLB配置NAT网关使SAE应用能访问公网

  5. 应用管理。

    SAE提供应用生命周期管理、应用实例查看、网关路由、一键启停、弹性伸缩等功能。更多信息,请参见应用托管概述

    • 开发环境和测试环境,可以使用一键启停功能来批量停止闲置应用,减少资源浪费。更多信息,请参见一键启停应用
    • 针对应用的业务潮汐特性,无需规划容量,利用弹性伸缩功能即可从容应对。更多信息,请参见配置弹性伸缩策略
    • 针对应用的请求分发需求,可以通过网关路由功能实现。更多信息,请参见为应用配置网关路由(CLB)
  6. 应用监控。
    • CPU、内存、负载、网络速率、网络流量包、磁盘等基础监控。更多信息,请参见基础监控
    • 应用总请求量、平均响应时间等应用健康指标监控。更多信息,请参见应用总览
    • 堆内存指标、非堆内存指标、直接缓冲区指标、内存映射缓冲区指标、GC(垃圾收集)累计详情和JVM线程数等JVM指标监控。更多信息,请参见JVM监控
    • SQL分析、异常分析、错误分析、链路上下游和接口快照等接口调用监控。更多信息,请参见接口调用

使用效果

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

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