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