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