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