1983年,昇陽電腦提出「網路是電腦」(「The Network is the computer」)。
John Gage 首次創造這樣的口號
因為圍繞「網絡就是計算機」構建了 Sun 的願景而受到讚譽。
這口號算是訂定雲端或雲端運算的基礎
大意是希望建立的服務時
背後都是基於網路架構
而不是在隔離環境中運行
這口號一直到 2010 年 Sun 被 Cloudflare 收購時
願景依然存在
1996年,Compaq公司在其公司的內部檔案中
首次提及「雲端運算」這個詞彙
在當時只是個互聯網的一項業務
不過在當時這仍是個沒有被列入牛津字典的詞彙
從這時候起的十多年間
這詞彙開始被許多人提起
不過大家仍不知道何謂雲端運算
2006 年 3月 AWS 推出雲端服務 EC2 和 S3
相比之下,Google 是在 2008 年推出 GCP
而微軟則是在 2010 推出 Azure
很多人會好奇
為什麼以電子商務起家的公司
而非傳統技術公司(如:IBM、微軟、Google)為什也有能力推出雲端運算服務
雖然在台灣有些人也會過聖誕節和感恩節
但是感恩節和聖誕節在美國仍是相當重要的節日
在還沒有雙11購物的時候
幾乎也是大家瘋狂採買的時候
為了因應採買的需求
Amazon 需要準備很多主機因應採購旺季
但是這為了旺季準備的大量機械
在淡季時就顯得有點雞肋
它是重要的不過現在用不到放在機房又顯得有點佔空間
索性就將當時閒置資源
租用給其他需要的人做使用
這也是雲端正式開始出現在世人眼中
說了這麼多,所以甚麼是雲端?
2011 年時,美國國家標準和技術研究院的雲端運算定義中明確了三種服務模式,而住三種也是大家普遍接受的定義:
在雲端出現前
我們打造應用程式
往往採用龐大的單體架構
甚至把多個系統或多個服務塞進一台虛擬機
這導致未來服務在擴展時
不好將功能進行切割
甚至讓系統負擔越來越重
舉個實際的情境來解釋:
今天我們有三台虛擬機
我們放上我們的應用程式
為了能夠做監控於是於是我們導入 munin monitor
為這三台機械做監控
隨著服務越來越多從三台增加到二十台
監控機制及告警機制也補完
但是我們也需要 Log Server 去蒐集這些 Log
作為統一查詢平台
於是我們建立 ELK 或 Splunk
將這二十台統一拋轉至 Log Server
再另外建立 Grafana 去抓取這些資料來源
供使用者查詢及除錯使用
而雲端的出現
也讓在服務建立時
就先使用雲端現有的功能
透過雲端帶來的可靠度及高擴展度
我們不需要花太多時間思考基礎設施
有些功能採用雲端託管
進而可以專注在重要的業務邏輯開發
以 AWS 為背景舉例:
當我們有靜態頁面時,使用 S3 架站
有動態頁面及應用程式時
我們使用 EC2 建立服務
資料庫的部分使用 RDS
在 RDS 中資料庫空間不足時設定自動擴展
EC2 和 RDS 的 Log 都拋轉至 Amazon OpenSearch Service 統一做管理
並建立 AWS Managed Grafana 去抓取 Amazon OpenSearch Service 做為 Dashboard 呈現
監控的部分使用 CloudWatch 監控 EC2 和 RDS 的使用狀況
告警機制則根據 CloudWatch 的 Metrics 去串接 AWS SNS 發送告警通知
並不是 munin 比較差或是自建服務比較差
而是當業務量逐漸成長
這類的非業務核心的系統
我們在管理時越需要謹慎小心
可能在更新或上 Patch 時沒注意到
導致 Grafana 或 ELK 停擺
雖然重要業務系統仍可正常運作
但是會影響到同仁的障礙排除
當沒有足夠人力編制在維運團隊時
考慮到可靠度更高的雲端託管服務或是雲原生架構
這時候除了可以更快提供解決方案
也可以避免邊緣系統未來維護和營運上的困難
餐考資料: