Claudia.js是一个可以把Node.js/Javascript 的Microservice
简单地部署到AWS Lambda的工具。
只要一行command就会帮你处理好AWS的IAM/Lambda的设定,
甚至是BOT的configuration,非常方便。
因为这个工具目前中文的介绍似乎还不多,
所以小的想抛砖引玉先来个简单的中文介绍如何使用Claudia制作FB机器人,
请版上各位年薪千万的大大们鞭小力一点。
Blog无广告音乐好读版
http://kaoruiscoding.blogspot.tw/2016/12/claudiajsfacebook.html
以前我们常常会需要一些Web Service帮我们处理一些简单的GET/POST,
这些Web Service可能很简单并不复杂,甚至不需要UI,
不过它总是需要一个host来立足,于是你可能就必须要找一台主机,
如果是Windows的话还要有IIS
(然后忍受IIS偶尔的冲康跟无止尽的windows update)
所以当AWS推出了Lambda,身为一个Infra暴弱的Dev,真的会要给AWS一个大大的赞!
这才是真正的SASS精神啊。毕竟我们不需要为了喝牛奶而去养一头牛你说是吧。
Lamdba让程式开发人员可以专心的在程式的逻辑上面,
将每个function独立出来计费可以让阮囊羞涩的独立开发者与startup
不需要负担主机的维运费用,
并且有精美的dashboard可以统计各个function的状态,真的是非~常~的美好。
BUT,这世界上总是有个BUT,Lambda要写python/node.js方便是方便,
不过在部署的时候还是得设定IAM的Role,function才能正常运行。
如果是AWS的菜鸟(尤其是Infra跟我一样爆烂的)看到IAM的设定应该会很茫然。
于是现在就有很多Lambda的部署工具,比方说Python用的Kappa,
以及现在我想介绍的Claudia.js。
Claudia.js其实就是用AWS的Node.js framework将Lamdba的部署自动化,
IAM以及Lambda的设定都在Claudia.js当中完成。
之后如果要更新code,也只要一个指令就能完成,
而且不需要登入AWS Console,是不是很方便啊。
以下就来介绍怎么透过Claudia.js自动部署microservice
并在Facebook上面做一个机器人。
首先你必须要申请一个AWS帐号(不然你是要部署到哪里去),
在此就不赘述如何申请了。
设定环境
因为Claudia.js是用来Deploy Node.js的microservice,
所以你的电脑也要装Node.js(这不是废话吗)
Node.js默认就有npm(Node.js的package管理工具)因此以下会提到npm指令,
但不需要另外安装。
安装Node.js
Windows版
Command:
sudo curl http://nvm-latest.herokuapp.com | bash
手动安装:到官网安装最新版的Node.js
安装完后在Command line工具中执行
node -v
就可以检查Node.js是否正确安装。
Mac版
虽然Mac的Homebrew好用到令人流泪,但因为node.js版本更新非常快速,
因此推荐使用nvm安装。透过nvm安装Node可以很简单的轻松切换Node.js版本。
如果你有安装XCode,可以透过XCode来安装nvm
$ xcode-select