說到雲端運算(Cloud Computing),也許大家會覺得陌生、距離遙遠,但這十幾年來雲端早已默默地走入人們的生活;最簡單的例子就是雲端硬碟:我們將文件、照片、影片,任何檔案放在雲端硬碟上,如此我們可以不被實體的機器綁死,在任何地方都能存取我們的檔案。

不僅雲端硬碟,我們辦公的方式也逐漸雲端化,十年前我們還在用 Word 編輯文件、用 Excel 看報表,同事要看我的報告?E-mail 或把隨身碟傳給他。如今,Google Docs/Sheet/Slide ,或是 Dropbox Paper 早已是我們多人協作的第一選擇。

雲端運算的好處

雲端硬碟、Google Docs 這些服務的共通點是什麼?只要有網路,就能存取,因為這樣的特點,使用者可以隨時、隨地都連線到雲端,也使得多人協作變得非常容易,只要分享一個網址即可。

另外,如果本來檔案放在自己的電腦,運氣不好遇到故障時,理想的話也許有備份,但可能已經是好幾天或好幾個月前的版本,不過許多人應該是完全沒有備份的習慣,於是就只能一邊哀號一邊嘗試壓榨腦細胞以還原本來的作品;但如果放在雲端1,隨時都有備份而且有歷史版本的記錄,就完全不需要擔心機器故障,同時也不用在意相容性的問題,不會遇到在 Windows 的筆電上看很 OK,但為什麼換 Macbook 開就排版大走鐘的問題。

對個人而言,雲端有這麼多好處,難怪大家慢慢的愈來愈依賴雲端服務。不過,其實企業受雲端的影響更大喔!

企業的電腦--伺服器(Server)

我們平常上網滑臉書、用 Line 聊天、網購、訂票等等,都是一台台的電腦在處理我們對這些網站的要求,並將運算過後的內容透過網路回傳到我們的電腦、手機。例如我們登入某個電商的網站時,企業的電腦就會去問他們的資料庫你輸入的帳號和密碼是不是對的?如果是對的,就要再去資料庫查你上次買過了哪些商品,才能讓你在登入成功時看到有你過去消費記錄的頁面。

所以,只要是有網站或 APP 的企業,幾乎都會需要機器來應付使用者,才能讓服務正常運作。2 因為用途和我們個人用來辦公、娛樂用的電腦不一樣,我們把這些機器稱之為伺服器(Server)以做區分。

機房的限制

伺服器對大部份企業是必需品,在過去,公司都是採用自設機房的方式,會有專業的採購人員負責採買主機、線材,並有一群 IT 人員維護、監控機器有沒有故障。這實際上是一件苦差事,例如使用者的個人資料會存放在伺服器的硬碟裡,然而萬一這顆存放著你帳號密碼的硬碟壞掉了呢?工程師們通常會用 RAID 的方式,也就是多顆硬碟存放同一份資料的方式,但這種設置方式既繁雜,仍無法確保資料萬無一失--萬一機房失火了呢?於是就要異地備份,但又要擔心異地備份的版本會不會不夠即時…

除了機器有可能故障的問題以外,不固定的流量也是企業很頭痛的問題,極端案例例如售票網站,平常流量很小,但一旦有大型的娛樂活動開賣時,蜂擁而上的流量很容易就擠爆機器(草東沒有門票QQ)。這就像餐廳平常客人不多的時候,只要幾個服務生和廚師就可以接待所有客人;但客人暴增的時候,這時原本的服務生可就不夠用了。所以面對這種不固定的流量,企業只能以最大流量的情況來估算機器要買多少台,但也造成在離峰時段,多餘的算力被浪費了。

然而最近十五年隨著公有雲(Public Cloud)的興起,企業多了新的選擇。所謂公有雲,是指雲端服務的提供商透過網路,將他們的運算資源出租給眾多使用者一起共享。可以想像這些雲端業者各自有一個資源的池子,使用者就從這池子裡租用他們想要的資源,因為池子是使用者共用的,所以我們稱之為公有雲。

公有雲這種全新的架構出現,解決了上述長久以來的問題。為什麼呢?

上雲的好處

首先,雲端業者提供了現成的機器、儲存空間等服務,當企業租用這些資源時,他們就不再需要 IT 團隊去維護機器,節省了大量的人力與時間成本;其次,雲端服務具有按照需求付費擴展、縮減容易的特性,這兩個特性結合,使企業得以自動的按照流量選擇最適合的數量配置,而不會有資源的浪費。這對新創的小公司尤其重要--沒有雲的時代,財務吃緊的新創必須咬牙擠出一大筆錢購置伺服器;但現在他們可以在草創時期少量的採用雲端服務,若產品成功則投入更多的資源升級雲端服務的等級。能將資源投入在發展核心產品上,而不再被龐大的機房綁死,資源規劃變得輕鬆寫意。

整理一下雲端的好處:

  • 彈性高:擴展、縮減規模簡單
  • 固定成本低:不需要購買實體的伺服器,也不需要 IT 團隊來維護機器
  • 隨需付費
  • 可以全球佈署

雲端產業簡介

雲端有三巨頭,分別是 Amazon 的 AWS、Microsoft 的 Azure、Google 的 GCP,市佔率如下圖。其餘包含趨勢、整體市場產值留待另一位財金系的朋友解說。

公有雲/私有雲/混合雲

既然有公有雲,相對的也就有私有雲(Private Cloud)。公有雲和私有雲的差別,在於私有雲的資源是指定的用戶(企業)獨享,而不開放給大眾使用。至於私有雲的資源是誰提供的?也許是第三方企業、也許是企業本身維護的,不論提供者是誰,並不影響它是私有雲與否;當我們說私有雲的時候,我們確定的是「這朵雲」的資源一定只會是這個企業獨享。

這裡非常容易造成混淆,因為最基本的「雲」指的僅僅是「透過網路存取」,所以就廣義而言,我們也可以說前述企業自己建造、維護的機房是「私有雲」--如果員工都是透過網路連線到機房的電腦的話;不過主流對於「雲」的定義較狹義,大致都認為必須要有一套管理的介面可以抽象掉細節,就像公有雲的介面一樣--使用者不需要知道機房每一顆硬碟有多大、有幾台機器,就算只有 10 台實體機而使用者需要 100 台,管理的介面也可以透過虛擬化和分散式的方式讓使用者感覺他的確有 100 台機器可以用。3

因為私有雲確有其需求,許多機密的資料企業不見得願意放在公有雲,擔憂會有資料外洩的問題;且私有雲讓公司得以掌控全局,所以也有不少企業並未一口氣從傳統機房轉至公有雲,而是先上私有雲。一些公司包含 Nutanix、VMWare 紛紛提供企業私有雲的解決方案;本為競爭對手的公有雲業者如 aws,也提供了自家的私有雲方案 aws outposts 來爭搶同一塊市場。

公有雲、私有雲各有其優點,有沒有可能結合兩者的架構?這就是混合雲的概念:在多個雲端環境下佈署。除了公有雲和私有雲混合的可能以外,企業也許會出於風險管理和成本控制的角度,分散資源佈署在多個雲端業者,這種多朵公有雲的架構也可以被稱為混合雲。因為可以分散風險,又可以將效益最大化,混合雲的架構愈來愈普遍,但其缺點就是管理相當不方便,因為每朵雲所提供的 API 和服務都有很大的不同(拿一個不太恰當的比喻來說明這種複雜:想像你有 10 台洗衣機,每台的功能和按鈕都不一樣,而且每件衣服都必須被某台特定的洗衣機來處理…)。

終究是沒有一套完美的方案呀!

雲端技術、服務一覽

傳統機房的設置看起來簡單:主機、網路線、硬碟,但雲端業者為了賺更多錢,將服務切得非常的精細,以下以 aws 當作例子簡單介紹一些具有代表性的服務。(本文感謝 aws 贊助

  • EC2

    虛擬機器,最基本的服務之一,租機隨附 Public IP,作業系統可以選 Linux、Windows,2020 年底多了 MAC 的選擇(雖然很貴…)

  • Lambda

    Lambda 是一個滿有趣的服務,因為它是一種無伺服器運算(Serverless)。我們過去架網站、寫 APP,都需要機器來跑程式,這一切合情合理,我們很難想像沒有電腦(或手機)要怎麼開 PowerPoint、瀏覽網頁;但如果我們把機器放在遙遠的雲端,其實我們可以更進一步的把機器直接交給雲端的公司來管,就不用在意機器的狀態--Lambda 就是這樣充滿野心的一個服務,我們只要把程式碼貼在 Lambda,不需要管機器的 CPU 負載率如何、記憶體是不是快爆了;更棒的是,只要為運算時間計費,如果離峰,程式碼沒有在執行,就不需要花額外的費用。更多關於無伺服器運算的介紹可以看這篇

雲端的竄起與前景

雲端運算並不是太新的概念,早在 1983 年昇陽電腦就提出了「網路即電腦(Network is the computer)」的概念,也在接近 2000 年時真的推出了屬於「網路電腦」的 JavaStation,最終因為當時網路尚未普及,以及網速與頻寬的限制而失敗;Amazon 於 2006 年就創立了 aws,但其 2020 年的收入是 2010 年的 90 倍,一大原因正是得益於網路速度和頻寬大幅的成長;像 ChromeBook 這種只能使用 Google 雲端服務、一個 Google 帳號通行全世界的全新概念筆電,也在近幾年開始蠶食以 Windows 為主的筆電市場。我們可以看到,雲端產業的茁壯與網路技術的進步密不可分,正是快速的網路讓遙遠的雲端得以更靠近使用者。

展望未來,隨著 5G 網路的技術逐漸成熟,許多現在還流於概念的雲端技術,包含雲端遊戲(不再需要超高級的電腦就可以玩到非常精緻的遊戲)、雲端虛擬桌面(不再需要裝軟體到個人的電腦,只要有可以上網的裝置就夠了)等都將變成可能;而受到疫情影響使得許多企業不得不加速上雲的計劃;天時、地利作用之下,未來的雲端將只會愈來愈貼近人們的生活,直到人們發現自己已經離不開雲。


  1. 比較精確的說法是存放在雲端服務提供商(例如 Google、Dropbox)的機器裡 ↩︎

  2. 如果產品是單機遊戲的 APP,企業就不需要有伺服器,但這是比較極端的案例就是了。 ↩︎

  3. 虛擬化也是資訊科技重要的一環,之後會發另外一篇文來談。 ↩︎