目录
简介
无服务架构现在已经成为网络应用服务的趋势,较流行的有AWS的Lambda和阿里云的函数计算,它的职能是将开发人员从繁琐的部署作业中解脱出来,简化大型应用场景的部署任务,使开发者专注于业务开发和迭代。它最大的优点是冷启动,弹性扩容,调用计费。
- 冷启动
- 用户首次访问的时候才会实例化服务
- 没有任何用户访问的时候,它不运行,不占用服务器资源
- 弹性扩容
- 服务实例随着访问量减少,或者增加
- 量大的时候自动扩容,增加实例流量阻塞
- 量小的时候自动缩容,释放无用实例资源
- 调用计费
- 服务进行产出的时候才计算费用,否则不计算
- 间接降低的投入生产的费用
这篇文章,带你认识阿里云的函数计算。
前提:
- 本文在ubuntu虚拟机下进行,新手请参考《如何在Window搭建ubuntu虚拟机》
- 本文使用到了XShell工具进行与虚拟机的交互,新手请参考《如何使用XShell连接虚拟机》
- 以Python函数计算工程为例
什么产品适合使用函数计算
- Web应用
- 交付型任务处理(图像处理,音频处理,AI型交付任务,大数据分析等)
总的来说非及时性交付的任务或者应用都可以使用函数计算。及时交付的应用或任务,如游戏服务器,要马上对用户的输入做出反应,就不适合用函数计算。
入门阿里云函数计算
使用阿里云函数计算非常的简单,只需要四个步骤:
- 在虚拟机中安装工具 Funcraft
- 在虚拟机中安装工具 Docker
- 使用Funcraft创建Fun工程
- 发布Fun工程到云端
在虚拟机中安装Funcraft
安装Funcraft
官网文档:https://help.aliyun.com/document_detail/161136.html?spm=a2c4g.11186623.6.800.67022714hsp068
下载地址:https://github.com/alibaba/funcraft/releases?spm=a2c4g.11186623.2.16.78cd1579shxFlc
Funcraft命令行工具是阿里云官方为函数函数计算推出的开发辅助工具,它可以用来创建,调试,发布工程
- 首先下载fun-v3.6.19-linux.zip到本地
- 使用XShell 连接虚拟机
3. 4.
5. 6.
配置Funcraft
官网文档:https://help.aliyun.com/document_detail/146702.html?spm=a2c4g.11186623.6.801.78cd1579shxFlc
配置Funcraft时,需要登录阿里云,查看主账号ID,并生成AcceseKey。
1. 2.
3. 4.
到这里就配置完毕了,阿里云Funcraft,就配置完毕了
在虚拟机中安装Docker
安装Docker就下面三句命令
了解更多参考:https://blog.youkuaiyun.com/fei2636/article/details/79384969
# 安装docker
sudo apt-get install -y docker.io
#等待安装完毕,现在我们使用下面的命令启动 Docker:
systemctl start docker
#运行系统引导时启用 docker,命令:
systemctl enable docker
#你可能想核对一下 docker 版本:
docker version
为当前用户分配访问Docker的权限:
了解更多参考:https://blog.youkuaiyun.com/luckytonyzhang/article/details/89059415
#将当前用户加入到docker组中
sudo gpasswd -a taiyan docker
#将当前用户切换到docker组中
newgrp - docker
到此Docker的配置就完毕了
使用Funcraft创建Fun工程
1. 2.
3. 4.
5. 6.
安装第三方依赖库
官方文档:https://help.aliyun.com/document_detail/186963.html?spm=a2c4g.11186623.6.806.35e129dcTKmwfw
这样的话运行时需要安装的第三方依赖库就完成了
发布Fun工程到云端
发布工程超级简单
1. 2.
3.
4.
5.
6.
函数已经执行成功了,说明成功的加载了第三方依赖库
总结
阿里云的函数计算挺简单,两个工具要装全,一个Docker一个Fun,还得给他们配权限。
创建工程是init,依赖库用Funfile,最后build && deploy 就上传,日常开发嘛,该咋办就咋办