雲端好有錢景,但有些事你不懂不行

圖片來源:flickr
上一篇文章中 從賈伯斯的一席話認識雲端運算 中,我們留下了一些個尚未解釋的疑問,其中包含了為什麼我們要使用雲端?所謂鑒古知今,我們可以由淺述雲端的歷史來共同探索這個答案。
雲端的概念,大約在 50 年代開始,公司與學校利用個人電腦以及終端機去連結在機構內的大型主機。之所以這樣做是因為大型主機擁有比較快的運算能力,比較多的記憶體。公司或學校並沒有足夠的金錢與資源去提供每台個人電腦因為當時個人電腦價格頗高,於是利用終端機連線來分享其資源。同時在維護設備時,維護一台大型主機比維護多台個人電腦比起來相對簡單省時。
隨著 1970 年虛擬機器的出現,虛擬機是一種軟體,是讓我們在同一台伺服器,或電腦上,可以創建出一個環境來跑不同的作業系統供使用者使用。例如:假設今天我們想要玩某一個遊戲只能在 Windows 下運作,而我們使用的是蘋果電腦,我們可以安裝虛擬機器然後在虛擬機器上運作 Windows 系統。 這是現在雲端運算的一個重要的基石,在同一個實體機器上我們可以跑各種不同的運算環境,共享其實體機器上資源。
接下來隨著網路以及軟體技術的成長像是 Hypervisor、Grid Computing、load balancing、failover 等,以及企業間營運模式的改變,由產品取向轉為服務取向,雲端運算這個名詞就誕生了。
由產品轉為服務,可以說是雲端運算中的中心思想。用雲端運算來舉例或許相對抽象,在這裡我們舉一個例子來與大家分享。 今天假設我拿著一袋麻布袋裡面裝了很多珠寶希望能夠安全的存放它,我有兩種方式,一種是去買個保險箱然後把保險箱扛回家,把錢放進去。第二種是我去銀行告訴他們我要租用一個保險箱以及租用時間長短,然後把我的珠寶放進去。第一種方式就是所謂的產品取向,第二種則是服務取向。其實如果大家將上述的銀行,想像成雲端運算提供的業者,而保險箱租用想像成他們所提供的服務(一般而言是軟體,應體,或開發平台),我們就大概能夠想像雲端運算提供者的營運模式。
從上面兩段,讀者應該可以大概感受到隨著雲端運算的歷史演進,其所期待提供給使用者的一些服務,以及其特徵。我們一起來看看美國國家標準技術研究所 NIST 1 所定義的雲端運算五大特徵。
關於雲端運算的特徵,由於相關的解釋 2 很多,但從演進的歷程我們可以大看到:首先,我們要能夠以網際網路來使用雲端的服務,這是雲端的基本精神;再來使用者在雲端上其實是共享其硬體與軟體資源(降低成本);再來因為是共享的關係所以業者對於資源的分配上要能夠有彈性,可以快速分配所需資源,包含擴增與縮減以因應消費者的需求(提升效率);最後業者要能夠管理雲端的資源,包含監測,控制其使用者所能使用的資源以及制定收費機制等(管理機制),也就是所謂的『Measure Service』。
到了這裡讀者應該可以很自然地歸納出雲端到底哪裡好,雲端之所以好,是因為它提供了高速的運算環境,以及低價的儲存空間,以及環境管理,高彈性的資源規模分配。這些都可以由使用者消費去得到,而不需要花費大量的金額去架設自己的設備,更省去之後的維修與管理。以之前的例子做舉例,差別大概就是把貴重物品存入銀行,與買保險櫃的差別,其中我們還必須面對自家保險櫃壞掉打不開的風險。
關於雲端安全性的問題是大家相較之下較有疑慮的。如果資料都放在雲端,那麼是不是很容易遇到資料外洩的問題呢? 除此之外,我不喜歡與別人共享 資源 可不可以? 因此除了公有雲之外,雲端使用者開始轉向使用私有雲以及混合雲的服務。
上述所提到的公有雲、私有雲、混合雲是雲端的部署模式,其主要的差別在於價格,安全性以及資源掌握度。
公有雲是目前最常聽到的一種雲端部署模式,由上圖可見在 RightScale 3 的受訪者中的調查報告所指出,有超過半數的使用者使用公有雲。之所以稱之為公有,其原因是租賃者與他人共享資源,使用者並不知道其資源和哪些用戶共享(我們可以想像,在伺服器上面同時間有不同的虛擬機器皆屬於不同的租賃者同時分享著伺服器上的資源。(Multitenancy))也因此在三種不同雲端部署中,公有雲被認為是安全性最低的一種部署方式,但同時也因為使用者眾多所產生的經濟效應,其設備的維護,服務的推陳出新,租用的價格,相對的都比較好。而 Amazon、RackSpace、Google 和 Microsoft 都是著名的公有雲提供者。
在概念上私有雲指的是在邏輯上,或者是在實體上,其資源(儲存與運算所需要的資源諸如處理器,記憶體等)都只屬於單一使用者. 也只有使用者擁有這個雲端的使用權。通常私有雲都有防火牆來進行安全性的防護坐落在公司的私有網路內,可以想見這種雲端的部署模式當然是安全性比較高。
[youtube http://www.youtube.com/watch?v=qVYMQwSbTSk]
What is Private Cloud?(Microsoft Cloud Solutions)
如下圖 4,伺服器外面有防火牆隔絕外部網路,內部的實體伺服器只屬於單一使用者。
在 Private Cloud 的服務提供者 5,比較有名的屬於 RackSpace,Microsoft 以及 VMware 。
混合雲在近年來慢慢被各企業所採用,混合雲所指的是公有雲以及私有雲的共同使用,也有另一種定義是指使用兩種以上的雲端服務便屬於混合雲部署的模式。但是第一種定義還是較為常見。根據 Gartner 的預測在 2015 年有四分之三的大型企業擁有混合雲的部署 6,7。 而絕大多數提供雲端服務的公司都擁有混合雲的服務。
虛擬私有雲可以說是近年來比較新的概念,各大公司也同樣的有推出虛擬私有雲的服務,例如 Amazon、VMwar 和 HP 等,虛擬私有雲是在公有雲上面,建立起自己的虛擬網路(subnet),而使用者對這個虛擬網路擁有控制權,它可以決定哪些部分對外開放,哪些部分不對外開放,也可以決定誰可以訪問他的網路。這裡值得注意的地方是他的資源還是來自於公有雲,整個虛擬私有雲還是建立在公有雲上方。
在讀到了這裡之後,相信各位讀者對於雲端已經有了大致上的了解,最後我們為雲端的服務模式以及產品再做一些介紹. 雲端運算的服務模式,其實就是所謂的 12 字箴言,SaaS、PaaS 和 IaaS 。這三種模式的產品其實筆者已經都在上一篇為大家介紹過了,現在我們再來重新看一次。
軟體即服務,使用者只要連上網路即便可以使用各種網路所提供的軟體,較為著名的服務為 Salesforce Sales Cloud ,Google Apps(Gmail,Google+ Hangouts,Google doc)。
平台即服務,PaaS 主要面對的是開發人員,其負責提供一個網路開發的平台,其包含可以執行語言的環境,以及軟體開發工具包等服務,讓使用者可以再低成本上對其開發的軟體進行測試與運作,提供 PaaS 較著名的有: Heroku、Window Azure Platform、Google App Engine 。
基礎架構即服務,這樣的一個服務主要是讓使用者像服務提供者直接付費使用使用者所需用的運算以及儲存的資源,本文所提到如 Amazon EC2、RackSpace、IBM SoftLayer、HP Cloud、Google Compute Engine 所提供的皆為 IaaS 的服務 。
說了這麼多的科技詞彙,不知道大家有沒有一種想法是我們要利用台灣硬體的優勢來發展雲端運算相關應用與科技。但其實,雲端運算是種模式,注重的是軟體與服務,並不是硬體。如何提供讓消費者滿意的服務,如何確保資料存在雲端的安全性,如何更有效的共享資源,如何制定收費模式等。硬體可以購買,但有沒有好的軟體人才,能不能提供完整有效或創新的服務模式才是真正的關鍵。
[youtube http://www.youtube.com/watch?v=92AClPNP_gY&w=640&h=360]
[youtube http://www.youtube.com/watch?v=ncXIC5QWRjM&w=640&h=360]
在我們介紹過關於雲端運算科技的一些基礎知識之後,最後讓我們來看一下 Gartner 對於雲端運算走勢的兩大預測(摘錄自 Forbes 8 )
其中較為值得注意的是在上圖中,大中華區目前在雲端運算的市場相對于北美有著 50 倍的差距,但是在未來幾年中能有 31.3% 的成長率,這給了你我有了不得不了解這個產業的理由。
的確,說了這麼多。身為一個消費者,我們或許只需要注意雲端運算應用的部分。但是在雲端市場不斷持續成長的情況下,也相對有機會創造雲端運算相關的工作機會。我們不妨看看國外公司的雲端相關工作職缺以及其所需要的技能。在美國對於非工程師的職缺的要求並沒有太多令人值得意外的地方,其中包含了對科技有熱情,對於雲端的服務模式有一定程度上的接觸與了解,以及一般商用技巧其中包含簡報能力與語言能力等等。在對較為資深工程師則要求對下列技術有接觸:
Google,Amazon,VMware senior engineer for cloud computing:
VMware 對於混合雲的工程師職缺提出了實習的機會,這部分我們可以看成是對初級工程師最基本的要求:
VMware Intern – Software Engineer for Hybrid Cloud Development
雲端運算的各種應用在未來仍然會持續成長,希望各位在讀完之後對這個產業有更深的了解,也期待大家在這篇文章中都能夠得到一些新的啟發,跟上雲端運算的列車。
除此之外,筆者對於台灣的雲端運算有一些個人的感悟也在這裡和大家分享。首先,我們注意到雲端運算的第五特徵,服務可計算。在這裡其實很明白的說明了今天不論是公有雲,或是私有雲,更甚至混合雲,對於雲端供應者來說,他都必須要有辦法來監控與管理。換而言之,或許對於其他一起使用雲端的使用者來說,我們的資料是不可見的,但對於雲端業者而言,他們是可以看到我們資料的。前一陣子,對於 Facebook, Google, 等監聽案與心理實驗相信大家並不陌生,因此對於台灣產業而言,使用國外的雲端服務的好壞或許我們必須衡量,畢竟重要的資料放在國外孰好孰壞? 筆者認為,如果使用國外雲端的服務有風險,那就是開發台灣自己本身的雲端運算服務的機會。的確,台灣是可以利用我們硬體的優勢,但以整個軟體教育而言則是應該注重基本面,包含作業系統、網路、Web 等技術的學習。若希望發展台灣的雲端產業,應該深入耕耘與轉變的是對於國人軟體業的教育。若希望在雲端運算上有自己本土的產業,需要的是長遠的規劃,以及長期抗戰的精神,這是一條短期內未必可以有收益的路。
但最後再用到一開始的例子,今天把我們的重要資產放到國外的銀行與我們自己開一家銀行,或許自己開一家銀行多花點時間,但是最後賺的錢是自己的,也不怕有老大哥偷看保險櫃。
當然,若台灣希望獨自發展雲端產業,是否會受到各大強國干預,畢竟在現在大數據的時代擁有數據,就是力量。但上述皆為個人淺見,這部分留給讀者自行思考。