既然無法避免被GAE鎖定,何不考慮其中的機(jī)遇并自力更生
多數(shù)用戶都很反感被服務(wù)提供商綁定,目前許多開發(fā)者就在反映Google App Engine (GAE)是一個(gè)專有平臺(tái),自己被GAE平臺(tái)綁定了。7月9日Google工程總監(jiān)Peter Magnusson在其Google+頁面上就這一問題進(jìn)行了回應(yīng),他認(rèn)為一個(gè)云平臺(tái)必然會(huì)在一定程度上綁定用戶。
GAE的運(yùn)行環(huán)境中,某些系統(tǒng)調(diào)用不能用,文件系統(tǒng)不能直接寫入,不能選擇操作系統(tǒng),不能隨意監(jiān)聽網(wǎng)絡(luò)端口等等有諸多不便。在其它平臺(tái)里可能沒有這些不便,但是這些限制都是有原因的:
軟件總是建立在硬件和其它軟件的基礎(chǔ)之上。不管抽象性有多好,在某種程度上這些硬件和軟件都會(huì)影響到你的軟件開發(fā)。GAE的設(shè)計(jì)原則是通用的——結(jié)構(gòu)化你的代碼,從而做到快速響應(yīng)請(qǐng)求,將運(yùn)行時(shí)間較長的任務(wù)放到隊(duì)列模型中,將數(shù)據(jù)按壽命長短區(qū)分開來,壽命較短的數(shù)據(jù)放到緩存中,壽命較長的數(shù)據(jù)用鍵值對(duì)存儲(chǔ)。
不要假設(shè)本地文件系統(tǒng),因?yàn)樗鼈償U(kuò)展性不好而且經(jīng)常失敗,不要做針對(duì)特定版本操作系統(tǒng)和庫的硬編碼等等。想要實(shí)現(xiàn)一個(gè)可擴(kuò)展、可靠、高效和易于維護(hù)的系統(tǒng),這些都是重要原則。GAE的使用者也希望我們可以憑借其底層軟件系統(tǒng)提供更多的服務(wù)特性。
Magnusson認(rèn)為對(duì)于大多數(shù)移動(dòng)App和Web App,GAE上的實(shí)例可以快速開始,也可以快速擴(kuò)展。Google可以管理這些擴(kuò)展,還可以解決數(shù)據(jù)需要遷移到其它數(shù)據(jù)中心時(shí)出現(xiàn)的問題。
Magnusson談?wù)摰闹攸c(diǎn)是Google App Engine (GAE)的用戶綁定問題,同時(shí)他也說明了Google App Engine (GAE)與其他云平臺(tái)之間在管理服務(wù)和IaaS上的不同。如果沒有這些限制,Google的某些服務(wù)是無法租到的。但他們一直在試圖提供可替代性的服務(wù),并且每個(gè)GAE組件都是可替代的。
ThinkJar的創(chuàng)始人兼首席分析師Esteban Kolsky認(rèn)為,最小化的綁定意味著一個(gè)開放的標(biāo)準(zhǔn),但是在云計(jì)算市場的早期階段,這還不能實(shí)現(xiàn)。
理論上來講,如果使用共同的標(biāo)準(zhǔn),就不存在綁定,有幾個(gè)組織就在在嘗試使用這種共同的標(biāo)準(zhǔn)。
對(duì)用戶的綁定可以最大化供應(yīng)商的利益,否則用戶很容易遷移到其它平臺(tái),也很難預(yù)測收入。如果他們的收費(fèi)模式是pay-as-you-go/rent/use,那么用戶綁定根本不存在。因?yàn)樽庥脩?yīng)該意味著你可以從多個(gè)供應(yīng)商那里去租用才對(duì),而不是只能被鎖定在一個(gè)平臺(tái)。
Magnusson也承認(rèn)這一點(diǎn),但他認(rèn)為在這個(gè)階段談這個(gè)開放的標(biāo)準(zhǔn)還為時(shí)尚早。只要云服務(wù)提供商不提供平臺(tái)間互操作性的支持,即使對(duì)于經(jīng)驗(yàn)豐富的開發(fā)者來說,在平臺(tái)間遷移數(shù)據(jù)和App的工作也有很大的難度。
巴菲特告訴我們要在別人恐懼的時(shí)候?qū)W會(huì)貪婪,從這個(gè)角度講,如果你的技術(shù)夠牛,提供平臺(tái)遷移的服務(wù),或許是個(gè)不錯(cuò)的創(chuàng)業(yè)機(jī)會(huì)。