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