AWS雲平臺的服務概覽(上):基礎服務
當我們向別人解釋AWS雲平臺所包含的那些服務的時候,許多人對AWS服務種類的豐富程度都表示驚訝。對於部分聽說過AWS的人來說,他們知道AWS雲平臺的功能主要限於EC2(彈性計算雲)、S3(簡單儲存服務)等幾種我們在2006年就推出來的服務。實際上經過7年多的創新發展,AWS目前已經包含了三十多種不同的雲服務。這裡就把AWS雲平臺所包含的主要服務功能進行一個概要性的介紹。
先讓我們看一下AWS雲平臺的服務分類。AWS雲平臺的服務可以分為三大類:
第一類是基礎服務(Foundation Services),主要包括計算、儲存、網路和資料庫等雲端計算中最為基礎的服務。它們不僅是使用者使用最為頻繁的服務,同時也是AWS其他服務構建的基礎。
第二類是應用服務。這類服務主要是幫助開發人員簡化在AWS雲平臺上編寫應用程式。
第三類是部署和管理服務。這類服務是幫助使用者在AWS雲平臺上部署和管理應用程式。
除了我們經常說的雲端計算特性外,AWS雲平臺服務的一個重要特點就是所有這些服務有基於Web服務的API程式設計介面和命令列環境,從而方便使用者通過不同的方式來使用這些服務。
AWS雲平臺的服務概覽如下圖所示:
AWS在全球的基礎設施上構建了AWS雲平臺的服務。使用者可以根據需要使用其中一種或多種服務。為幫助初次接觸AWS的童鞋建立一個AWS雲服務的整體瞭解,接下來我就根據服務類別把這些主要的服務依次做個簡單的介紹。在這篇文章中我們先介紹AWS雲平臺的基礎服務中15種主要服務。
1. 計算服務:Amazon EC2
Amazon EC2是AWS提供的雲主機服務,它為使用者提供了一個彈性的計算環境。簡單的講,一個EC2例項就是一臺虛擬伺服器。AWS目前提供將近30種不同的EC2計算例項型別供使用者選擇。使用者可以根據實際應用的計算需求來選擇不同EC2例項的種類和數量,並可以在數分鐘內構建起自己的計算環境。
2. 計算服務:Auto Scaling
Auto Scaling是一個幫助EC2計算服務進行自動伸縮的服務。通過與CloudWatch、ELB服務的配合使用,Auto Scaling能夠讓使用者的EC2計算環境可以根據負載來自動進行橫向擴充套件或收縮,這樣不僅可以保障應用在不同的負載下有一致的使用者體驗,還可以在低負載下節約計算資源。
Workspaces就是一個由AWS提供基於雲的桌面虛擬化服務,或者稱為桌面雲服務。Workspaces是傳統VDI方案的一種基於雲端計算的實現方式。使用者可以用包括PC、iPad、Kindle和Android平板等各種終端裝置通過網路訪問他們的Workspaces桌面。
4. 儲存服務:Amazon S3
S3(Simple Storage Service)為開發人員提供了一個高度擴充套件(Scalability)、高永續性(Durability)和高可用(Availability)的分散式海量資料儲存服務。它是一個完全針對網際網路的資料物件儲存服務,應用程式可以通過一個簡單的Web服務介面就可以通過網際網路在任何時候訪問S3上的資料,而且S3提供高達11個9(99.999999999%)的資料永續性。
5. 儲存服務:Amazon EBS
EBS(Elastic Block Store)是AWS為EC2例項提供的基於網路的塊級儲存服務。EBS卷可以獨立於EC2例項的生命週期存在,在功能和使用上有點類似外接的硬碟儲存或傳統基於IP的SAN儲存,因此當用戶需要基於塊級的永續性儲存時,可以選擇EBS卷,而且可以根據不同的應用場景選擇不同的卷大小和IOPS(100-4000 IOPS/卷)。非永續性資料儲存的需求使用者可以直接使用例項儲存(Instance Store)。
6. 儲存服務:AWS Storage Gateway
Storage Gateway是一個把使用者企業記憶體儲和基於AWS雲端儲存進行安全連線,並把使用者在企業內部儲存的資料備份到AWS的S3或Glacier的服務。Storage Gateway會以軟體裝置即基於虛擬機器(VMWare ESXi或Microsoft Hyper-V伺服器)的方式為使用者提供一個軟體安裝在使用者自己的環境中。這個軟體裝置一方面向用戶的應用提供基於i-SCSI的儲存(磁碟卷或虛擬帶庫)介面,另一方面把資料非同步備份到S3或Glacier上面。
7. 儲存服務:Amazon Glacier
Glacier是AWS提供的一種低成本的、針對資料歸檔或備份的儲存服務。Glacier與S3服務一樣提供了一個安全的和高達11個9的永續性資料儲存,與S3隨時訪問資料不同的是Glacier的資料讀取操作需要排隊等待3-5個小時,不過這個資料讀取時間和方便性與傳統磁帶備份相比還是有很大的提升。適合Glacier儲存的應用場景特點是資料需要比較長時間儲存但是偶爾需要讀取。
8. 資料庫服務:Amazon RDS
RDS(Relational Database Service)是用來幫助客戶在AWS雲平臺上快速部署、擴充套件和運維關係型資料庫的一個服務。RDS可以認為是一個DaaS(Database as a Service),它為你提供了一個由AWS高效管理的關係型資料庫服務,這樣你可以把你的精力放在應用程式和業務邏輯上而不用擔心底層的資料庫維護工作,包括補丁升級、資料備份等。RDS目前支援的資料庫包括MySQL、Oracle、SQL Server和PostgreSQL。
9. 資料庫服務:Amazon DynamoDB
DynamoDB是AWS提供的靈活可擴充套件的NoSQL資料庫服務。DynamoDB採用鍵值(Key Value)方式的儲存模式,並通過多份資料拷貝方式提供較高的可用性和永續性。作為一種NoSQL服務,使用者不用擔心資料量也不用管理資料庫分割槽分表的問題。通過高速的網路和基於SSD的儲存,DynamoDB能夠保證高吞吐量和小於10毫秒的訪問延時。
10. 資料庫服務:Amazon ElastiCache
ElastiCache是AWS提供的一個基於記憶體的分散式快取服務,一般可以通過這個服務來降低資料庫的訪問壓力。目前ElastiCache支援兩種開源的快取引擎:Memcached和Redis。ElastiCache能夠自動偵測和替換失效節點,從而降低使用者構建和管理分散式快取服務的負擔。
11. 資料庫服務:Amazon Redshift
Redshift是一個高效的、基於分散式群集的PB級資料倉庫服務。這個資料倉庫服務是由AWS管理並維護的,使用者只需要通過管理控制檯就可以快速建立和使用。Redshift可以與基於SQL的客戶端工具和基於ODBC或JDBC的商務智慧工具協同工作。使用者根據實際使用量來付費,一般使用者使用Redshift的成本約為其採用傳統資料倉庫產品服務的十分之一。
12. 網路服務:Amazon VPC
VPC(Virtual Private Cloud)讓使用者可以在AWS雲平臺上構建出一個隔離的、自己能夠管理配置和策略的虛擬網路環境,從而進一步提升使用者在AWS環境中的資源的安全性。使用者可以在VPC環境中管理自己的子網結構,IP地址範圍和分配方式,網路的路由策略等。由於使用者可以掌控並隔離VPC中的資源,因此對使用者而言這就像是一個自己私有的雲端計算環境。
13. 網路服務:Elastic Load Balancing
Elastic Load Balancing(簡稱ELB)是AWS為EC2例項提供的可以跨可用區的負載均衡服務。它能夠自動把HTTP/S或TCP請求分發給後面的EC2例項。ELB本身也是一項可擴充套件和高可用的服務,而且它能自動偵測後面EC2例項的健康狀況,如果發現不健康的例項就會自動把訪問流量導向其他例項。如果在VPC環境中,ELB還可以在不同應用層之間進行負載均衡的分發工作。
14. 網路服務:Amazon Route53
Route53是AWS提供的一項高可用和高可擴充套件性的域名系統服務。它可以幫助終端使用者的基於域名的網際網路訪問請求轉化成基於IP地址的請求。Route53可以高效的把使用者對AWS上服務的請求,如對EC2例項、ELB、CloudFront分發或S3儲存桶的請求提供域名解析服務,當然作為一個域名服務它也可以為非AWS上服務請求提供解析服務。Route53還提供了基於延時和基於權重的訪問路由功能。這裡留個有意思的小問題,大家覺得為什麼這個服務名中包含53而不是別的數字呢?
15. 網路服務:AWS Direct Connect
Direct Connect(簡稱DX)可以幫助使用者在自己的資料中心或辦公場所與AWS雲平臺之間建立起一個專用的網路通道。根據區域的不同,AWS提供了不同的DX連線點。使用者可以通過這些DX連線點與AWS雲平臺建立起一個更為穩定可靠的高頻寬網路連線。無論是VPC裡的服務還是像S3這樣通過公開的網際網路服務,使用者都可以通過DX連線來得到相對一致的網路服務體驗。