「雲端計算」在前幾年成了火紅的流行名詞,在整個資訊業界,許多人努力讓自己正在做的事情跟雲端扯上關係,好讓自己也晉升為「雲端概念」一族,以便獲得更多的關注。當然,就和大多數暴起流行的名詞一樣,「雲端計算」的概念也收到了來自許多人的質疑。他們在想,究竟「雲端計算」會不會又是一個像大多數快速竄紅的流行名詞一樣,最終不可避免地又進到了無疾而終的命運?

不過,時間已來到了今天,事實證明了雲端計算的想法、概念、技術、平臺,正確切的落實在我們的每一天生活當中。iCloud 上好萊塢女星的照片外流事件,一方面突顯了雲端平臺的安全性問題,另一方面也正好說明了人們生活和雲端服務之間的緊密程度。

除了透過雲端概念、技術所打造出來的服務已經開始深植在人們的生活中之外,雲端技術及平臺對企業內部的 IT 資源建立、配置、及營運的方式也產生了很大的衝突。

傳統在規畫企業內部的 IT 資源時,考慮的方式都是將資源集中在企業內部為主,因此,無論是硬體或是軟體的採購,都是以這種模式為基礎去思考的。除了採購之外,IT 架構的規畫,也是從 IT 資源集中在企業內部的方式去設計。

雲端讓IT資源與架構重新配置

不過,雲端的觀念及技術,影響的層面不只是消費性產品的設計方式,同樣也會、也正在影響企業內部對 IT 資源的配置,以及對 IT 架構的設計規畫。從很久以前,有些企業就開始採用一些在雲端上的服務,來取代自行建置的傳統方式。就像是利用 Google 的 Gmail 來取代自行架設電子郵件伺服器一樣。

又好比現在很多軟體開發團隊,開始使用一些雲端上的服務來輔助開發流程的進行,例如,有些人使用 GitHub 的服務,來做原始碼的版本控管、做議題及瑕疵的追蹤、也利用它的 Wiki 資訊,做團隊中的共同編輯。

雲端服務對企業的影響,從軟體開發團隊的應用情況來看,也就可以看出端倪。

因為將 IT 資源配置於雲端,可以得到一些好處,像是節省初期成本、降低維護人力、……等等,都是「雲端計算」的概念所強調的各種好處。而另一方面,企業傳統將 IT 資源的配置於企業內的方式,開始逐步的朝雲端配置時,設計、規畫架構的方式也會和傳統的不同。

雲端上有計算資源、頻寬資源、也有儲存資源、甚至有更高階的資料庫資源。當這些資源不再是位在企業內部、而是置放於雲端,又或者對企業來說,當他們採用部份在內部、部份在雲端的方式時,規畫整體架構的方式就會有所不同。

面對雲端環境的IT架構師

因此,現在已經開始有所謂「雲端架構師(Cloud Architect)」的角色應運而生。這樣的角色在企業裡應該提供什麼樣的作用呢?

他應該了解企業在 IT 資源上的需求,也明白各種不同雲端平臺、服務的特性,妥善運用這些平臺及服務來滿足企業的需求。就好比,企業對於伺服器的計算需求,雲端架構師必須評估像是基於安全性的考量,是否適合放在雲端平臺上,以及,對計算的需求量究竟應該如何配置,是最節省成本的。同時,在規畫整個架構時,也必須將未來的發展潛力納入考量,讓整體架構能夠隨著需求量增加,而提高服務的規模。

光是看IaaS的雲端平臺,其計費方式各家都有所不同,有的儲存空間貴、頻寬便宜,有的相反,頻寬便宜、儲存空間貴。

如何依據企業的各種應用分別儲存、在頻寬、在計算量的需求,選用合適的雲端平臺,就成了雲端架構師的工作之一。甚至,在可能的情況下,混用不同的雲端平臺,分別利用其優勢來滿足企業需求,更能發揮優化成本的作用。

軟體開發團隊中的雲端架構師

除了身負企業內部 IT 資源規畫及設計的「雲端架構師」之外,「雲端架構師」的這個角色,放在開發團隊裡頭又有不同的意義。除了企業內部 IT 資源開始有雲端化的趨勢之外,新開發之軟體服務的架構,在雲端化的方向上也前進得很快。當開發團隊所開發出來的軟體服務,不再只是局限運用自有的機房空間裡的資源,而是開始運用雲端上的計算資源時,軟體架構的設計及規畫的方式,也會和傳統的方式有所不同,因此,在開發團隊中也會需要「雲端架構師」的角色。

舉一個例子來說,在 AWS EC2 上,有所謂 on-demand instance(需要時才開)以及 reserved instance(預留開啟),二者價格不同。由於 reserved instance 需要先付一筆錢,並且約定使用的期限,所以它的價格比 on-demand instance 較低。這是很合理的,對 Amazon 來說,它可以預期一段長期的用量,它就更好排程。當然,預付也是讓價格可以更低的原因之一。如果你是一名雲端架構師,你的工作就是應該評估,對團隊來說,究竟那種方式比較符合需求。on-demand instance 的好處是可以很動態的隨著需求來運用,但缺點就是單位時間的成本會比 reserved instance 高。而 reserved instance 則正好相反。

更有趣的是,AWS 還有另一種稱為spot instance的東西。從 AWS 優化 CPU 使用率的觀點來看,spot instance是個有意義的產品。它是一個什麼樣的東西呢?因為 AWS 的機器眾多,並不見得分分秒秒 CPU 計算力都被使用耗盡,因此,總會有閒置不用的 CPU 計算能力,既沒有 reserved instance 把它們配置走,也沒有 on-demand 的 instance 用掉。因此,AWS 讓有興趣的人,對閒置的計算力做競標,價高者得。對 AWS 來說,這些閒置不用的計算力與其白白的浪費掉,不如以「可能比較低」的價格來吸引需要計算力的人,不論價格為何,總是比白白浪費來得划算。

由於 AWS 允許其他人隨時可能會再出更高的價格把計算力買走,當這件事發生時,你所用的 instance 就會被收走。因此,這種型態的 instance 仍然有個先天的關鍵缺點。

當然,天下沒有白吃的午餐的道理。不過,在我們過去的應用中,團隊裡的聰明同事想到一些短期的工作,例如進行一些後端背景作業的程式,很適合應用 spot instance。一來,它們並不需要長期運行,二來,即使執行到中間被 AWS 收回、工作未完成,也能透過「工作佇列(Job Queue)」的機制重新加以執行。

這麼一來,上述這種應用方式,可以善用 spot instance 的低成本優點,卻又不會因為其缺點而有太大的損失,而成了一種很好的應用方式。

這就是一個說明雲端架構師重要性的好例子。運用雲端上的服務和產品,其模式和傳統在某些面向上來說會有很大的不同。上述的應用,若是以傳統的方式來進行,可能就是運用 reserved instance 來做。但其實背景作業並不需要持續進行,這使得你的 reserved instance 一樣會有 CPU閒置的情況,導致成本浪費。但是,懂得運用其他服務的架構師,就會知道此類的應用適合運用 spot instance 來進一步降低成本,這正是雲端架構師的作用及價值。

雲端的時代無疑的已經到來,而雲端架構師這種全新登場的角色對接下來企業或是軟體開發團隊來說,都會愈來愈重要。

作者簡介


Advertisement

更多 iThome相關內容