Cloud、Server、Edge:你個 App 究竟住喺邊

Cloud、Server、Edge:你個 App 究竟住喺邊

你儲咗一張相,有人話:「唔使擔心,喺 cloud 度啦。」你想像下,咩呀?天上一嚿白色毛茸茸嘅嘢?跟住一個開發者提到喺「the edge」跑程式碼,聽落好似好冒險,似企喺懸崖邊。呢啲字冇一個係日常形象所暗示嗰個意思,而呢個落差製造咗無窮無盡嘅細小混淆。

呢度有個令人安心嘅真相:喺呢啲詩意字眼背後,係一啲普通建築物入面嘅普通電腦。一旦你知道呢點,關於「軟件住喺邊」嘅詞彙就會變得簡單,甚至有少少悶,係最好嗰種悶。

成個題目其實只係一條問題:邊個嘅電腦喺度跑緊呢樣嘢,而佢喺邊度?呢組入面每個字,都只係呢條問題嘅一個唔同答案。記住呢條問題,啲霧就會散。

快速解答

Cloud(雲端)只係由其他人擁有同運行、經互聯網存取嘅遠端電腦。Server(伺服器)係一部工作係服務其他人嘅電腦(或者程式),唔理大細。Edge(邊緣)意思係物理上接近用戶或者裝置,唔係「cutting edge(尖端)」。Host(寄存)一樣嘢即係喺一部電腦上跑佢,畀其他人接觸。On-premise(自架)意思係喺你自己嘅電腦上、喺你自己嘅大廈入面運行。

重點字詞

  • Cloud(雲端)。喺資料中心入面、向供應商租用、經互聯網接觸嘅遠端電腦。「In the cloud」意思係「喺某處其他人嘅電腦上」,唔係喺天上。
  • Server(伺服器)。一部向其他人提供嘢嘅電腦或者程式:網頁、檔案、數據。「Server」描述一個角色,唔係一個大細。一個細盒可以係 server;一部巨型機器都可以。
  • Edge(邊緣)。接近用戶或者裝置所在嘅地方。「Edge computing」意思係喺接近用戶嘅地方做嘢,而唔係喺好遠嘅地方,等啲嘢快啲。
  • Host(寄存)。作為動詞,係喺一部電腦上跑軟件,畀其他人用(「we host the site」)。作為名詞,係做緊呢件事嗰部電腦。
  • On-premise / on-prem(自架)。喺你擁有嘅電腦上、喺你自己嘅地點運行,而唔係向 cloud 供應商租。
  • Data center(資料中心)。一座裝滿電腦嘅建築物,係「cloud」背後嘅物理實體。當你聽到「cloud」,想像一個資料中心:一排排機器、大量電線、嘈吵嘅散熱風扇。
  • Client(客戶端)。同 server 相對嘅角色。Client 係發問嘅電腦或者程式;server 係回答嗰個。你部手機通常係 client;佢傾偈嘅對象通常係 server。

常見陷阱

一個常見陷阱,係將 the cloud 想像成一個特別、有魔法嘅地方。佢根本唔係夢幻意義上嘅地方。佢係一啲建築物入面一排排普通電腦,由一間公司擁有,你俾錢去用。「Moving to the cloud」純粹係「租其他人嘅電腦,而唔係買自己嗰啲」。一旦你剝走啲詩意,呢個字就唔再神秘。

Server 呢個字呃到人以為佢解「一部又大又強嘅機器」。佢唔係。Server 係一個角色:將嘢服務畀其他人。你部手提電腦可以做 server。一個細裝置可以做 server。當有人話「the server is down」,佢哋係指本來應該服務請求嗰部電腦或者程式停咗,唔一定係某部巨型主機壞咗。

Edge 最陰濕。喺日常講法,「edge」暗示危險(「on the edge」),或者潮(「cutting edge」、「edgy」)。喺科技入面,「the edge」純粹解接近用戶或者裝置,無論喺地理上定喺網絡上。「Running at the edge」意思係喺接近人嘅地方運行,等回應快啲。佢同風險或者趕時髦完全無關。如果你將「edge」讀成「cutting edge」,你就會誤讀成句嘢。

Host 絆親人,因為佢有「派對主人」嘅意思。一個 host 歡迎賓客。喺科技入面,host 即係跑軟件畀其他人接觸。「Who hosts your website?」意思係「邊個嘅電腦跑緊佢?」入面冇任何款待成分。

最後,on-premise(通常縮短做「on-prem」)純粹解「喺你自己嘅電腦上、喺你自己嘅大廈入面」。大家有時當佢係老土,或者永遠平啲,但佢只係一個位置選擇:你嘅機器對租嚟嘅 cloud 機器。各有取捨;冇邊個自動好過邊個。

仲有一個細細嘅陷阱藏喺 data center。呢個詞聽落好高科技、好抽象,但佢係成份清單入面最具體嘅嘢:一座真實嘅建築物,裝滿真實嘅機器,用真實嘅電力,靠真實嘅風扇散熱。當你終於記得「cloud」就住喺呢類普通建築物入面,最後嗰點神秘就會散晒。

仲有,理清 serverclient 都有幫助,因為佢哋只有成對先講得通。佢哋描述一段對話入面嘅兩個角色:一個發問、一個回答。發問者係 client;回答者係 server。同一部電腦視乎佢做緊乜,可以扮演任何一個角色,所以唔好將「server」想像成一種機器、「client」想像成另一種。佢哋係工作,唔係物種。當你讀到「the client sends a request to the server」,意思只係「發問嘅程式向回答嘅程式發出一條問題」。

將成組擺埋一齊,一幅簡單嘅地圖就出現。Cloud 係某人資料中心入面租嚟嘅電腦。Server 係任何正喺度回答嘅電腦,咩大細都得。Edge 係嗰啲電腦企喺接近你嘅地方。Hosting 係跑軟件嘅動作。On-prem 係揀你自己嘅大廈擺佢。冇一樣係天氣、危險或者款待,只係一組對「邊個嘅電腦,喺邊度」嘅平實答案。

自然 vs 生硬例句

生硬: My files are floating up in the cloud, somewhere in the sky.

自然: My files are stored on the provider's remote computers, the cloud.

冇咁自然: Running at the edge sounds dangerous and unstable.

較好: Running at the edge means running close to users, so it's fast.

生硬: We need a server, so we bought the biggest, most powerful machine.

自然: We need a server, even a small computer can serve our requests.

生硬: We host our app, so we welcome it warmly.

自然: We host our app on a rented server, so users can reach it.

冇咁自然: We went on-premise because the cloud is too modern for us.

較好: We chose on-premise so we keep everything on our own computers.

迷你對照表

Word 聽落好似 實際解
cloud 天上嘅嘢 其他人運行嘅遠端電腦
server 一部又大又強嘅機器 一部處於服務角色嘅電腦或者程式,任何大細
edge 危險;潮 接近用戶或者裝置
host 一個熱情嘅派對主人 跑軟件畀其他人接觸
on-premise 老土嘅預設 喺你自己嘅電腦上、喺你自己大廈入面運行

快速練習

啱定錯?喺下面核對你嘅答案。

  1. "The cloud" is a special place in the sky.
  2. A server must be a very large machine.
  3. "At the edge" means close to the user.
  4. To host a website means to run it for others to reach.
  5. On-premise means renting computers from a cloud provider.

答案:

  1. 錯。佢係其他人運行嘅遠端電腦。
  2. 錯。Server 係一個角色,唔係一個大細。
  3. 啱。
  4. 啱。
  5. 錯。On-premise 意思係喺你自己大廈入面、你自己嘅電腦。

帶走嘅重點

呢組入面每個字,都喺一個生動形象背後藏住平實嘅現實。Cloud 係租嚟嘅電腦,唔係天空。Server 係一個角色,唔係一個大細。Edge 係「接近你」,唔係危險或者潮。Host 係跑,唔係歡迎。On-premise 只係「你自己嘅機器」。當你讀到關於軟件喺邊度運行嘅科技文章,喺腦海入面將啲詩意翻譯返做普通房間入面嘅普通電腦,成個題目就會變得清晰、可掌握,亦比市場推廣令佢聽起上嚟嗰份嚇人少好多。下次有人話你啲檔案喺「cloud」度,你可以笑笑口,想像某處一個嗡嗡作響嘅資料中心,準確咁知道佢哋指乜:只係另一部電腦,做緊佢嘅工作,啱啱好屬於其他人。