有一次跟朋友吃飯聊到「雲端」到底是什麼,實際上這個單字出現已經將近數十年,然而我們似乎都還是對這個詞非常的模糊。
既然聊到了,我們剛好就用這個機會來簡單的探討一下雲端是怎樣的東西。
從硬體到軟體
前陣子剛好聽了 AWS(Amazon Web Service,亞馬遜的雲端服務)介紹他們的雲端服務,簡單來說就是從「硬體思維」轉換到「軟體思維」的方式,以軟體方式去思考就可以看作是「雲端」
其實,除了「雲端」之外還有一個與之相對的詞彙叫做「地端」也就是自己建立機房的意思。在雲端出現以前,大多數的企業都會有 IT 人員(Information Technology,資訊科技人員)來在自家公司的機房管理這些機器,以及協助公司的成員設定所有硬體設備(例如:電腦、電子產品、網路)
跟雲端的差別在於,我們是透過實體的方式來處理問題。假設我們需要提供一個購物網站的服務,就需要有一台持續開啟的電腦來讓其他人可以連上這個購物網站,那麼就需要 IT 人員去組裝電腦、配置網路線等等。
然而,雲端因為我們無法實際的觸摸到這些硬體,因此會變成透過「虛擬」的軟體來處理這些東西。實際上,我們連是否使用實際的硬體都不一定能確定,像是 AWS 的 VPC(Virtual Private Cloud,虛擬私人雲端)幾乎就可以理解為我們透過軟體建構了一個虛擬的私人網路。
雲端就是別人的電腦
幾年前有一張迷因圖很有趣,他上面寫著「雲端就是別人的電腦」這樣的說明,實際上這是一個非常貼切的形容。
一般來說,我們討論雲端的時候大多會一起討論伺服器(Server)這個詞,用簡單的方法來解釋,跟「個人電腦」的差異主要就在運算能力跟提供服務的差別,因此軟體工程師將電腦設定成可以開發網站的狀態,就定義上來說這台電腦也就具備了「伺服器」的基本條件。
現實上來說,大多數我們不可能將自己的電腦持續開著,並且提供穩定的網路。也因此,不論是建立機房(集中管理伺服器)或者使用雲端(其他人的機房)都能夠滿足這些條件,以成本的考量來說建置一個小型機房花費可能是數百萬的狀況下,採用雲端機房和其他人一起分攤這個成本似乎更合適。
雲端帶來的改變
在過去,本身就有共享主機(Shared Hosting)和虛擬主機(Virtual Private Server)的服務存在,跟現今的雲端相比也都是跟其他使用者一起共同分攤服務提供者的機房。如果要說跟雲端的差異,大致上就是「軟體控制」的差異,這些主機商大多只能給你網路連線、伺服器的存取權限,同時無法自動化、規模化的調整。
然而,在雲端服務的服務提供廠商中,我們可以透過軟體的方式設定網路、產生伺服器,除此之外各種原本需要在本地機房建構的服務,也都以軟體的方式呈現在我們的面前,只需要在控制台(Dashboard)中簡單的點選就可以串聯整合起來。
近年大部分提供虛擬主機的廠商也開始往這個方向發展,這也是為了對應在網站規模越來越大時,從購買硬體到設定伺服器的時間比不過雲端服務只要數分鐘就能增加一台新的伺服器馬上針對服務提供更高的乘載能力。