隨著云計(jì)算的廣泛采用,企業(yè)變得比以往更具活力。如今,許多公司的業(yè)務(wù)正在向云計(jì)算遷移。選擇云提供商幾乎總是確保長(zhǎng)期供應(yīng)商鎖定。無(wú)論是工程師很難對(duì)應(yīng)用層進(jìn)行適當(dāng)?shù)某橄蠛透爬ǎ蛘邞?yīng)用程序數(shù)據(jù)的大小使得遷移變得困難,企業(yè)將IT系統(tǒng)遷移到云端都是一項(xiàng)非常具有挑戰(zhàn)性的任務(wù)。
進(jìn)行定期代碼審核,減輕不當(dāng)?shù)某橄髥?wèn)題
在新環(huán)境中抽象失敗是向云遷移過(guò)程中面臨的最大挑戰(zhàn)之一。通常,應(yīng)用程序的體系結(jié)構(gòu)取決于其下面的一些本地化API,這在大規(guī)模運(yùn)行的系統(tǒng)中特別常見(jiàn),因?yàn)樘囟ǖ膯?wèn)題只能在一定的規(guī)模中才能看得見(jiàn)。工程團(tuán)隊(duì)經(jīng)常使用一些類似黑客的程序和補(bǔ)丁來(lái)修復(fù)系統(tǒng),但是黑客會(huì)在系統(tǒng)遷移過(guò)程中進(jìn)行攻擊。定期代碼審核在一定程度上有助于減輕這些問(wèn)題。
復(fù)雜設(shè)置和應(yīng)用程序需人工干預(yù)部署
所有的現(xiàn)代持續(xù)集成和持續(xù)交付(CI/CD平臺(tái)都支持多個(gè)云提供商,但這還不夠。具有復(fù)雜設(shè)置和啟動(dòng)過(guò)程的應(yīng)用程序通常需要人工干預(yù)部署。近幾年來(lái),這一點(diǎn)通過(guò)使用Puppet,Chef和Ansible等工具在很大程度上可以實(shí)現(xiàn)自動(dòng)化。但是這種自動(dòng)化通常與供應(yīng)商特定的API聯(lián)系在一起,這些API需要配置,監(jiān)控和拆卸服務(wù)器。但是,除非工程團(tuán)隊(duì)花時(shí)間自己構(gòu)建,否則這些API不適合小型的本地?cái)?shù)據(jù)中心。
遷移之后,可能還需對(duì)應(yīng)用程序重新架構(gòu)
現(xiàn)代應(yīng)用程序分布在多個(gè)不同區(qū)域的多個(gè)數(shù)據(jù)中心。這是遷移到基于云計(jì)算的部署的主要好處之一。企業(yè)正在逐漸從單一的應(yīng)用程序基礎(chǔ)轉(zhuǎn)變?yōu)榛谖⒎⻊?wù)的方法。一個(gè)本地?cái)?shù)據(jù)中心遷移到多地點(diǎn)部署需要適當(dāng)?shù)刂匦聵?gòu)建應(yīng)用程序。這意味著除了開(kāi)發(fā)新版本之外,工程團(tuán)隊(duì)還必須關(guān)心現(xiàn)有的安裝情況。遷移系統(tǒng)的關(guān)鍵部分經(jīng)常會(huì)導(dǎo)致停機(jī),新的部署仍然不能保證在首次運(yùn)行中取得成功。建議在出現(xiàn)問(wèn)題時(shí)對(duì)原有部署進(jìn)行故障切換,以防出錯(cuò)。大型遷移可能需要幾個(gè)月的時(shí)間才能完成,并可能需要額外的員工來(lái)完成。
海量數(shù)據(jù)的傳輸問(wèn)題
想象一下,必須將大型移動(dòng)社交應(yīng)用的業(yè)務(wù)在云平臺(tái)間實(shí)現(xiàn)遷移,傳輸這些海量的圖像本身就是一項(xiàng)艱巨的任務(wù)。是物理運(yùn)送數(shù)據(jù),還是將數(shù)據(jù)上傳到云計(jì)算提供商,這個(gè)問(wèn)題不是取決于正在遷移的系統(tǒng)類型,因此不能通過(guò)僅僅改變架構(gòu)來(lái)緩解。有時(shí),新產(chǎn)品轉(zhuǎn)移到新的云計(jì)算提供商或從云端遷移到自我托管的設(shè)置,以利用已經(jīng)購(gòu)買(mǎi)的合同或硬件。