從上個月AWS服務(wù)器宕機事件中,我們應(yīng)該可以看出,只有一個云是不夠的。所以筆者現(xiàn)在希望討論一個稍遠(yuǎn)一點兒的話題,關(guān)于如何更好地完成云轉(zhuǎn)型,而避免孤注一擲。
除了防止宕機事件對你造成過大的影響之外,你也應(yīng)該知道,任何擁有你的數(shù)據(jù)的供應(yīng)商,都會想方設(shè)法榨取這段合作關(guān)系中的最大利益,他們絕對不希望你從他們的云中撤離。“戰(zhàn)略撤退”有時候也是一段業(yè)務(wù)關(guān)系中最重要的部分,以下是筆者的一些建議。(已經(jīng)根據(jù)云的類型進(jìn)行了分類)
適用于IaaS
1、使用Docker或一個類似的解決方案。你應(yīng)該擁有可浮動的容器,讓你能夠在突發(fā)情況下進(jìn)行重建和部署。這是一個非常關(guān)鍵的應(yīng)急辦法,讓你能夠避免被供應(yīng)商“捆綁”。
2、避免直接進(jìn)行數(shù)據(jù)庫集成。是的,你的App需要一個存儲空間,但是兩個App不應(yīng)該訪問同一個操作存儲區(qū)。這種類型的連接和協(xié)議更像是建了一棟紙牌搭的屋子,很不牢靠。在你移動數(shù)據(jù)庫之前,無法移動任何其中的任何東西——當(dāng)然,如果你按照正常流程處理,不會有什么大問題。與之相反的,你就會在一個非常讓人頭疼情況中結(jié)尾。
適用于IaaS/PaaS
3、實施API/REST集成。Rest架構(gòu)能讓你更容易通過HTTPS進(jìn)行連接、制定標(biāo)準(zhǔn)和更容易重新定位的網(wǎng)絡(luò)電話。
4、外部化配置。不要將方案、服務(wù)器或域名硬式編碼到你的URL中,其他與環(huán)境有關(guān)的都應(yīng)被外部化。
5、使用常見的API。如果你正在使用NodeJS、Express或其他類似的著名API,那么你就是安全的,不必?fù)?dān)心供應(yīng)商“捆綁”的問題。而如果你開始使用平臺提供的服務(wù),那么你就有大麻煩了。
適用于SaaS
6、確保有一個標(biāo)準(zhǔn)的數(shù)據(jù)導(dǎo)出步驟。這里的意思是,你能輕松地將數(shù)據(jù)導(dǎo)入另一個系統(tǒng)。
7、測試數(shù)據(jù)導(dǎo)出步驟。理論上他們不太有可能會讓你抓取數(shù)據(jù)的轉(zhuǎn)儲,筆者曾經(jīng)見過提供這種功能的供應(yīng)商,但實際上轉(zhuǎn)儲功能并沒有按照合理的時間表進(jìn)行工作,而且那時的數(shù)據(jù)已經(jīng)成為了垃圾。
8、傾向于著名的解決方案,穩(wěn)固Rest API。事實上,你無法一次性完成轉(zhuǎn)儲、導(dǎo)入和移動的工作。你可能需要一些定制的中間代碼,在你抓取和傳輸?shù)奈恢谩?/p>
適用于關(guān)于云的任何方面
9、傾向于開源技術(shù)。如果你的核心技術(shù)、API和功能是由一個健康的開源項目提供的,那么在你需要脫離供應(yīng)商時,你就會有很多更好的機會。這里說的是架構(gòu)的選擇,舉個例子,你可以考慮用Kafka代替Kinesis。
10、避免依賴于看起來獨一無二的云供應(yīng)商技術(shù)。有時候你的架構(gòu)連結(jié)更多的是處理而不是編碼,這些傾向于漏入API調(diào)用或其他操作管理程序。例如,也許你不使用AWS的Elastic Map Reduce,不過坦白來說它不是最好的財務(wù)分析產(chǎn)品,而且多少有點兒古怪。它與你曾使用過的任何云平臺都不相同,從這方面來說,你或許不該選擇它。
11、使用固定的IP和DNS名稱,并綁定到你的公司,而不是供應(yīng)商。使用一個IP和DNS名稱一定程度上是互聯(lián)網(wǎng)101。虛擬主機失靈重啟并產(chǎn)生一個新的IP,這樣不是很有彈性,更不用說重定位了。
12、盡可能地使用信息傳遞。如果你能夠在信息基礎(chǔ)上做得更多,那么服務(wù)的宕機就能在一定程度上接受了。這意味著,當(dāng)你選擇移動云服務(wù)時,仍可以在其他的地方繼續(xù)運行你的業(yè)務(wù)。
13、選擇兩個云。正如筆者之前所說,如果你一開始就選擇了至少兩個云供應(yīng)商,那么在移出時就會更簡單。在SaaS中可能會有點困難,但是在IaaS/PaaS中可操作性很強。
總的來說,你至少應(yīng)該傾向于開源、開放標(biāo)準(zhǔn)和開放API的特定供應(yīng)商解決方案。使用微服務(wù)架構(gòu)或至少符合其原則。始終保持你的撤退戰(zhàn)略,你就會與你的云供應(yīng)商擁有一個非常有利于自己的關(guān)系。記住,你的云供應(yīng)商永遠(yuǎn)會想著如何讓你離不開他們。