阿里云的 Serverless 方案 - 函数计算服务

更新日期: 2019-08-03 阅读次数: 9791 字数: 769 分类: serverless

由于 Easy Mock 非常不稳定,我需要一个替代方案,来实现简单的后台数据接口。

突然想起 阿里云的函数计算服务 , 打开阿里云首页之后,在顶部搜索栏搜索“函数计算”

感觉还挺适合的,于是测试了一下。

阿里云的 Serverless 方案 - 函数计算服务

其他云服务厂商也都提供了类似的功能,例如,亚马逊 AWS 的 Lambda。

阿里云函数计算介绍

  • 无需购买服务器
  • 无需购买域名
  • 无需操心服务器空转还费钱
  • 按量计费,自动扩容

对于很多试错性的产品,例如,突然有个点子,想开发一个 Android APP,或者微信小程序,或者 Windows UWP APP,为其单独部署一个后台用来拉取动态数据实际上非常不合算。

你想想,这需要繁琐的一堆操作

  • 新建一个二级域
  • 配置 Nginx
  • 为新域名设置 HTTPS 证书
  • 部署一套后台代码。用 PHP 还好,其他的还需要一堆额外内存占用。

然后才能开始写逻辑。。。基本这一套下来,我已经没心情写 App 了。

这种情况下,使用阿里云函数计算就非常便捷,新建一个函数,加上一堆测试数据,里面看到效果。而操作起来实际上,5分钟都用不了。

然后,就可以赶紧发布 APP,上线看初版效果了

  • 如果有人愿意用,并且有流量了,再换成传统的服务端框架的方案也不迟。
  • 如果没有什么流量,那就放在那里就好了,反正没人用,就不会产生调用,也就不会产生额外的费用。

以 Python Flask 为例

新建函数,选择 flask-web 模板

阿里云的 Serverless 方案 - 函数计算服务

随意起个名字

阿里云的 Serverless 方案 - 函数计算服务

将函数执行内存调小为 128M

阿里云的 Serverless 方案 - 函数计算服务

创建函数。

将代码修改为

@app.route('/', methods=['GET', 'POST'])
def home():
    data = {
        'version1': '1.0.0',
        'version2': '2.0.0',
    }
    return json.dumps(data)

测试一下函数计算的接口返回

阿里云的 Serverless 方案 - 函数计算服务

在触发器页面复制 URL,在本地终端测试一下

> curl https://xxx.cn-shanghai.fc.aliyuncs.com/xxx/proxy/test/test1/
{"version1": "1.0.0", "version2": "2.0.0"}⏎

费用/价格

总费用由三部分构成:

  • 调用次数费用:每月前 100 万次函数调用免费
  • 执行时间费用:每月前 400000(GB*秒) 费用免费
  • 公网流量费用: 0.80 元/GB

这是什么概念呢?看一下实际调用时,资源的损耗

阿里云的 Serverless 方案 - 函数计算服务

所以,没有多少流量的时候,费用基本为零。

触发器

一些典型的触发器

https://help.aliyun.com/document_detail/74707.html

  • OSS 事件触发器
  • HTTP 触发器
  • 定时触发器
  • MNS 主题触发器
  • Table Store触发器
  • RDS 触发器
  • CDN 事件触发器
  • SLS 触发器
  • API 网关触发器
  • Datahub 触发器
  • IoT 触发器

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式