雲端之前
- 17 分鐘
既然我們已定義什麼是雲端運算,讓我們看一下在雲端運算出現之前,如何在不同網域中使用運算的範例 (例如商務運算、科學運算和個人運算)。
商務運算:商務運算經常牽涉到使用管理資訊系統來推動物流和營運、企業資源規劃 (ERP)、客戶關係管理 (CRM)、辦公室生產力,以及商業智慧 (BI)。 這類工具實現了更精簡的程序,從而在各種企業間提高生產力並降低成本。
例如,CRM 軟體讓公司能夠收集、儲存、管理及解譯關於過去、目前和潛在未來客戶的各種資料。 CRM 軟體會提供所有組織與客戶互動的整合式檢視 (即時或近乎即時)。 對於製造公司,銷售小組可以使用 CRM 軟體來排程與用戶端的會議、工作及後續追蹤。 行銷小組可以根據特定模式,透過行銷活動來將用戶端設為目標。 帳單小組可以追蹤報價和發票。 因此,它是用來儲存這類資訊的集中存放庫。 若要啟用此功能,組織和銷售小組會使用各種硬體和軟體技術,以收集需要使用各種資料庫和分析系統來儲存和分析的資料。
科學運算:科學運算會使用在電腦上實作的數學模型和分析技術,嘗試解決科學問題。 一個常見範例是物理現象的電腦模擬,例如使用氣候模型來預測天氣。 此領域讓科學家和工程師能夠藉由在不同的情況下開發程式來模擬和研究不同系統,以重新建構已知的事件或預測未來狀況,因而破壞了傳統理論和實驗室的實驗方法。 這類模擬一般需要大量計算,通常會在昂貴的超級電腦或分散式運算平台上執行。
個人運算:在個人運算中,使用者會在一般用途的個人電腦 (PC) 上執行各種應用程式。 這類應用程式的範例包括文字處理器和其他辦公室生產力軟體、通訊應用程式 (例如,電子郵件用戶端),以及娛樂軟體 (例如,電玩遊戲和媒體播放程式)。 PC 使用者通常會擁有、安裝及維護用來執行這類工作的軟體和硬體。
處理規模調整
IT 的長期挑戰之一是調整計算資源以符合需求,例如增加網站的容量以滿足日益增加的客戶群需求,或者在尖峰上班時間或在吸引大量群眾的特殊事件期間處理「高載」負載。
無論是在 CRM 中增加要擷取、監視及分析的客戶和事件數量,或是提高科學運算中數值模擬的精確度或電玩遊戲應用程式中的真實感,提高運算規模一直都會持續進行。 此外,由於各種網域所採用的技術增加,或是企業和市場的擴充,以及使用者人數及其需求的日益增長,因而衍生出對大規模調整的需求。 組織在規劃其解決方案的部署並為其編列預算時,必須將規模增加納入考量。
組織通常會在稱為容量規劃的過程中,規劃其 IT 基礎結構。 在容量規劃過程中,會量測各種 IT 服務的使用量增長情況,並用來作為未來擴充的效能評定。 組織必須事先規劃採購、設定及維護較新且更好的伺服器、存放裝置和網路設備。 有時組織會受到軟體限制,因為他們可能採購了一組有限的授權,而且可能需要更多,才能擴充基礎結構以涵蓋更廣大的使用者群。
最基本的調整形式稱為垂直調整,其中舊的系統會取代為效能更佳的較新系統,並配備更快的 CPU 及更多的記憶體和磁碟空間。 在許多情況下,垂直調整包含升級或取代伺服器,以及增加存放裝置陣列的容量。 此過程可能需要數個月的時間來規劃和執行,並且隨著升級的推出,經常需要短暫的停機期間。
調整也可以藉由增加或減少系統專用的資源數目,以水平方式完成。 這其中一個範例是,在高效能運算中,可將額外的伺服器和儲存體容量新增至現有叢集,藉以增加每秒可執行的計算數目。 另一個範例牽涉到 Web 伺服陣列 (裝載網站和 Web 應用程式的伺服器叢集),可在其中將其他伺服器上線以處理增加的流量。 就像垂直調整一樣,此過程可能需要數個月的時間來規劃和執行,也可能產生停機時間。
由於公司擁有並維護其 IT 設備,因此,隨著處理調整規模的成本不斷上升,公司開始尋找其他方法來降低成本。 大型公司會將不同部門的運算需求合併為單一大型資料中心,讓他們能夠合併房地產、電力、冷卻功能和網路,以降低成本。 另一方面,小型和中型公司可能會將其 IT 設備放在共用的資料中心,藉此租用房地產、網路、電力、冷卻功能和實體安全性。 這通常稱為共置服務,這是小型到中型公司所採用的服務,這類公司不想在內部建立自己的資料中心。 共置服務會繼續在各種網域中採用,以符合成本效益的方式來降低營運費用。
商務運算已透過垂直和水平調整,以及將 IT 資源合併至資料中心和共置,來處理規模調整。 在科學運算中,採用了平行和分散式系統,以相應增加問題的大小及其數值模擬的精確度。 「平行處理」的定義之一是使用多部同質電腦,這些電腦會共用狀態當作做單一大型電腦來運作,以執行大規模或高精確度計算。 「分散式運算」會使用網路所連線的多個自發運算系統,將大型問題分割成可同時執行的子工作,並透過網路通過訊息進行通訊。 科學界會繼續在這些網域中進行創新,以處理規模調整。 在個人運算中,規模調整會因為內容更豐富且需要大量記憶體的應用程式所帶來的需求增加而受到影響。 使用者會使用更快速的較新機型來取代其電腦,或升級現有機型以符合這些需求。
網際網路服務的興起
1990 年代後期,跨網域對這些運算應用程式和平台的採用呈現了穩定成長。 很快地,軟體不只能正常運作,也能夠產生適用於商務和個人需求的價值和深入解析。 使用這些應用程式已成為共同作業;應用程式會混用並相符,以便相互饋送資訊。 它不再只是公司的成本中心,還是創新和效率的來源。
圖 1.2:比較傳統和網際網路規模的運算。
21 世紀標榜無線通訊、全球資訊網和網際網路的數量和容量激增。 這些變更形成了網路導向和資料導向的社會,簡化了產生、傳播和存取數位化資訊的過程。 網際網路打造了一個擁有超過 40 億使用者的全球市集。 這個資料和連線的興起對企業而言非常重要。 資料會以數種方式來創造價值,包括透過進行實驗、分割母體擴展,以及支援自動化的決策制訂1。 藉由採用數位技術,全球排名前 10 大的經濟體預期會在 2015 年到 2020 年間,使其產量增加 1 億美元以上。
網際網路所啟用的連線數目也會衍生出其價值。 研究人員假設網路的價值會隨著使用者人數變動,而呈現超線性變化。 因此,在網際網路規模上,獲得並保留客戶是當務之急,而這可透過建置有回應的可靠服務,並根據觀察到的資料模式進行變更來完成。
網際網路規模系統的一些範例包括:
- 搜尋引擎,可對大型 (高達 PB 的大小) 資料集進行母體擴展、儲存、編製索引及搜尋。 例如,Google 一開始是一個巨型 Web 索引,每隔幾天就會對網路流量進行母體擴展並分析一次,然後將這些索引與關鍵字進行比對。 現在會以近乎即時的方式更新索引,而且是在網際網路上存取資訊的最熱門方法之一。 其索引具有無限個大小為數千 TB 的頁面3。
- 社交網路 (例如 Facebook 和 LinkedIn) 可讓使用者建立個人和專業關係,並根據類似興趣建置社群。 例如,Facebook 目前宣稱每月有超過 20 億位作用中使用者。
- 線上零售服務 (例如 Amazon) 會維護數百萬個產品的庫存,並供全球使用者群使用。 在 2017 年,Amazon 的線上零售業務已達到 $1780 億的淨銷售額,比前一年增加 31%。
- 豐富的串流多媒體應用程式,讓人們能夠觀看並分享影片及其他形式的豐富內容。 YouTube 即為一例,其每天提供高達 50 億部影片,每秒有 300 分鐘的影片上傳到其中。
- 即時通訊系統,適用於音訊、影片及傳訊 (例如 Skype),每月記錄超過 500 億分鐘的通話。
- 生產力和共同作業套件,可為許多並行使用者提供數百萬份文件,以允許即時持續更新。 例如,Microsoft 365 每月大約會為 6000 萬位作用中使用者提供服務。
- CRM 應用程式會由 SalesForce 之類的提供者部署給十萬個組織。 大型 CRM 現在提供直覺式儀表板來追蹤狀態、進行分析,以找出產生最多商務和收益預測的客戶來預測未來成長。
- 資料採礦和商業智慧應用程式會分析其他服務 (如上所示) 的使用方式,以找出效率低落和創造營收的機會。
顯然,這些系統應該會處理大量並行使用者。 這要求基礎結構具備處理大量網路流量、產生並安全儲存資料的容量,而且全都不會引發任何顯著的延遲。 這些服務會藉由提供穩定可靠的品質標準來衍生其價值。 也會為行動裝置和網頁瀏覽器提供豐富的使用者介面,使其易於使用,但較難建置和維護。
以下將摘要說明網際網路規模系統的一些需求:
- 無所不在 --- 隨時隨地都能從存取眾多裝置進行存取。 例如,銷售人員將預期其 CRM 服務會在行動裝置上提供即時更新,讓您以更短、更快速且更有效率的方式造訪用戶端。 服務應該能在各種網路連線下順暢運作。
- 高可用性:服務必須隨時「可供使用」。運作時間會以數個 9 來測量。 三個 9 或 99.9% 意味著服務一年將有 9 小時無法使用。 五個 9 (一年大約 6 分鐘) 是高可用性服務的典型閾值。 在線上零售應用程式中,即使停機數分鐘,也可能產生數百萬美元銷售額的影響。
- 低延遲:快速回應的存取時間。 顯示頁面載入時間也會稍微慢一點,以大幅降低受影響網頁的使用方式。 例如,將搜尋延遲從 100 毫秒增加到 400 毫秒,會將每位使用者的搜尋次數從 0.8% 降至 0.6%,即使在將延遲還原至原始等級之後,變更仍會存在。
- 延展性:能夠處理因季節性和病毒性而產生的可變負載,這會在長期和短期內導致流量的尖峰和低谷。 在「黑色星期五」和「網路星期一」之類的日子裡,Amazon 和 Walmart 等零售商會接收到高過平均值數倍的網路流量。
- 成本效益:網際網路規模的服務很明顯地需要比傳統應用程式更多的基礎結構,以及更好的管理[4]。 簡化成本的方式之一是,讓服務更容易管理並減少處理服務的系統管理員數目。 較小型服務可以承受服務對系統管理員的低比率 (例如 2:1,這表示單一系統管理員必須維護兩個服務)。 不過,為了維持獲利率,Microsoft Bing 等服務必須具有服務對系統管理員的高比率 (例如 2500:1,這表示單一系統管理員要維護 2500 個服務)。
- 互通性:許多這些服務通常會一起使用,因此,必須提供簡單的介面以供重複使用,並支援匯入和匯出資料的標準化機制。 例如,Uber 之類的服務可能會將 Google Maps 整合到他們的產品中,以便為使用者提供簡化的位置和瀏覽資訊。
我們現在將探索上述各種問題的一些早期解決方案。 第一個要著手處理的挑戰是,主要位於美國之早期 Web 服務的來回行程時間。 處理低延遲 (因為遠距伺服器) 和伺服器故障問題的最早機制,就只是依賴備援。 達成此目標的其中一項技術是「鏡像處理」內容,而熱門網頁的複本會儲存於世界各地的不同位置。 這會將中央伺服器的負載數量降至最低、降低終端使用者所遇到的延遲,以及允許在發生故障時將流量切換到其他伺服器。 缺點是,即使要修改一個資料複本,處理不一致的複雜性也會增加。 因此,此技術對於需要大量讀取的靜態工作負載 (例如,提供影像、影片或音樂) 更有用。 基於此技術的有效性,大部分網際網路規模的服務都會使用內容傳遞網路 (CDN) 來儲存熱門內容的分散式全域快取。 例如,有線新聞網路網 (CNN) 目前在全球不同位置的多部「邊緣」伺服器上維護其影片的複本,並在每個位置提供個人化廣告。
當然,對於個別公司而言,在世界各地購買數十部伺服器不一定可行。 使用共用裝載服務通常可以提高成本效益。 在這裡,共用單一網頁伺服器會出租給多個租用戶,從而分攤了伺服器的維護成本。 共用裝載服務可能具有極高的資源效率,因為在並非所有服務都會同時以尖峰容量運作的假設下,可能會過度佈建資源 (過度佈建的實體伺服器是指,所有租用戶其彙總容量大於伺服器的實際容量。) 缺點是,將租用戶的服務與其芳鄰隔離,幾乎是不可能的。 因此,單一多載或容易出錯的服務可能會對其所有芳鄰造成不良影響。 另一個問題的出現是因為租用戶通常是惡意的,並嘗試利用其共置優勢來竊取資料,或拒絕其他使用者的服務。
為了因應這種情況,開發了虛擬私人伺服器作為共用裝載模型的變異。 向租用戶提供共用伺服器上的虛擬機器 (VM)。 這些 VM 通常會以靜態方式配置並連結至單一實體機器,這表示其很難調整,而且通常需要從任何故障中手動復原。 儘管不再過度佈建它們,但相較於簡單資源共用,它們在共置服務之間具有更好的效能和安全性隔離。
共用公用資源的另一個問題是,它需要將私用資料儲存於第三方基礎結構上。 上述一些網際網路規模的服務無法承受遺失對資料儲存體的控制,因為任何對於客戶私用資料的洩漏都會造成災難性後果。 因此,這些公司需要建立自己的全球基礎結構。 在公用雲端問世之前,這類服務只能由 Google 和 Amazon 等大型企業進行部署。 這其中每家公司都使用現成的元件,在世界各地建立大型同質資料中心,而您可將資料中心視為一部大型倉儲規模的電腦 (WSC)。 WSC 提供了一個簡單的抽象概念,可全球散發應用程式和資料,同時仍保有擁有權。
由於規模經濟,可能會將資料中心的使用率最佳化以降低成本。 雖然這仍不如公開共用資源 (雲端) 有效率,但這些倉儲規模的電腦具備許多理想的屬性,可作為建置網際網路規模服務的基礎。 運算應用程式的規模已從為固定使用者群提供服務進展到為動態全球人口提供服務。 標準化的 WSC 允許大型公司為這類廣大群眾提供服務。 理想的基礎結構會將 WSC 的效能和可靠性與共用裝載模型相結合。 這甚至可讓小型公司開發並啟動具備全球競爭力的應用程式,而不會在建置大型資料中心時造成高度額外負荷。
共用資源的另一種方法是網格運算,這可讓您跨機構和地理位置共用獨立的運算系統。 有數個學術和科學機構會為了實現共同目標而合作並集中其資源。 每個機構接著會透過定義完善的共用規則來專用特定資源集合,藉以聯結「虛擬組織」。 資源通常是異質且相依性低的,需要複雜的程式設計結構才能結合在一起。 網格旨在支援非商業研究和學術專案,並依賴現有的開放原始碼技術。
雲端在邏輯上是結合上述解決方案許多功能的後繼產品。 例如,與其讓大學使用網格來貢獻和共用資源集區的存取,雲端可讓他們租用雲端服務提供者集中管理的運算基礎結構。 由於中央提供者會維護大型資源集區來滿足所有用戶端,因此,雲端可讓您更輕鬆地在短期內以動態方式相應增加和減少需求。 不過,雲端運算會依賴專屬的通訊協定,並要求使用者在 CSP 中放置特定的信任等級,而不是像網格一樣的開放式標準。
參考資料
- IBM (2017 年)。 什麼是巨量資料?https://www.ibm.com/analytics/hadoop/big-data-analytics
- 谷歌公司(2015年)。 搜尋的運作方式。 https://www.google.com/insidesearch/howsearchworks/thestory/
- Hamilton、James R 和其他人 (2007 年)。 On Designing and Deploying Internet-Scale Services (設計和部署網際網路規模的服務)