盡量好懂的容器化技術演化史 (一):電腦

更新於 2024/12/14閱讀時間約 6 分鐘

前言


  本文是為了解釋服務應用程式,如何從位於單一電腦上運作的執行環境,逐步演化成在容器化技術上執行應用程式的形式。本文並非以深入探討技術為目的,而是基於為並未具有資訊知識或背景,並初次接觸微服務讀者講述其演化與關係,故本文並非嚴謹的技術文檔。

  在不違反易讀之前提下,本文將盡量提供專有名詞,以供感興趣的讀者能有關鍵字進行查閱。若需要對相關技術進行深入了解,建議利用本文所提供之專有名詞至官網查閱,希望初入資訊領域之讀者,可以養成依照官網文檔為資料基準,佐以其餘文章輔助理解的良好習慣。


  以上,若本文有誤,敬請勘誤指正,若於其他地方查閱與本文所敘述之內容不符,一切請以提供機構之官方文檔為主。

  感謝諸位閱讀前言,敬祝閱讀愉快。




電腦


  首先在說明軟體服務以前,我們需要事先定義所謂的『電腦』是什麼?

  不算太精密地去說明,在現代,舉凡符合『馮紐曼架構』的機器,都應該可以被稱為電腦。

  因應用途而在實現上有所不同,但舉凡從超級電腦到微電腦,現代運行的電腦設備,都是符合馮紐曼架構的機器。反過來說,只要符合馮紐曼架構的設備,無論它在商業上有什麼稱謂 (智慧電視、智慧手錶、智能手機),都應當符合電腦的定義。

  當然,除了馮紐曼架構以外,還有很多的架構,但這並不是這裏討論的範疇。


  在馮紐曼式的電腦中,電腦被分成了五大單元,分別稱作:


1. 控制器(中央處理器 CPU)

2. 運算器(中央處理器 CPU)

3. 儲存器(記憶體 Memory)

4. 輸入設備(Input)

5. 輸出設備(Output)


  至於我們會用『電腦』這種概念的設備去進行什麼工作呢?

  縱使經過眼花撩亂的應用包裝,我們使用電腦的過程,不外乎就是進行三件事:


1. 輸入

2. 計算

3. 輸出


  嗯,聽君一席話,如聽一席話。

  這聽起來很像廢話,但是追溯起來還真的就是這樣,只是做這件事的規模很大,所以看起來會像是魔法。


  假設你有去自行組裝過電腦的經驗,就會知道現代電腦的最小開機要求,會需要以下零件:


1. 電源供應器 (Power):把市電 (110V、220V) 轉成電腦零件的用電 (12V、5V、3.3V),台達或是海盜船的主力業務在這個位置。

2. 主機板 (Motherboard):把所有零件串起來的位置,包含 USB 晶片,網路晶片,I/O接口,和其他零件的接口等等,華碩、微星與技嘉的主力業務在這個位置。

3. 中央處理器 (CPU):馮紐曼結構中的控制器及運算器,Intel 跟 AMD 與高通的主力業務在這個位置。新聞常講什麼 Arm 或是 x86,發燒友常講什麼 K 處理器或是超頻,都是在說這裡。另外嚴格來說蘋果的 M 晶片不等於 CPU。

4. 記憶體 (Memory):馮紐曼結構的儲存器,美光或是金士頓的主力業務在這個位置。


  有要組電腦或是買股票的同學可以參考,當然這不是裝機或選股指南。

  除了上述的零件以外,剩下的零件都不是必要的。


  沒有鍵盤滑鼠跟螢幕可以開機,沒有聲卡可以開機,沒有 Wifi 卡可以開機。

  沒有顯示卡 (GPU,Nvidia 的主力業務在這個位置) 也可以開機 (雖然說有些主機板會鎖無顯卡又無內顯的配置)。

  甚至沒有硬碟 (Disk,Seagate 和 WD 的主力業務在這個位置) 也同樣可以開機 (同樣的,有些主機板會鎖無硬碟狀態,但自行組電腦必須要有硬碟才可以裝作業系統 (OS,Microsoft 的主力業務在這個位置)就是了,所以實務面來說,硬碟算是必備的)。

  當然沒有機殼 (Case,迎廣或曜越的主力業務在這個位置) 也可以用鐵絲充當開關跳線開機。


  就這樣,我們建立一台了可以計算、輸入跟輸出的機器了。

  接下來就可以談輸入跟輸出。


  輸入這件事,最直觀的就是用鍵盤或滑鼠、用觸控螢幕或是麥克風、視訊頭、指紋感測器、溫溼度感測器或紅外線感測器等等,或是從硬碟讀取資料,這些都算是輸入的一環。

  輸出則是可以粗略分成『取得結果』和『保存結果』這兩個目的,打印到螢幕上,撥放到耳機裏,傳出震動,發動引擎,將資料寫入硬碟內,都是算輸出的一種。


  而輸入輸出都可以透過『網路』來進行。

  所謂的『網路』,指的就是設備跟設備間的溝通方式。


  『人類』跟『設備』只能透過按鍵與視覺聽覺或是觸覺來做互動,而設備跟設備間彼此會通過網路通訊來做溝通,從藍芽到一般的 RJ-45 網路孔與無線 Wi-Fi 都可以是介質,這些東西都是設備跟設備間的溝通方式。


  輸入跟輸出這件事,不見得是人跟設備的互動,也可能是設備跟設備的互動;事實上,設備跟設備的互動應該會比人跟設備的互動更多。


  也就是會變成這個形式:


<-螢幕與鍵盤等等-> 【客戶端設備】 <-網路或藍芽等等-> 【伺服端設備】


  在這種時候。

  做輸入的設備就會稱為『客戶端 (Client)』。

  等待輸入並回饋輸出的設備,就會稱做『伺服器 (Server)』。

留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
一、什麼是Web Service?   簡單說就是「服務」的概念,人與人間、電腦與電腦間都是一樣的,一個是人與人的一來一回交流,媒介是語言中文,另一個則是個人電腦與伺服器的交流,媒介是HTTP/Internet,那麼有了媒介,就會有共同格式才能做
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
Thumbnail
本文探討了複利效應的重要性,並藉由巴菲特的投資理念,說明如何選擇穩定產生正報酬的資產及長期持有的核心理念。透過定期定額的投資方式,不僅能減少情緒影響,還能持續參與全球股市的發展。此外,文中介紹了使用國泰 Cube App 的便利性及低手續費,幫助投資者簡化投資流程,達成長期穩定增長的財務目標。
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
歡迎來到我們的Windows教學!在這裡,你將學習如何有效使用Windows操作系統。我們將探索各種基本操作,如文件管理、桌面設置、程式安裝和系統設置。無論你是新手還是希望深入了解Windows的使用者,我們的教學內容都能夠幫助你提升操作技能,使你在日常使用和工作中更加流暢和高效。立即加入我們,開啟
Thumbnail
前面已經安裝好IIS後,並且也新建站台了,那麼接下來這篇就會分享如何使用它
Thumbnail
一、什麼是Web Service?   簡單說就是「服務」的概念,人與人間、電腦與電腦間都是一樣的,一個是人與人的一來一回交流,媒介是語言中文,另一個則是個人電腦與伺服器的交流,媒介是HTTP/Internet,那麼有了媒介,就會有共同格式才能做
Thumbnail
到存放虛擬機的磁碟處\點選想要註冊的機器\註冊機器(登錄虛擬機器)
Thumbnail
引言 在當今的技術世界中,Kubernetes 已成為容器化應用的領導平台。作為一個高效的容器編排系統,它不僅管理著容器的部署和擴展,還提供了必要的自動化支持,以保證應用的高可用性和性能。在這個框架中,自動擴展功能起著至關重要的作用,特別是在面對不斷變化的負載和需求時。
Thumbnail
前言 上次我們針對 Docker 這樣容器化技術做了一點介紹,今天我們要來講解 Docker 架構,你是否發現在每次程式上伺服器的流程很麻煩呢 ? 是否發現你寫的程式在別的作業系統不能用呢 ? 如果你遇到這些問題,Docker 都可以幫助你解決這些問題 Docker 架構 在 Docker 這
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護