AWS - Basic 1

之前由於公司 Training 考取了 AWS-SAP 的證書,更多理解的是概念和理論上的知識,並未實操。但對於學習一門技術來說,實踐是加深理解和掌握該技術的必經之路,強調知行合一。所以最近打算重新熟悉相關架構,並利用 AWS global 的 Free tier 進行實操。

本篇主要內容會圍繞 AWS 基礎概念進行講解:

  • 雲計算定義
  • 雲計算類型
  • AWS 基礎設施

雲計算定義

在具體介紹 AWS 內容前,我們先來看一看對 cloud computing 的定義。

wiki 上這樣寫到:

Cloud computing[1] is the on-demand availability of computer system resources, especially data storage (cloud storage) and computing power, without direct active management by the user.

雲計算是用戶在不參與管理的情況下,對系統計算資源的按需使用,特別是在數據存儲和計算資源這兩個方面。

換成我們可以理解的話來說,就是一個個雲廠商,通過自己搭建數據中心,將存儲和計算等等資源自己管理後,提供給外界的用戶。在不用自己搭建基礎設置的情況下,直接按照自己的需要,按需購買雲廠商提供的資源,省去了自己管理基礎設施的運維成本以及購買相關硬件的費用。從這也可以看到,雲計算的本質其實就是資源的共享。

雲計算類型

AWS 作爲第一家提供雲計算的服務商和整個行業的領跑者,這裏我們就以 AWS 爲例。看看 AWS 怎樣看待雲計算。

AWS 認爲雲計算共有三種類型:

  • IaaS - 基礎設施即服務
  • PaaS - 平臺即服務
  • Saas - 軟件即服務

上面是對三種類型的定義,理解起來有些抽象。這裏我們依次用我們理解的話來說:

IaaS

對於 IaaS, 我們可以理解成,作爲用戶,我們向 AWS 申請的資源是 硬件 + 操作系統。就像我們購買了一臺物理服務器,其中包括 CPU, 內存,硬盤,以及使用哪種操作系統進行管理,比如像 AWS EC2 實例資源。

PaaS

而對於 PaaS 來說,我們向 AWS 申請的資源是 硬件 + 操作系統 + 可以運行軟件的平臺。相當於基於 IaaS 基礎上,多加了一個軟件平臺。怎麼去理解這個軟件平臺呢。

可以將其理解成,運行軟件時必要的環境。比如想運行 docker 應用,那麼 PaaS 會把 docker 的環境裝好,你只需要上傳自己的 image 就可以了。比如想要使用 java web 應用,PaaS 會把 Apace 裝好,你直接提供 jar 包就可以了。

SaaS

最後對於 SaaS 來說,又是 PaaS 的更近一步,除了軟件運行環境給你裝好了外,需要運行的軟件一起給你裝好了。比如想使用 MySQL,Redis 這類的軟件,直接使用對應的服務就可以了。對於 AWS 就是 RDS,DynamoDB,S3 這類的服務。你完全不需要知道它們是怎麼搭建的,只要會用就可以了。

AWS 簡要架構

對於一個應用來說常採用如下的架構。

其中第一列是,用戶會通過 Route53 - dns 解析,CloudFront(CDN)或者 Web Layer 進入。

第二列對應具體的計算資源,比如像 EC2,EKS 等處理用戶的請求。

第三列對應數據存儲層,像 RDS ,S3,EBS 這些存儲服務

AWS 全球基礎設施

AWS 作爲世界最大的雲廠商,其基礎設施遍佈全球。

在理解 AWS 的基礎設施前,需要理解幾個概念:

區域:

區域是 AWS 最基本的改變,很多的服務都依賴於區域。比如 S3 提供的 bucket 服務就可以跨區域,但像 EBS 這類的存儲就不能跨區域。

可以把區域理解成,放置數據中心的位置。一個區域,由多個可用區組成。多個可用區的目的在於災備。

可用區:

可以將可用區理解成一個或者多個實際的數據中心。爲了保證可用性,容錯性和可拓展性。一個區域由多個可用區組成,多個可用區之間,使用城域光纖互聯,距離在 1000 公里以內,保證高吞吐和低延遲的網絡。

邊緣網絡:

在每個區域附近,都會設置邊緣站點,其實就可以將其理解成 CDN 節點,緩存各個數據中心的數據。

這裏簡單說下 CDN,每個region旁的邊緣站點,不僅僅緩存本區域的數據,還會緩存其他區域的數據。這就保證了本區域的用戶,訪問其他區域的數據,請求可以很快被響應。

但你肯定有這樣一個疑問,邊緣站點容量總是有限的,它怎麼緩存多個區域那麼多的數據呢。原因在於和 DNS 解析類似,CDN 也有自己的分發網絡。

邊緣節點用於接收請求,當自己的邊緣站點找不到時,會遞歸查詢區域節點,如果區域節點也查不到,就會請求中心節點。可以看到從小到上,節點的容量是不斷增加的。最後如果中心節點也沒有,就直接去源站點請求了。

所以在有了 CDN 之後,用戶請求一個域名,就有原來的 DNS 解析域名所對應的真實服務器的 IP. 變成了用戶請求域名後,域名服務器會根據 CNAME 返回一個 cdn 服務器的域名,轉而去請求解析這個 cdn 服務器的域名。而 cdn 服務器會根據用戶 IP 地址,所在運營商等等情況,選擇一臺包含原來真實服務器的緩存服務器 IP 地址,請求數據。

參考

雲計算類型

基礎架構

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章