Serverless 技术应用实践,比传统自建 Nginx 成本低 10 倍,


Serverless 应用引擎( SAE )是和通数据库上以应用实例为中心的免运维 PaaS 产品,充分释放云计算的规模化运营的红利提供给客户,以开发测试环境 2Core 4GiB 的应用运行一天( 按 8 小时计算)为例,SAE 应用单实例成本的费用不到 3元/天,SAE最近推出了 HTTP 网关产品结合和通数据库 SLB 的产品能力,可以非常方便的将 HTTP/HTTPS 流量根据 URL 路径(ContextPath)转发至不同应用的 Web 端口。

基本概念

SAE 网关的模型非常简单,用户只需要关心规则,规则由域名、路径与应用共同构成。对于单个网关实例,用户可以创建多条规则,每条规则的流量可以向指定应用的实例进行转发。如下图所示。

QzpcVXNlcnNcd2Itd3h5NTg0MzIzXEFwcERhdGFcUm9hbWluZ1xEaW5nVGFsa1w2ODY4MzMyNzFfdjJcSW1hZ2VGaWxlc1wxNTg1MjA2Nzc0MTcyXzVGMjEzQ0NCLUJBNjYtNDc0NC04NDBFLThGNDEyMkE1NjIwRi5wbmc_

准备工作

1、购买 SLB 产品实例。对于用于 VPC 内的内网网关需求,可以选择购买同 VPC 内的 SLB 实例,对于公网网关需求,需要购买公网类型的 SLB 实例。SLB 产品的收费细则请参见产品定价,由于技术原因,不支持性能共享型实例。
2、准备应用。根据业务实际情况,准备1个或者多个可以响应不同 url 路径请求的 SAE 应用,目前不支持其他产品的应用接入。

快速接入

SAE 接入方式非常简单。相比传统的 Nginx 服务器配置冗长的 nginx.conf 文件,SAE 主需要在可视化的界面上,选择匹配的 url 路径或域名想要到达的应用端口即可。

1、进入命名空间管理页面。

2

2、点击开始新建一条网关路由规则

3

3、按照业务实际情况配置规则

SAE 网关支持用户配置 HTTP 或 HTTPS 协议的规则,并按照访问请求的域名以及 url 路径将请求向应用实例端口进行转发。如下图所示:

4

5

简单两步,不需要编写复杂的 Nginx 配置,不需要花费精力运维 Nginx 服务器,一个简单的 SAE 网关就实现了。

问题诊断

一般来说,SAE 提供的网关不需要用户运维,能够帮助用户自动上下线实例并恢复配置。但是一些极端的情况,例如 SLB 实例被释放、SLB 实例到期等, SAE 无法帮助用户恢复。这个时候可以查看网关关联的事件,对发生的问题进行初步的诊断。如果需要 SAE 产品的支持,可以随时提交工单进行询问。

6

较为复杂的诊断,可以通过服务器端抓包进行判断。SAE 同样提供了 Webshell 能力,支持在网页上对实例进行查看,详见文章如何利用 Webshell 诊断应用:
https://help.aliyun.com/document_detail/123414.html?spm=a2c4g.11186623.6.646.56587e42nZOLUI

成本核算

单个网关每日参考价格是 0.48 元(按 SLB 独享简约型,按量付费模式,国内 region ),目前已支持 HTTP/HTTPS 协议接入。自建 Nginx 网关方案和 SAE&SLB 具体的成本分析如下:

QzpcVXNlcnNcd2Itd3h5NTg0MzIzXEFwcERhdGFcUm9hbWluZ1xEaW5nVGFsa1w2ODY4MzMyNzFfdjJcSW1hZ2VGaWxlc1wxNTg1MjczOTEwNDI1Xzg1QThFMTlELUFFMDktNDEwNS05MzA0LTc2MDFFNUNGMUFEQS5wbmc_

从上面的分析对比可以看出, SAEHttp 网关相比自建 Nginx 网关有显著的成本优势,同时还降低了网关的运维复杂度,推荐客户使用。

作者信息:落语,和通数据库分布式应用服务开发工程师。

相关内容