從虛擬化到容器化:現代 IT 基礎架構的演變與選擇

avatar-img
發佈於軟體開發
更新於 發佈於 閱讀時間約 8 分鐘

☁️ 雲端基礎架構學習路線圖

🧱 第1層:認識雲端的基本單位(像是在租一座城市)

🖥️ VM(虛擬機)是什麼?

想像你不是買電腦,而是在雲端租一台電腦來跑你自己的程式。


✏️ 白話說明:

  • 在 AWS 叫 EC2,在 GCP 叫 Compute Engine。
  • 你可以選「租哪種規格」的機器(像是幾核 CPU、多大記憶體)。
  • 然後裝作業系統(如 Linux)來跑應用程式(後端、API、資料庫都可以)。
  • 跑多久,就付多久的錢。

🌐 VPC(Virtual Private Cloud,虛擬私有網路)是什麼?

想像你租了一塊「雲端土地」,可以自己劃分道路(子網路)、安裝大門(防火牆)、決定誰能進來。


✏️ 白話說明:

  • VPC 就像在雲端裡劃出來的一個「隔離安全區域」。
  • 裡面可以放很多服務:像 VM(虛擬機)、資料庫、容器等。

你可以控制:

  • 每台機器的 IP 是什麼
  • 誰可以對它發 request(用防火牆決定)
  • 是否能連出外網、是否能被外部連進來
raw-image

✅ 總結:

  • 工程師常會說「這個 service 在 private subnet 裡」,意思就是:這個服務不能直接對外開放,要透過跳板或內部通道才能存取。

🗂️ Storage(雲端儲存)是什麼?

雲端的「儲物櫃」,放圖片、影片、備份檔、使用者上傳的檔案等,不一定是資料庫才能放資料。

✏️ 白話說明:

雲端儲存主要分兩種常見類型:

1. Object Storage(物件儲存)

  • 例子:AWS S3、Google Cloud Storage
  • 想像一個「網路硬碟」或「雲端資料夾」。
  • 儲存方式像是:每個檔案都當成「物件」來管理,可以存圖片、影片、PDF、JSON 檔…
  • 支援大量、不規則格式的檔案(非結構化資料)
  • 通常便宜又可以設定公開/私密連結,常用在:
    • 使用者上傳圖片
    • 靜態網頁資源(如 CDN 配合)
    • 備份與歸檔

2. Block Storage(區塊儲存)

  • 例子:AWS EBS、GCP Persistent Disk
  • 給 VM 用的「硬碟」,像裝在電腦上的 SSD。
  • 通常要搭配作業系統格式化,提供給 VM 使用
  • 適合需要快速、穩定讀寫的資料(如 DB)

💽 SSD 是什麼?

SSD(Solid State Drive)叫做「固態硬碟」,是比傳統硬碟(HDD)更快、更耐用的一種儲存裝置。


✏️ 白話來說:

  • 你可以把它想成是電腦裡的「高速儲存空間」。
  • 跟 HDD(傳統硬碟)比起來,SSD 沒有旋轉的磁碟,全部是晶片,所以:
    • 速度更快(開機、讀取資料都更快)
    • 比較安靜、耐震
    • 但價格也會比較貴


raw-image

🔁 Auto Scaling(自動擴縮)

當網站人多就多開幾台伺服器,人少就關掉一些,不用你手動操作,幫你省錢又穩定


✏️ 白話來說:

  • 想像你在辦一場線上演唱會:
    • 人潮突然暴增時,自動多開幾個入口(VM)
    • 人走光了,就自動關掉多餘的 VM,省下費用
  • Auto Scaling 就是雲端平台幫你根據流量「自動增加或減少」 VM 數量

⚙️ Auto Scaling 會根據哪些條件觸發?

常見的觸發條件有:

  • CPU 使用率(例如超過 70%)
  • 記憶體使用率
  • 網路流量(例如每秒請求數)
  • 自訂指標(如購物車下單數)

✅ 小提醒:

  • 通常 Auto Scaling 要和 Load Balancer 搭配使用

DNS & Nameserver(名稱伺服器)

✏️ 白話說:

  • Nameserver 就是專門負責「幫你查某個網域的 DNS 記錄」的伺服器
  • 它是 DNS 系統的一部分,是你在買完網域後最先設定的東西之一

🧭 這樣想比較容易懂:

  1. 你買了一個網域 myapp.com
  2. 你要決定:「這個網域的 DNS 記錄誰負責?」
  3. 所以你會設定 nameserver
    • 例如用 Cloudflare,就會把 nameserver 設成 bob.ns.cloudflare.com
  4. 從此之後,任何人查 myapp.com,都會被導到 Cloudflare 去查記錄(A、CNAME、TXT 等)

✅ 小結:

  • Nameserver 是 DNS 的入口大門
  • 一個網域只能指定一組 Nameserver
  • 改 Nameserver 通常在你「切換 DNS 管理商」時才會做

☁️ Serverless 是什麼?真的沒有伺服器嗎?

Serverless(無伺服器運算) 不是真的沒有伺服器,而是「你不需要自己準備、管理伺服器」,讓雲端平台自動幫你處理。

✏️ 白話說:

  • 傳統方式:你自己開一台 VM,設定環境、部署程式、維護伺服器
  • Serverless:你只上傳程式碼(或設定邏輯),其他的都交給雲端平台自動處理(像是在用 Uber,不用養車)
raw-image
raw-image

🚀 什麼是 Container(容器)?

容器(Container) 是一種輕量級的虛擬化技術,它允許開發者將應用程式及其所有依賴項(程式庫、環境變數等)打包在一起,並且在任何地方運行,無論是本地開發環境、伺服器還是雲端。

✏️ 白話說:

  • 想像容器像一個可攜式盒子,裡面放著一個應用程式及其所需的所有工具,這個盒子可以在任何地方運行(就像打包行李去旅行)。
  • 相比傳統的虛擬機(VM),容器更輕便,不需要整個作業系統,這樣開銷更小。

🧠 PM 要了解的概念:

  1. 容器 vs 虛擬機(VM)
    • 虛擬機:每個虛擬機都需要一個完整的操作系統(OS),這樣開銷較大。
    • 容器:容器在相同的作業系統上運行,並共享操作系統內核,這使它更輕便且啟動更快。
  2. 容器運作的方式
    • 開發者只需要將應用程式及所需的依賴打包成容器映像檔(Image)。
    • 然後可以在任何環境中運行這些容器,無需擔心平台差異(如操作系統或硬體)。
raw-image
raw-image

🐳 Docker 是什麼?

Docker 是一個開源平台,讓開發者能夠自動化應用程式的部署過程,將應用程式及其依賴打包在一個容器中。Docker 容器是輕量的、可攜的,可以在不同的環境中一致地運行。

✏️ 白話解釋:

  • Docker 容器像是一個“打包好的應用程式盒子”,裡面包含了應用所需的所有東西(如程式碼、程式庫、環境變數),無論在任何地方執行,環境都是一致的。
  • 它和虛擬機(VM)不同,不需要完整的操作系統,讓它更輕便、啟動速度更快。

🧠 Docker 的工作流程:

  1. 建立 Docker 映像檔(Image):開發者寫好應用程式,並使用 Dockerfile 定義容器的構建過程。
  2. 建立 Docker 容器:根據映像檔創建並運行容器。
  3. 部署和管理:容器可以在任何支持 Docker 的系統上運行,無論是開發、測試還是生產環境

🚀 Docker 優勢:

  • 快速啟動:容器啟動速度比虛擬機更快,因為它不需要啟動完整的操作系統。
  • 跨平台運行:容器可以在不同的環境(如開發環境、測試環境、雲端等)無縫運行。
  • 資源效率:容器共享宿主操作系統的內核,節省了運行的資源。

⚙️ Kubernetes 是什麼?

Kubernetes 是一個開源的容器編排平台,用於自動化容器的部署、擴展和管理。它提供了一個高效的方式來管理大規模的容器應用程式,並讓應用程式能夠自動擴展。

✏️ 白話解釋:

  • 如果 Docker 容器是一個“單一的應用程式盒子”,那麼 Kubernetes 就是“管理和協調這些盒子的主管”。
  • 當你有數百或數千個容器時,手動管理會變得非常繁瑣,這時 Kubernetes 就能幫你自動化這些工作,如調度容器、負載平衡、健康檢查等。
  • 🧠 Kubernetes 的工作原理:
  1. Pod:Kubernetes 中最小的部署單位,一個 Pod 可以包含一個或多個容器。
  2. Node:Node 是 Kubernetes 集群中的工作機器,可以是虛擬機或物理機。
  3. Service:Kubernetes 提供 Service 來實現容器之間的通信,並讓它們可以通過固定 IP 地址訪問。
  4. Deployment:負責控制容器應用程式的部署和擴展。

🚀 Kubernetes 優勢:

  • 自動擴展:根據負載自動增加或減少容器數量,保持應用程式的高可用性。
  • 高可用性:Kubernetes 會自動處理容器的健康檢查,並根據需要替換故障容器。
  • 負載平衡:Kubernetes 提供自動的負載平衡機制,確保請求均勻分配到各個容器。
raw-image

🚀 總結

  • Docker 是一個容器平台,讓應用程式和其依賴一起被打包並能夠快速部署。
  • Kubernetes 則是幫助管理和協調大量容器的編排平台,適用於大規模的應用程式部署。
  • VM容器 兩者各有優勢,選擇取決於應用需求,容器更加輕量,適合微服務,而虛擬機則適合需要完整操作系統的環境。
留言
avatar-img
留言分享你的想法!
avatar-img
hello maple
4會員
81內容數
各種工作及生活中的小小紀錄
hello maple的其他內容
2025/04/29
在現代網路與雲端架構中,負載平衡(Load Balancer)、橫向擴展(Scale Out)、以及 API 溝通機制是不可或缺的基礎。本文帶你快速理解負載平衡如何分散流量、系統如何透過擴展應對成長需求,以及 API 在不同服務間扮演的溝通角色。
Thumbnail
2025/04/29
在現代網路與雲端架構中,負載平衡(Load Balancer)、橫向擴展(Scale Out)、以及 API 溝通機制是不可或缺的基礎。本文帶你快速理解負載平衡如何分散流量、系統如何透過擴展應對成長需求,以及 API 在不同服務間扮演的溝通角色。
Thumbnail
2025/04/23
本文介紹Terraform、IaC和CI/CD等MIS相關概念,並以淺顯易懂的方式說明其用途和優點,適合產品經理(PM)快速瞭解。
Thumbnail
2025/04/23
本文介紹Terraform、IaC和CI/CD等MIS相關概念,並以淺顯易懂的方式說明其用途和優點,適合產品經理(PM)快速瞭解。
Thumbnail
2025/04/17
本文深入淺出地解釋SLA、SLO、SLI三個關鍵指標在MIS維運、雲端、資安專案中的重要性與應用,並提供設定與協調這些指標的實用建議,適用於PM、工程師及客戶。
Thumbnail
2025/04/17
本文深入淺出地解釋SLA、SLO、SLI三個關鍵指標在MIS維運、雲端、資安專案中的重要性與應用,並提供設定與協調這些指標的實用建議,適用於PM、工程師及客戶。
Thumbnail
看更多
你可能也想看
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
常常被朋友問「哪裡買的?」嗎?透過蝦皮分潤計畫,把日常購物的分享多加一個步驟,就能轉換成現金回饋。門檻低、申請簡單,特別適合學生與上班族,讓零碎時間也能創造小確幸。
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
嗨!歡迎來到 vocus vocus 方格子是台灣最大的內容創作與知識變現平台,並且計畫持續拓展東南亞等等國際市場。我們致力於打造讓創作者能夠自由發表、累積影響力並獲得實質收益的創作生態圈!「創作至上」是我們的核心價值,我們致力於透過平台功能與服務,賦予創作者更多的可能。 vocus 平台匯聚了
Thumbnail
如果實在找不到可用的替代軟體,或者就是要用指定的軟體不可,那麼虛擬機器可以作為在使用Linux時的一個應對方案。
Thumbnail
如果實在找不到可用的替代軟體,或者就是要用指定的軟體不可,那麼虛擬機器可以作為在使用Linux時的一個應對方案。
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少
Thumbnail
為什麼要用Docker安裝? Docker是一個容器化平台, 就類似於我們早期虛擬機的VMWare、Virtual Box…等, 虛擬機平台一般, 只是面向的是伺服端, 供企業快速、簡單、輕量的佈署開發完成的程式軟體, 並將相關的環境依賴皆封裝成一包所謂的映像檔(image), 透過這樣的方式減少
Thumbnail
企業資源規劃 (ERP) 的格局正在發生重大轉變。 傳統的本地 ERP 系統雖然強大,但可能不夠靈活且維護成本高。 隨著組織在不斷發展的數位時代追求敏捷性和可擴展性,基於雲端的 ERP 解決方案正在成為首選。 基於雲端的 ERP 的興起 基於雲端的 ERP 系統在遠端伺服器網路上運行,用戶可以透
Thumbnail
企業資源規劃 (ERP) 的格局正在發生重大轉變。 傳統的本地 ERP 系統雖然強大,但可能不夠靈活且維護成本高。 隨著組織在不斷發展的數位時代追求敏捷性和可擴展性,基於雲端的 ERP 解決方案正在成為首選。 基於雲端的 ERP 的興起 基於雲端的 ERP 系統在遠端伺服器網路上運行,用戶可以透
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
IaaS 以虛擬化原理運作,企業可從雲端服務商那裡獲得運算、儲存和資料庫等服務,不再需要自己購買設備、管理設備,或託管設備的空間。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
軟體系統的發展歷程大多相似,首重解決基本需求、提供操作介面,進而提升安全性、擴充功能、優化操作。
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
當我們在撰寫一套系統的時候, 總是會提供一個介面讓使用者來觸發功能模組並回傳使用者所需的請求, 而傳統的安裝包模式總是太侷限, 需要個別主機獨立安裝, 相當繁瑣, 但隨著時代的演進與互聯網的崛起, 大部分的工作都可以藉由網頁端、裝置端來觸發, 而伺服端則是負責接收指令、運算與回傳結果, 雲端
Thumbnail
新系統建構時,可考慮採購建置VM機器,DB機器,備份機器以及網路設備等硬體機器。
Thumbnail
新系統建構時,可考慮採購建置VM機器,DB機器,備份機器以及網路設備等硬體機器。
Thumbnail
想要進入工程師的世界,首先要先學會架設自己的Build code環境,有了編譯環境,接下來就可以安心的撰寫你想要的C語言程式啦! 如果你不知道該從何下手,那不妨先照著本篇文章的步驟做,Violet一步一步教你並解釋每個步驟的意義,很快你就會得到一個能編譯C語言程式碼的虛擬基環境哦!
Thumbnail
想要進入工程師的世界,首先要先學會架設自己的Build code環境,有了編譯環境,接下來就可以安心的撰寫你想要的C語言程式啦! 如果你不知道該從何下手,那不妨先照著本篇文章的步驟做,Violet一步一步教你並解釋每個步驟的意義,很快你就會得到一個能編譯C語言程式碼的虛擬基環境哦!
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
本文介紹如何設定ESXI HOST中的虛擬機自動隨著HOST開關機。
Thumbnail
本文介紹如何設定ESXI HOST中的虛擬機自動隨著HOST開關機。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News