當我們向別人解釋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云平臺的基礎服務中15種主要服務。
1. 計算服務:Amazon EC2
Amazon EC2是AWS提供的云主機服務,它為用戶提供了一個彈性的計算環境。簡單的講,一個EC2實例就是一臺虛擬服務器。AWS目前提供將近30種不同的EC2計算實例類型供用戶選擇。用戶可以根據實際應用的計算需求來選擇不同EC2實例的種類和數量,并可以在數分鐘內構建起自己的計算環境。
2. 計算服務:Auto Scaling
Auto Scaling是一個幫助EC2計算服務進行自動伸縮的服務。通過與CloudWatch、ELB服務的配合使用,Auto Scaling能夠讓用戶的EC2計算環境可以根據負載來自動進行橫向擴展或收縮,這樣不僅可以保障應用在不同的負載下有一致的用戶體驗,還可以在低負載下節約計算資源。
3. 計算服務:AmazonWorkspaces
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連接來得到相對一致的網絡服務體驗。