CloudMonad 是一個(gè)無(wú)需懂得編輯技術(shù)就可以讓用戶像拼接樂(lè)高積木一樣,通過(guò)Web界面組合各種預(yù)定義配件實(shí)現(xiàn)特定功能的云服務(wù),通過(guò)該服務(wù)可實(shí)現(xiàn)Feed、Spec和Action三種功能,有了這三種功能用戶就能實(shí)現(xiàn)很多私人化的優(yōu)質(zhì)服務(wù)。
CloudMonad主要有3個(gè)模塊:Feed,Spec和Action。
1.Feed是數(shù)據(jù)輸入源,由定時(shí)執(zhí)行的爬蟲或者微信消息等第三方部件持續(xù)提供。
2.Spec是對(duì)數(shù)據(jù)源數(shù)據(jù)的檢測(cè),符合特定條件后觸發(fā)后續(xù)Action,否則靜默處理。
3.Action是最終執(zhí)行動(dòng)作,其輸入由觸發(fā)該Action的Feed提供,完成某一特定任務(wù)。
組合這3個(gè)模塊,可以實(shí)現(xiàn)各種有意思的功能,比如:
例1:微信消息Kindle推送;
例2:利用搜狗微信搜索監(jiān)控公眾號(hào)文章更新并推送到Kindle;
例3:微信分享鏈接推送到RSS源;
例4:京東價(jià)格變化微信通知;
例5:使用FetchUrl實(shí)現(xiàn)將任意網(wǎng)站作為輸入源;
例6:12306車票購(gòu)買;
例7:微信公眾號(hào)自動(dòng)發(fā)文;
例8:利用RestApi Action實(shí)現(xiàn)方糖微信通知;
例9:針對(duì)淘寶商品特定套餐的價(jià)格變化監(jiān)控。
這些功能只是CloudMonad的應(yīng)用示例,它們都是通過(guò)一個(gè)Serverless的Web應(yīng)用頁(yè)面用Json配置生成,新增功能對(duì)后端完全透明。
loudMonad 用了多種云資源:
包括一個(gè)整合了阿里云MNS和亞馬遜SQS雙備份的 CloudQueue 用于任務(wù)分發(fā)。LeanCloud數(shù)據(jù)庫(kù)配合阿里云OSS用于前后端通信。IBM 的openwhisk ,亞馬遜的Lambda, DigitalOcean 按需使用的虛擬主機(jī)用于動(dòng)態(tài)調(diào)整資源。
目前整個(gè) CloudMonad 系統(tǒng)的硬性支出只有一臺(tái)阿里云最低配虛擬主機(jī),其他資源都是按需使用的,那臺(tái)阿里云虛擬機(jī)上運(yùn)行著一個(gè)Akka node用于協(xié)調(diào)資源,用戶管理等工作,具體的臟活都外包給其他云服務(wù)執(zhí)行。
就像IFTTT創(chuàng)始人Tibbets說(shuō)的:「我們始終認(rèn)為人們應(yīng)該具備一種與生俱來(lái)的信念。萬(wàn)事皆在我掌控而并非被萬(wàn)事所囚籠,正是為了貫徹這個(gè)信念我們才啟動(dòng)了這個(gè)項(xiàng)目?!?,這也是我做CloudMonad的初衷,它像你在互聯(lián)網(wǎng)上的代理,幫你遍歷網(wǎng)站,檢查更新,執(zhí)行命令,讓互聯(lián)網(wǎng)變成一個(gè)為你服務(wù)的大程序。