2022-10-09 分類: 網(wǎng)站建設(shè)
如今,很多企業(yè)都在將他們的應(yīng)用程序遷移到云端。將應(yīng)用程序遷移到云端很容易,但如果需要遷移現(xiàn)有的基礎(chǔ)設(shè)施怎么辦?可以在云平臺(tái)中重新創(chuàng)建網(wǎng)絡(luò),實(shí)現(xiàn)架構(gòu)現(xiàn)代化,企業(yè)可以利用AWS等云計(jì)算提供商的諸多優(yōu)勢(shì)。
是什么讓云計(jì)算如此有用?
在最基本的形式中,“云”就是基礎(chǔ)設(shè)施即服務(wù),允許企業(yè)租用硬件來(lái)運(yùn)行其應(yīng)用程序。許多企業(yè)通過(guò)自己的內(nèi)部部署服務(wù)器運(yùn)行他們的網(wǎng)絡(luò),從第三方租用服務(wù)器可以提供更大的靈活性,并可根據(jù)需要進(jìn)行擴(kuò)展。
然而,AWS、谷歌云平臺(tái)和微軟Azure等主要云計(jì)算提供商提供的不僅僅是服務(wù)器。他們的業(yè)務(wù)是提高運(yùn)營(yíng)效率,并為開(kāi)發(fā)人員提供易于使用的工具,使構(gòu)建應(yīng)用程序變得更加容易。
例如,在云平臺(tái)中運(yùn)行服務(wù)器實(shí)際上可以為企業(yè)節(jié)省更多的成本。雖然專用服務(wù)器的成本會(huì)更昂貴,但像AWS公司這樣的云計(jì)算提供商擁有先進(jìn)的自動(dòng)擴(kuò)展系統(tǒng)。這些使企業(yè)可以完全自動(dòng)化其服務(wù)器生命周期過(guò)程,隨著需求波動(dòng)創(chuàng)建和關(guān)閉服務(wù)器資源(通常一天多次)。企業(yè)可以在非工作時(shí)間縮減規(guī)模,從而節(jié)省總體成本,而不是為峰值容量付費(fèi)。
設(shè)置自動(dòng)擴(kuò)展還允許企業(yè)在遇到更高負(fù)載時(shí)自動(dòng)創(chuàng)建其他服務(wù)器。這使企業(yè)的網(wǎng)絡(luò)具有高度可擴(kuò)展性,并且意味著企業(yè)不會(huì)因高流量而真正遇到停機(jī)。這種可擴(kuò)展的功能適用于所有服務(wù)。例如,AWS公司開(kāi)箱即用的Lambda函數(shù)可以無(wú)限擴(kuò)展。他們的系統(tǒng)為企業(yè)處理和運(yùn)行代碼;無(wú)論每秒調(diào)用多少次函數(shù),它都不會(huì)出現(xiàn)瓶頸。
云計(jì)算還通過(guò)任務(wù)自動(dòng)化來(lái)節(jié)省成本。例如,AWS的關(guān)系數(shù)據(jù)庫(kù)服務(wù)(RDS)是一項(xiàng)完全托管的SQL服務(wù),可以自動(dòng)執(zhí)行許多管理數(shù)據(jù)庫(kù)的工作。企業(yè)可能已經(jīng)通過(guò)自己的服務(wù)器完成這些任務(wù);如果使用AWS RDS,則可以管理更多數(shù)據(jù)庫(kù)并更有效地利用剩余時(shí)間。
最后,云計(jì)算基礎(chǔ)設(shè)施通常比內(nèi)部部署解決方案更耐用。這主要是由于像S3存儲(chǔ)這樣的服務(wù)對(duì)于數(shù)據(jù)存儲(chǔ)來(lái)說(shuō)是非常冗余的,但它也適用于高可用性網(wǎng)絡(luò)設(shè)計(jì)。故障轉(zhuǎn)移情況的設(shè)計(jì)很容易,在發(fā)生硬件故障時(shí),備份服務(wù)器可以接管。而且在最壞的情況下,備份網(wǎng)絡(luò)中的所有內(nèi)容都非常容易,因?yàn)闉榉?wù)器存儲(chǔ)提供動(dòng)力的EBS等服務(wù)可以配置為自動(dòng)備份到S3存儲(chǔ)設(shè)施中。
例如,AWS公司的DNS服務(wù)Route 53支持運(yùn)行狀況檢查,如果服務(wù)器無(wú)響應(yīng),它會(huì)監(jiān)控企業(yè)的硬件并在DNS級(jí)別自動(dòng)切換流量。自動(dòng)擴(kuò)展還支持運(yùn)行狀況的檢查,并且可以在服務(wù)器出現(xiàn)問(wèn)題時(shí)完全終止和替換它。
使用云計(jì)算解決方案實(shí)現(xiàn)架構(gòu)現(xiàn)代化遷移到云平臺(tái)是一大步,有了提供給企業(yè)的其他工具,就有充分的理由檢查其架構(gòu),可以了解哪一部分是否可以從設(shè)計(jì)更改中受益。
例如,許多傳統(tǒng)的應(yīng)用程序被設(shè)計(jì)為一個(gè)“單體”,即打包成一個(gè)可以在服務(wù)器上運(yùn)行的大程序。該程序可能與內(nèi)部部署或遠(yuǎn)程數(shù)據(jù)庫(kù)通信、處理傳入的Web請(qǐng)求、執(zhí)行查詢、查找信息、處理隊(duì)列,以及企業(yè)的用例所需的所有其他內(nèi)容。
這對(duì)于應(yīng)用程序的快速啟動(dòng)和運(yùn)行是有好處的,但最終帶來(lái)一個(gè)問(wèn)題——效率不高。只要它試圖同時(shí)處理許多復(fù)雜的任務(wù),大型單體應(yīng)用程序的某個(gè)方面總會(huì)成為應(yīng)用程序其余部分的瓶頸。通常情況下,企業(yè)會(huì)被迫擴(kuò)大規(guī)模,配置更多服務(wù)器,運(yùn)行更多實(shí)例。如果程序中的其他組件沒(méi)有受到那么大的壓力,這可能會(huì)導(dǎo)致浪費(fèi)。
因此,許多工程師正在轉(zhuǎn)向的解決方案是“微服務(wù)”。 這些服務(wù)是單獨(dú)的,每個(gè)服務(wù)都有一個(gè)明確的固定目標(biāo)?;蛟S企業(yè)的Web應(yīng)用程序的一個(gè)元素處理視頻,相比之下,當(dāng)用戶上傳更大的視頻時(shí),它的壓力更大。企業(yè)可以將這一部分轉(zhuǎn)移到微服務(wù)中,在外部處理它,并在需要時(shí)簡(jiǎn)單地調(diào)用它?,F(xiàn)在,該組件可以完全自行擴(kuò)展;企業(yè)可能需要三臺(tái)服務(wù)器運(yùn)行視頻處理服務(wù),但只有兩臺(tái)服務(wù)器運(yùn)行應(yīng)用程序的其余部分。這樣可以更有效地利用企業(yè)的資源,并且在總體上是一種更具可擴(kuò)展性的設(shè)計(jì)。
企業(yè)應(yīng)該考慮采用哪些服務(wù)?無(wú)論企業(yè)是否選擇微服務(wù)設(shè)計(jì),其他云計(jì)算解決方案都非常有用。
以下將討論AWS公司提供的一些服務(wù),因?yàn)樵摴臼窃朴?jì)算行業(yè)的領(lǐng)導(dǎo)者,尤其是在提供的服務(wù)數(shù)量方面。但是,大多數(shù)主要云服務(wù)提供商都提供了類似的產(chǎn)品。
(1) 云對(duì)象存儲(chǔ)(S3)
大多數(shù)內(nèi)部部署解決方案使用塊級(jí)存儲(chǔ),這意味著對(duì)象作為文件存儲(chǔ)在磁盤上,并通過(guò)網(wǎng)絡(luò)提供。但是,AWS等云計(jì)算提供商的規(guī)模允許在其簡(jiǎn)單存儲(chǔ)服務(wù)(S3)中存儲(chǔ)大量文件。
S3沒(méi)有采用傳統(tǒng)的文件夾,盡管它們確實(shí)有對(duì)象鍵,它們的工作方式大多與S3類似。S3不提供對(duì)底層驅(qū)動(dòng)器的直接訪問(wèn),而是僅允許企業(yè)在云平臺(tái)中存儲(chǔ)具有名稱和位置的文件。就是這樣,但是這種簡(jiǎn)單的設(shè)計(jì)模式提供了極大的靈活性。
例如,假設(shè)企業(yè)的應(yīng)用程序允許用戶上傳的內(nèi)容。將圖像存儲(chǔ)在S3中將是一個(gè)很好的選擇,企業(yè)甚至可以使用AWS的CloudFront內(nèi)容交付網(wǎng)絡(luò)通過(guò)全球互聯(lián)網(wǎng)提供它們。
切換到基于S3的存儲(chǔ)是一個(gè)過(guò)程,但有混合解決方案,例如AWS的Storage Gateway。
(2) Cloud functions
像Lambda這樣的云計(jì)算功能非常有用,它們?cè)试S企業(yè)在云平臺(tái)中運(yùn)行代碼而無(wú)需考慮服務(wù)器。只需直接從AWS的API網(wǎng)關(guān)等API請(qǐng)求要執(zhí)行的函數(shù),它就會(huì)排隊(duì)并在Lambda服務(wù)器上運(yùn)行。
企業(yè)只需為函數(shù)使用的CPU秒數(shù)和內(nèi)存量支付費(fèi)用。不管調(diào)用多少函數(shù),它都會(huì)擴(kuò)展來(lái)處理它。
Cloud functions可以輕松地自動(dòng)執(zhí)行網(wǎng)絡(luò)中的簡(jiǎn)單任務(wù)。如果企業(yè)在其中一臺(tái)服務(wù)器上運(yùn)行cron作業(yè)腳本,需要考慮將其移至Lambda。當(dāng)然,Lambda不僅限于簡(jiǎn)單的腳本。它非常強(qiáng)大,可用于制作強(qiáng)大的應(yīng)用程序后端。
(3) 負(fù)載均衡器和自動(dòng)擴(kuò)展
負(fù)載平衡器是在服務(wù)器之間分配流量的網(wǎng)絡(luò)設(shè)備。傳統(tǒng)上,企業(yè)必須設(shè)置服務(wù)器并使用HAProxy之類的程序自己配置。在AWS云平臺(tái)上,它們內(nèi)置于網(wǎng)絡(luò)中,只需打開(kāi)它們并支付費(fèi)用即可。
自動(dòng)擴(kuò)展是建立在負(fù)載均衡器之上的另一項(xiàng)功能。企業(yè)的服務(wù)器列表不是靜態(tài)的,而是基于流量需求。將根據(jù)需要在資源池中添加和刪除服務(wù)器。
正如以上介紹的那樣,這有很多好處,但它也會(huì)對(duì)企業(yè)使用和更新網(wǎng)絡(luò)的方式產(chǎn)生深遠(yuǎn)的影響。因?yàn)槠髽I(yè)的服務(wù)器安裝過(guò)程是自動(dòng)化的,所以可以進(jìn)行藍(lán)/綠代碼部署,即通過(guò)創(chuàng)建全新的服務(wù)器來(lái)更新服務(wù)器,等待服務(wù)上線,并緩慢地將流量切換到它們以消除任何問(wèn)題。
如果可以確定的話,那就是自動(dòng)擴(kuò)展企業(yè)的主要EC2服務(wù)。
(4) 自動(dòng)化持續(xù)集成(CI)/持續(xù)交付(CD)管道
持續(xù)集成(CI)/持續(xù)交付(CD)是設(shè)置應(yīng)用程序自動(dòng)構(gòu)建的過(guò)程,只要企業(yè)對(duì)源代碼控制進(jìn)行更改,該應(yīng)用程序就會(huì)部署到服務(wù)器。
基本上,企業(yè)將提交推送到Github(或使用其他存儲(chǔ)庫(kù)),然后AWS CodePipeline之類的服務(wù)啟動(dòng)構(gòu)建服務(wù)器。該服務(wù)器構(gòu)建并測(cè)試應(yīng)用程序,如果成功,它將完成的構(gòu)建發(fā)送到企業(yè)的服務(wù)器進(jìn)行更新。如果設(shè)置了自動(dòng)擴(kuò)展,則可以通過(guò)藍(lán)/綠部署完成,并在必要時(shí)提供快速輕松回滾的選項(xiàng)。
(5)內(nèi)置內(nèi)容交付網(wǎng)絡(luò)(CDN)
企業(yè)擁有內(nèi)容交付網(wǎng)絡(luò)(CDN) 可以顯著加快交付時(shí)間。由于AWS是全球云計(jì)算巨頭,因此他們的內(nèi)容交付網(wǎng)絡(luò)(CDN) 在全球擁有邊緣節(jié)點(diǎn)。許多其他云計(jì)算提供商也有類似的解決方案;谷歌公司的內(nèi)容交付網(wǎng)絡(luò)(CDN) 是最快、最靈活的CDN之一,因?yàn)樵摴緦?shí)際上控制著構(gòu)成互聯(lián)網(wǎng)的許多基礎(chǔ)設(shè)施。
企業(yè)可以在不停機(jī)的情況下遷移嗎?遷移將是一個(gè)漫長(zhǎng)而復(fù)雜的過(guò)程,但這并不一定意味著延長(zhǎng)停機(jī)時(shí)間??赡軙?huì)有一些停機(jī)時(shí)間,但這一過(guò)程可以相當(dāng)無(wú)縫。
企業(yè)可以采用以下兩種策略中的一種:
第一種選擇是一次性移動(dòng)所有服務(wù)器并切換整個(gè)網(wǎng)絡(luò),或者將企業(yè)應(yīng)用程序的一部分移動(dòng)到云平臺(tái)中,然后更新應(yīng)用程序以使用新服務(wù)。
第二種選擇是采用混合方法,這是大多數(shù)大型企業(yè)的選擇,因?yàn)橹贿w移最有用的東西更具成本效益。AWS公司有許多服務(wù)通過(guò)將內(nèi)部部署硬件與云平臺(tái)集成來(lái)工作。
第一種選擇對(duì)于小型部署很容易,并且通過(guò)AWS公司的應(yīng)用程序遷移等服務(wù)變得更加簡(jiǎn)單,該服務(wù)可以將一組服務(wù)器快速移動(dòng)到EC2上。企業(yè)可能仍然需要代碼更新和配置,但它可以將企業(yè)的整個(gè)網(wǎng)絡(luò)移動(dòng)到一個(gè)測(cè)試環(huán)境中,可以在其中設(shè)置所有內(nèi)容,然后在準(zhǔn)備就緒時(shí)執(zhí)行切換。
無(wú)論哪種方式,遷移到云平臺(tái)對(duì)于企業(yè)來(lái)說(shuō)都是一個(gè)重大的決定,企業(yè)應(yīng)該確保經(jīng)過(guò)充分研究并制定明確的計(jì)劃。企業(yè)的具體設(shè)置會(huì)有很大的差異,因此需要研究要運(yùn)行的應(yīng)用程序類型的好實(shí)踐。
本文標(biāo)題:將應(yīng)用程序移動(dòng)到云端需要知道的事項(xiàng)
本文鏈接:http://jinyejixie.com/news47/203797.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、靜態(tài)網(wǎng)站、小程序開(kāi)發(fā)、App設(shè)計(jì)、定制網(wǎng)站、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容