iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

雲端發展歷史

The Network is the computer

1983年,昇陽電腦提出「網路是電腦」(「The Network is the computer」)。
John Gage 首次創造這樣的口號
因為圍繞「網絡就是計算機」構建了 Sun 的願景而受到讚譽。
這口號算是訂定雲端或雲端運算的基礎
大意是希望建立的服務時
背後都是基於網路架構
而不是在隔離環境中運行
這口號一直到 2010 年 Sun 被 Cloudflare 收購時
願景依然存在

Cloud Computing

1996年,Compaq公司在其公司的內部檔案中
首次提及「雲端運算」這個詞彙
在當時只是個互聯網的一項業務
不過在當時這仍是個沒有被列入牛津字典的詞彙
從這時候起的十多年間
這詞彙開始被許多人提起
不過大家仍不知道何謂雲端運算

AWS 推出 EC2 和 S3

2006 年 3月 AWS 推出雲端服務 EC2 和 S3
相比之下,Google 是在 2008 年推出 GCP
而微軟則是在 2010 推出 Azure
很多人會好奇
為什麼以電子商務起家的公司
而非傳統技術公司(如:IBM、微軟、Google)為什也有能力推出雲端運算服務
雖然在台灣有些人也會過聖誕節和感恩節
但是感恩節和聖誕節在美國仍是相當重要的節日
在還沒有雙11購物的時候
幾乎也是大家瘋狂採買的時候
為了因應採買的需求
Amazon 需要準備很多主機因應採購旺季
但是這為了旺季準備的大量機械
在淡季時就顯得有點雞肋
它是重要的不過現在用不到放在機房又顯得有點佔空間
索性就將當時閒置資源
租用給其他需要的人做使用
這也是雲端正式開始出現在世人眼中

甚麼是雲端

說了這麼多,所以甚麼是雲端?

2011 年時,美國國家標準和技術研究院的雲端運算定義中明確了三種服務模式,而住三種也是大家普遍接受的定義:

  1. 軟體即服務(SaaS):消費者使用應用程式,但並不掌控作業系統、硬體或運作的網路基礎架構。是一種服務觀念的基礎,軟體服務供應商,以租賃的概念提供客戶服務,而非購買,比較常見的模式是提供一組帳號密碼。例如:AWS CloudWatch、AWS Managed Grafana。
  2. 平台即服務(PaaS):消費者使用主機操作應用程式。消費者掌控運作應用程式的環境(也擁有主機部分掌控權),但並不掌控作業系統、硬體或運作的網路基礎架構。平台通常是應用程式基礎架構,辨別方式也可以理解成把消費者的 應用包進去,消費者僅能修改自己的應用程式,但不能夠任意修改,而是需要符合平台規範。例如:AWS RDS、AWS Elastic Beanstalk。
  3. 基礎設施即服務(IaaS):消費者使用「基礎運算資源」,如處理能力、儲存空間、網路元件或中介軟體。消費者能掌控作業系統、儲存空間、已部署的應用程式及網路元件(如防火牆、負載平衡器等),但並不掌控雲端基礎架構。例如:AWS EC2。

何謂雲原生

在雲端出現前
我們打造應用程式
往往採用龐大的單體架構
甚至把多個系統或多個服務塞進一台虛擬機
這導致未來服務在擴展時
不好將功能進行切割
甚至讓系統負擔越來越重

舉個實際的情境來解釋:
今天我們有三台虛擬機
我們放上我們的應用程式
為了能夠做監控於是於是我們導入 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 停擺
雖然重要業務系統仍可正常運作
但是會影響到同仁的障礙排除
當沒有足夠人力編制在維運團隊時
考慮到可靠度更高的雲端託管服務或是雲原生架構
這時候除了可以更快提供解決方案
也可以避免邊緣系統未來維護和營運上的困難

餐考資料:

  1. [維基百科] The Network is the computer
  2. Cloudflare - The Network is the computer
  3. Who Coined 'Cloud Computing'?
  4. 徹底了解Cloud Computing|定義篇
  5. AWS - 何謂雲原生

上一篇
Day 1 鐵人賽規劃
下一篇
Day 3 EC2 使用多個 Key (Linux)
系列文
上完 AWS 線上課程就打算應徵相關工作是否搞錯甚麼30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言