Section A
Faas,也就是提供函数的云计算服务,一个函数就是一个最基本的运算单元,而函数是做什么用的,相信大家都是知道的。
f(x) = x
这就是最简单的函数,而Faas也就是提供这种服务的东西,最初关注Faas时候,有AWS的Lambda计算,AWS是个好东西,但是依托于AWS的服务在国内并不是那么可靠的,所以Naive(Native)的解决方案显然更加符合我国的国情。
Section B
函数计算有几个显著的有点是值得称道的,那就是无需管理服务器基础设施,只需要编写代码片段上传就可以使,函数计算所依托的云会自动分配资源,以弹性可靠的方式运行。当然最值得称道的应该就是可以使用任意语言来编写代码片段,这就为整个业务场景提供了更多的可能,当然会有一些管理或者流程上的问题,但是我并不会去讨论这些东西。
Section C
之前暗中观察了几个函数计算的平台,AWS也好,还是 Serverless ,其实这些并不符合我的需求,知道我昨天在Github Discovery上面关注到一个fnproject,试用之后,确实能够让我很愉快的接受这个框架。(尽管处于早期的状态,但是相关配套的设施还算是齐全)
Section D
使用Fn的一些基础姿势(你需要提前装好 Docker,当然这个现在很好装,还有安装包呢。)
brew install fn
fn start
上面两个命令就是安装 fn 的 CLI tool,然后启动一个 fn server,当然这个 server 你可以是一个别的机器,或者数据中心。
fn run
fn deploy --app fn-app --local
fn run
其实是一个让你能方便在本地运行函数的命令,第二个就是,你把这个函数部署到别的地方,这里是部署到了本地的 fn server,因为你可以看到 --local
的 flag。这样你新部署的函数可以用很多种方式调用,一种就是 fn call fn-app func1
和 在浏览器访问 localhost:8080/r/fn-app/func1
(或者Postman),这样可以让你方便的提交参数。
Section E
现有云计算服务其实提供了比较可靠的服务的,所以Faas依托的就是全云端的方式去构建一个App,甚至你不需要一个真的自己的服务器,比较大家都是SPA啦,在OSS上面可以放个index.html和index.js这样就可以 run 起来一个网站咯。
Section F
其实之前比较喜欢的开发方式就是LeanCloud的云引擎了,SDK也封装了一些基础的CRUD的操作,同时封装了对于Cloud Function的调用,虽然其实大家都知道可以用 url 的形式访问。