成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

將應用程序遷移到容器的五個步驟

云計算 云原生
如果你是容器的新手,不要被那些術語所嚇倒。這些關鍵原則將幫助你把應用遷移到云中。

一般來說,人們想使用你的應用程序這是一件好事。然而,當應用程序在服務器上運行時,應用程序受歡迎是有代價的。隨著用戶對資源需求的增加,在某些時候,你可能會發(fā)現你需要擴展你的應用程序。一種選擇是在這種情況下增加更多的服務器,建立一個像 Nginx 這樣的 負載平衡器,以滿足需求。

但是,這種方法的成本可能很昂貴,因為當需求低的時候,在沒有流量的服務器上運行你的應用程序的實例并不會節(jié)省資源。容器的優(yōu)點是它是非持久的,在有需求時啟動新實例,而隨著需求的減少逐漸消失。如果這聽起來像是你需要的功能,那么現在可能是將你的應用程序遷移到容器的時候了。

將應用程序遷移到容器中,很快就會變得迷失方向。雖然容器內的環(huán)境可能感覺很熟悉,但許多容器鏡像是最小化的,而且它們被設計為無狀態(tài)的。不過在某種程度上,這也是容器的優(yōu)勢之一。就像 Python 虛擬環(huán)境一樣,它是一塊白板,可以讓你構建(或重建)你的應用程序,而沒有許多其他環(huán)境所提供的無形的默認值。

每一次向云服務的遷移都是獨一無二的,但在將你的應用程序移植到容器之前,你應該注意以下幾個重要原則。

1. 理解你的依賴關系

將你的應用程序移植到容器中是一個很好的機會,可以了解你的應用程序實際依賴的東西。由于除了最基本的系統(tǒng)組件外,很少有默認安裝的組件,你的應用程序一開始不太可能在容器中運行。

在重構之前,確定你的依賴關系。首先,在你的源代碼中用 grep 查找 include、import、require、use 或你選擇的語言中用來聲明依賴關系的任何關鍵詞。

$ find ~/Code/myproject -type f \
-iname ".java" \
-exec grep import {} \;

不過,僅僅識別你使用的特定語言的庫可能是不夠的。審計依賴關系,這樣你就能知道是否有語言本身運行所需的低級庫,或者特定的模塊以預期的功能運行。

2. 評估你的數據存儲

容器是無狀態(tài)的,當一個容器崩潰或停止運行時,該容器的實例就永遠消失了。如果你要在該容器中保存數據,這些數據也會消失。如果你的應用程序存儲用戶數據,所有的存儲必須發(fā)生在容器之外,在你的應用程序的實例可以訪問的某個位置。

你可以使用映射到容器內某個位置的本地存儲來存儲簡單的應用程序配置文件。這是一種常見的技術,適用于需要管理員提供簡單配置值的 Web 應用程序,如管理員的電子郵件地址、網站標題等。比如說:

$ podman run \
--volume /local/data:/storage:Z \
mycontainer

然而,你可以配置一個數據庫,如 MariaDB 或 PostgreSQL,將大量數據在幾個容器中的共享存儲。對于私人信息,如密碼,你可以配置一個機密存儲。

對于你需要如何重構你的代碼,相應地調整存儲位置,這可能意味著改變路徑到新的容器存儲映射,移植到不同的數據庫,甚至是納入容器特定的模塊。

3. 準備好你的 Git 倉庫

容器在構建時通常會從 Git 倉庫中拉取源代碼。一旦你的 Git 倉庫成為你的應用程序的生產就緒代碼的標準來源,你必須有一個管理 Git 倉庫的計劃。要有一個發(fā)布分支或生產分支,并考慮使用 Git 鉤子 來拒絕意外的未經批準的提交。

4. 了解你的構建系統(tǒng)

容器化應用程序可能沒有傳統(tǒng)的發(fā)布周期。當容器被構建時,它們會被從 Git 中拉取出來。你可以啟動任何數量的構建系統(tǒng)作為容器構建的一部分,但這可能意味著調整你的構建系統(tǒng),使其比過去更加自動化。你應該重構你的構建過程,使你完全有信心它能在無人值守的情況下工作。

5. 構建鏡像

構建鏡像不一定是復雜的任務。你可以使用 現有的容器鏡像 作為基礎,用一個簡單的 Docker 文件對其進行調整。另外,你也可以使用 Buildah 從頭開始構建你自己的鏡像。

在某種程度上,構建容器的過程與實際重構代碼一樣,都是開發(fā)的一部分。容器的構建是為了獲取、組裝和執(zhí)行你的應用程序,所以這個過程必須是自動化的、健壯的。建立一個好的鏡像,你就為你的應用程序建立了一個堅實可靠的基礎。

容器化

如果你是容器的新手,不要被術語所嚇倒。容器只是另一種環(huán)境。容器化開發(fā)的感知約束實際上可以幫助你專注于你的應用程序,并更好地了解它是如何運行的、它需要什么才能可靠地運行,以及當出錯時有哪些潛在的風險。相反,這導致系統(tǒng)管理員在安裝和運行你的應用程序時受到的限制要少得多,因為從本質上講,容器是一個受控的環(huán)境。仔細審查你的代碼,了解你的應用程序需要什么,并相應地重構它。

責任編輯:趙寧寧 來源: Linux中國
相關推薦

2020-10-30 10:45:04

云計算IT技術

2019-01-08 09:00:53

應用程序遷移

2019-06-28 12:15:08

Oracle云計算遷移

2010-11-10 10:15:48

2019-12-20 14:10:19

Python腳本語言工具

2022-11-02 15:25:03

云數據庫云平臺

2019-06-05 13:32:38

云端云計算云遷移

2019-06-05 15:15:51

云端云計算遷移

2010-08-12 15:10:17

Flex4

2016-07-18 10:20:39

公共云云計算云遷移

2011-08-10 09:31:33

開發(fā)iPhone應用程

2010-08-09 12:47:00

Flex4beta

2010-10-21 13:14:35

2021-05-05 10:06:09

React應用程序微前端

2011-11-18 09:49:48

2021-06-25 11:05:46

云平臺安全挑戰(zhàn)業(yè)務遷移

2019-09-16 08:53:55

云端云遷移安全

2015-10-14 10:29:59

2015-03-02 09:53:22

IT資源管理SaaS應用程序云部署

2012-05-10 09:28:04

云計算應用程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一级电影免费观看 | 亚洲高清在线播放 | www.色.com| 999国产视频| 青青草一区二区 | 日韩一区在线播放 | 日韩在线精品 | 国产一区二区麻豆 | 国产黄色小视频在线观看 | 精品在线一区二区三区 | 亚洲 欧美 日韩在线 | 精品久久久久久亚洲综合网站 | 免费视频一区 | 国产精品免费一区二区三区四区 | 麻豆hd| 日韩五月天 | 精品久 | 国产福利在线 | 国产成人精品a视频 | 日日摸夜夜爽人人添av | 伊人网在线播放 | 国产亚洲一区二区精品 | 日韩欧美在线观看一区 | 99re热精品视频 | 欧美在线a | 亚洲一一在线 | 精品三区 | 成人免费观看视频 | 欧美精品在线播放 | 久久久久久久久久一区二区 | 成人欧美一区二区三区黑人孕妇 | 草草视频在线免费观看 | 欧美激情综合 | 成人国产精品久久 | 91麻豆精品国产91久久久久久久久 | 色综合一区二区三区 | 一区二区三区四区免费在线观看 | 国产一区二区三区日韩 | 99成人精品 | 久久精品国产99国产精品 | 免费视频一区二区 |