[轉帖]通俗解釋 AWS 雲服務每個元件的作用
你有聽說過 ContainerCache,ElastiCast 和 QR72 這些 AWS 的新服務嗎? 沒有就對了,這些都是我編的:)
不過,AWS 有 50 多個服務,從名稱也不能看出這些服務是做什麼的。下面我將為你通俗地介紹一下這些 AWS 服務的作用。
執行應用程式的服務
無論你使用 AWS 做什麼,最終都會使用這些服務,因為其他的服務都與應用程式服務進行互動。
EC2
- 別名:亞馬遜虛擬伺服器
- 用途:託管在你看來是計算機的東西。
- 類似於:你在 DigitalOcean 或 Rackspace 可以獲取的虛擬專用伺服器。
IAM
- 別名:使用者,祕鑰和證書
- 用途:建立新的使用者,新的 AWS 祕鑰和策略。
S3
- 別名:亞馬遜無限 FTP 伺服器
- 用途:儲存網站的影象和其他資產。在服務之間保留備份,共享檔案,託管靜態網站。另外,許多 AWS 服務都是從 S3 寫入和讀取的。
VPC
- 別名:亞馬遜虛擬機器架
- 用途:通過新增額外的安全層,打臉一切反對“我們所有的東西都在網際網路上”的意見。使用 VPC,看起來好像你所有的 AWS 服務都在同一個小型網路上,而不是在更大的網路中的一個個小塊。
- 類似於:如果你熟悉網路的話,VPC 就像 VLAN。
Lambda
- 別名:AWS App 指令碼
- 用途:執行自帶的 JS,Java 或 Python 小片段來執行離散任務。 一種佇列和執行的結合。用於儲存和執行 AWS 設定的更改或響應 S3 或 DynamoDB 中的事件。
Web 開發者服務
如果你正在安裝網路應用,最終你將會用到 Web 開發服務。
API Gateway
- 別名:API 代理
- 用途:代理應用程式 API,這樣你可以限制客戶端的不良流量,測試新版本。
RDS
- 別名:亞馬遜 SQL
- 用途:它是你應用程式的 Mysql,Postgres 和 Oracle 資料庫。
Route53
- 別名:亞馬遜 DNS + 域名
- 用途:購買新域名,併為其設定 DNS 記錄。
- 類似於:GoDaddy
SES
- 別名:亞馬遜事務型郵件
- 用途:傳送密碼重置、通知等一次性電子郵件。如果你編寫了所有程式碼,可以使用它傳送簡報,但這不是一個好主意。
Cloudfront
- 別名:亞馬遜 CDN
- 用途:通過將靜態檔案交付分散到更接近使用者的位置,使網站載入速度更快。
- 類似於:Akamai
CloudSearch
- 別名:亞馬遜全文檢索
- 用途:在 S3 或 RDS 中拉入資料,然後搜尋一個關鍵詞的每個例項。
- 類似於:ElasticSearch
DynamoDB
- 別名:亞馬遜 Amazon NoSQL
- 用途:應用程式的大規模可擴充套件鍵值儲存。
- 類似於:MongoLab
Elasticache
- 別名:亞馬遜 Memcached
- 用途:應用程式的 Memcached 或 Redis。
- 類似於:Redis to Go, Memcachier
Elastic Transcoder
- 別名:亞馬遜 Beginning Cut 專業版
- 用途:處理視訊(更改格式,壓縮等)。
SQS
- 別名:亞馬遜佇列
- 用途:將待處理的資料儲存在佇列中。SQS 的意思是儲存“訊息”,但它與電子郵件或簡訊沒有任何關係。SQS 沒有任何邏輯,只是放置東西和解決問題的地方。
- 類似於:RabbitMQ
WAF
- 別名:AWS 防火牆
- 用途:阻止針對 Cloudfront 受保護站點的錯誤請求(也叫:阻止針對 / wp-admin 的 10,000 次密碼嘗試)
移動應用開發者服務
這些服務僅適用於移動開發人員。
Cognito
- 別名:亞馬遜 OAuth 即服務
- 用途:給終端使用者(非 AWS)使用 Google,Facebook 等登入的能力。
- 類似於:OAuth.io
Device Farm
- 別名:亞馬遜裝舊 Android 裝置的抽屜
- 用途:同時在一堆不同的 IOS 和 Android 裝置上測試應用。
- 類似於:iOS emulator
Mobile Analytics
- 別名:熱點在 Name 上,產品經理請注意
- 用途:跟蹤大家在應用內部做什麼。
SNS
- 別名:亞馬遜 Messenger
- 用途:傳送手機通知,電子郵件和 / 或簡訊.
- 類似於:Twilio
運維和程式碼部署服務
這些服務能自動化程式碼部署管理和在其他服務上部署程式碼的流程。
CodeCommit
- 別名:亞馬遜 GitHub
- 用途:對程式碼進行版本控制——託管的 Git
- 類似於:GitHub, BitBucket
Code Deploy
- 別名:還不賴
- 用途:以理智的方式從 CodeCommit 倉庫(或 Github)中獲取程式碼到一堆 EC2 例項上。
- 類似於:Heroku
CodePipeline
- 別名:亞馬遜持續整合
- 用途:對程式碼執行自動化測試,然後根據程式碼是否通過測試來進行處理。
類似於:CircleCI, Travis
EC2 容器服務
- 別名:亞馬遜 docker 即服務
- 用途:將 Dockerfile 放入 EC2 例項中,這樣你就可以執行網站了。
Elastic Beanstalk
- 別名:亞馬遜 PaaS
- 用途:當你的應用程式託管在 Heroku 上過於昂貴時,將它們遷移到 AWS 上。
- 類似於:Heroku
企業服務
如題
AppStream
- 別名:亞馬遜 Citrix
- 用途:將 Windows 應用程式的副本放在可以遠端訪問的 Windows 計算機上。
- 類似於:Citrix
Direct Connect
- 別名:挺好的
- 用途:為 Telco + AWS 付費,以獲得從你的資料中心或網路到 AWS 的專用租用線路。比用流量上網便宜。
- 類似於:一條繞過擁擠小巷的收費公路。
Directory Service
- 別名:挺好的
- 用途:將需要 Microsoft Active Directory 的應用程式繫結在一起來控制它們。
WorkDocs
- 別名:亞馬遜非結構化檔案
- 用途:和你的同事共享 Word 檔案
- 類似於:Dropbox
WorkMail
- 別名:亞馬遜公司郵件
- 用途:為公司每個人提供相同的電子郵件系統和日曆。
- 類似於:Google Apps for Domains
Workspaces
- 別名:亞馬遜遠端電腦
- 用途:提供遠端控制的標準 Windows 桌面。
Service Catalog
- 別名:亞馬遜已經安裝好的應用
- 用途:讓小組中的其他 AWS 使用者可以訪問你構建的預設應用。
Storage Gateway
- 別名:假裝是你公司網路一部分的 S3
- 用途:別儲存空間來儲存 Word 文件了。使你更輕鬆地從公司網路中自動將檔案匯入 S3。
大資料服務
按你的意願來攝取和操縱資料的服務。
Data Pipeline
- 別名:亞馬遜 ETL
- 用途:從 AWS 中的其他位置提取,轉換和載入資料。安排何時發生,並在失敗時收到警報。
Elastic Map Reduce
- 別名:亞馬遜 Amazon Hadooper
- 用途:迭代 S3 中保留的原始資料的文字檔案。
- 類似於:Treasure Data
Glacier
- 別名:巨慢的亞馬遜 S3
- 用途:備份保留在 S3 上的備份。另外,要注意匆忙獲取資料的成本。用於長期歸檔。
Kinesis
- 別名:亞馬遜高吞吐量
- 用途:快速收集大量資料(例如分析或轉發 Kanye 的人),之後你就可以使用其他 AWS 服務進行分析。
- 類似於:Kafka
RedShift
- 別名:亞馬遜資料倉庫
- 用途:儲存大量分析資料,進行處理並將其轉儲出去。
Machine Learning
- 別名:Skynet
- 用途:根據現有資料預測未來行為,例如欺詐檢測或“購買 x 的人也購買了 y”。
SWF
- 別名:亞馬遜 EC2 佇列
- 用途:在 EC2 之上構建“決策者”和“工作者”服務,以完成設定任務。與 SQS 不同之處在於 SWF 在服務中設定邏輯以確定要發生什麼,如何發生。
Snowball
- 別名:AWS 舊的行動式儲存
- 用途:獲取一堆可以連線到網路的硬碟驅動器,以獲取大量(TB 級)進出 AWS 的資料。
AWS 管理服務
AWS 很難管理,所以他們發明了一系列服務賣給你來幫你管理。
CloudFormation
- 別名:亞馬遜服務安裝
- 用途:一次性安裝一堆相互關聯的 AWS 服務。
CloudTrail
- 別名:亞馬遜日誌
- 用途:日誌記錄誰在你的 AWS 棧上做了什麼(API 呼叫)。
CloudWatch
- 別名:亞馬遜 Status pager
- 用途:獲取有關 AWS 服務混亂或斷開連線的警報。
- 類似於:PagerDuty, Statuspage
Config
- 別名:亞馬遜配置管理
- 用途:在要安裝很多 AWS 服務並且正在進行要追蹤的變更時,使用 Config 可以讓你不那麼抓狂。
OpsWorks
- 別名:亞馬遜的 Chef
- 用途:使用自動縮放等功能處理應用程式。
Trusted Advisor
- 別名:亞馬遜省錢專家
- 用途:找出在 AWS 設定中花銷太大的地方(如未使用的 EC2 例項等)。
Inspector
* 別名:亞馬遜審計員
* 用途:掃描 AWS 設定,看你是否在以不安全的方式設定它。
- 類似於:Alert Logic