主流云平臺介紹之—AWS

來源:知乎
作者:啊窩額
時間:2020-07-30
2258
本篇文章就給大家?guī)碇髁髟破脚_中的AWS平臺的相關介紹。

一、前言

目前云平臺逐漸火熱起來,國內(nèi)如:阿里云、騰訊云、華為云等平臺,國外如:AWS、Azure、Google GCP等平臺,都有不少用戶,并在持續(xù)的增加中。

特別是在大數(shù)據(jù)領域,主流的云平臺均提供了相應的解決方案,從分布式存儲到分布式計算,從批處理框架到流式計算,從ETL到數(shù)據(jù)管道,從BI分析到數(shù)據(jù)挖掘等等方面均有對應的產(chǎn)品來解決企業(yè)的需求。

我們有必要對云平臺增加一定的了解,并最好能上手嘗試一番,對我們提升眼界思維有很大幫助。

本篇文章就給大家?guī)碇髁髟破脚_中的AWS平臺的相關介紹。

二、什么是AWS

官方介紹:

AWS全稱Amazon web service(亞馬遜網(wǎng)絡服務),是亞馬遜公司旗下云計算服務平臺,為全世界各個國家和地區(qū)的客戶提供一整套基礎設施和云解決方案。

AWS面向用戶提供包括彈性計算、存儲、數(shù)據(jù)庫、物聯(lián)網(wǎng)在內(nèi)的一整套云計算服務,幫助企業(yè)降低IT投入和維護成本,輕松上云

從概念是來看,AWS提供了一系列的托管產(chǎn)品,幫助我們在沒有物理服務器的情況下,照樣可以正常完成軟件開發(fā)中的各種需求,也就是我們常說的云服務。

比如,

從存儲來說,AWS提供了S3作為對象存儲工具,可以幫助我們存儲大量的數(shù)據(jù),并且S3可以被AWS的其他服務所訪問。

從服務器資源來說,AWS提供了EC2作為虛擬化的云服務器,提供各種類型的主機,如計算型、通用型、內(nèi)存計算型、GPU計算型,等等來滿足業(yè)務對服務器的需要

在數(shù)據(jù)庫方面,AWS提供了如RDS(包含Mysql、MariaDB、Postgresql)作為關系型存儲以及分布式大型關系型數(shù)據(jù)庫Aurora,同時提供了多種Nosql數(shù)據(jù)庫,如DynamoDB等,以及數(shù)倉如RedShift

AWS在各個方面的業(yè)務需求上,都有對應的產(chǎn)品或者整體的解決方案存在,并且這些產(chǎn)品或者方案都有一個特點,就是全部不需要使用者有任何物理資源,所有的業(yè)務統(tǒng)統(tǒng)在AWS上運行,使用者只需要有一天電腦去登錄AWS去進行管理操作即可,同時也簡化了許多運維的工作量,比如監(jiān)控、報警等方面,AWS自身就已經(jīng)集成了很豐富的監(jiān)控報警功能。

三、AWS上提供的主要功能模塊

v2-c7277b282715d8aea5c343fb5d851aad_720w.jpg

v2-a5f495d805d0d2d765eed95f957239be_720w.jpg

如上兩個圖,我們可以看出,AWS提供了許許多多的功能模塊以對應各種不同的業(yè)務需求

就以計算來舉例:

在AWS的計算模塊中,除了最常見的EC2(Elastic Compute Cloud),也就是云上的虛擬機,除了EC2外,AWS提供了諸如:

LAMBDA:用于提供開發(fā)ServerLess Application,支持Java、Python、Go等主流語言

ECR:Amazon Elastic Container Registry,用于管理容器鏡像的服務,類似容器倉庫的概念

ECS:Amazon Elastic Container Service,AWS自身提供的容器編排服務

EKS:Elastic Kubernetes Service,運行在云上的,AWS提供的Kubernetes技術

Lambda:云上運行代碼,無需顧慮服務器。只需要關系業(yè)務邏輯編寫代碼即可,編寫好之后提交給Lambda代碼可以直接運行,不需要服務器,也不需要安裝環(huán)境

還有一些其他的計算模塊中的服務,就不一一列舉了(國內(nèi)用不了)。

可以看出,AWS在每一個模塊下,都提供了很豐富的產(chǎn)品來供用戶選擇使用。

使用AWS可以做到,不依賴任何任何一臺物理服務器就能支撐起全公司所有的業(yè)務。

AWS是十分強大的,目前在全球云平臺的占有率也是處于No.1的序列,其相當于引領著云平臺的定義。

我們主要挑選一些最常使用的服務來給大家介紹一下

四、AWS中一些常用服務介紹

計算-EC2:

v2-a023507e08ef779eb62b780eaa131e1e_720w.jpg

EC2可以說是AWS平臺上最核心、最基礎的服務了,其全稱Elastic Compute Cloud:彈性云計算。

EC2簡單來說,就是提供了云上的虛擬服務器,用戶可以按照需求選擇如:

1.內(nèi)存計算型(強調(diào)內(nèi)存性價比)

2.通用型(均衡性價比)

3.計算型(強調(diào)CPU性價比)

4.GPU計算型(提供高性能GPU)

5.存儲優(yōu)化型(強調(diào)存儲性價比)

v2-174ea355b9ba8d44b388798c46980594_720w.jpg

除了大類型上可以選擇,也可以選擇小類型(CPU、內(nèi)存配置),如下圖:

v2-1401a2d4264d7cc639dabecc45a91534_720w.jpg

提供了多種類型的CPU和內(nèi)存的組合供我們選擇

最高可以選擇到128vCPU核心,4TB內(nèi)存的級別

除了性能配置外,EC2同時支持選擇多種操作系統(tǒng)來部署,如:

v2-3403a37d042914a90f0243caaa11075b_720w.jpg

同時,EC2也可以搭配如VPC(虛擬網(wǎng)絡),AMI(鏡像),快照,安全組(防火墻),負載均衡器等各種服務搭配使用

總的來說,EC2就相當于一個云上的虛擬機軟件,可以幫我們創(chuàng)建服務器,部署操作系統(tǒng),管理網(wǎng)絡,拍攝快照,配置防火墻等等工作。

存儲-S3

S3:Amazon Simple Storage Service,是一種云上的簡單存儲,是一種基于對象的存儲。我們可以把我們的數(shù)據(jù)作為一個個對象存儲在S3中。

并且,S3可以被AWS中其他的服務所訪問,甚至我們部署的Hadoop、Spark等程序都可以正常的訪問S3的數(shù)據(jù)。

S3作為存儲,和服務器進行了隔離,原本我們做分布式存儲如HDFS,都是依賴具體的服務器硬件的,但是使用S3,就不再需要了,它就相當于AWS提供的一款分布式、超大容量的網(wǎng)盤程序

?T1:使用S3,我們可以將存儲的計算資源進行分離,比如我們可以在需要計算的時候,臨時創(chuàng)建幾個EC2,去加載S3數(shù)據(jù),運行程序計算結(jié)果,得到結(jié)果后,就可以刪除EC2了,最大程度提供資源利用率,不需要計算的時候,讓計算資源不再閑置,或者說,需要計算資源的時候再去創(chuàng)建即可。

數(shù)據(jù)庫

RDS

RDS全稱:Amazon Relational Database Service,也就是亞馬遜關系型數(shù)據(jù)庫服務。是一種托管的云數(shù)據(jù)庫,可以為我們提供云上的Mysql、Postgresql、MariaDB、Aurora(分布式關系型數(shù)據(jù)庫)等多種關系型數(shù)據(jù)庫。使用RDS,用戶只需要關系去使用它即可,而無需關心如:安裝、部署、維護、監(jiān)控、報警等一系列操作。這些操作AWS全部幫我們自動化完成,我們只需要關心業(yè)務邏輯去操作數(shù)據(jù)庫即可。

v2-884c7f412c4e8795412184042bbf0fc1_720w.jpg

DyanmoDB

DynamoDB是一款托管的NoSQL數(shù)據(jù)庫,是Key-Value型的列式數(shù)據(jù)庫,由AWS自行研發(fā),類似HBase。

其提供了多種語言的API幫助客戶開發(fā)程序,同時將性能劃分為一個個容量單位,由預算來決定性能,最大限度節(jié)省預算。

同RDS一樣,使用托管的DynamoDB,客戶同樣只需要關心使用即可,而無需關心如維護、安裝、報警、監(jiān)控、部署等一系列操作。

v2-c9ff5333a96c144166962acf8e3b791b_720w.jpg

RedShift

RedShift是AWS提供的一款云上的托管的數(shù)據(jù)倉庫產(chǎn)品。其底層基于Postgresql開發(fā),兼容Postgresql的一些標準,可以使用JDBC連接。

v2-4d08a6ea2f7b8b90bde1376d8bb6e5f3_720w.jpg

計算-LAMBDA

Lambda是一款神器,目前微服務十分流行,Lambda可以構(gòu)建復雜的微服務系統(tǒng)架構(gòu),同時也可以用來構(gòu)建ServerLess類型的Application

Lambda簡單來說就是,編寫好代碼,提交給Lambda即可運行,無需顧慮服務器。

v2-29de850b7cf9f8c8669c1770b82a7c4a_720w.jpg

聯(lián)網(wǎng)和內(nèi)容分發(fā)-API Gateway

Amazon API Gateway可幫助開發(fā)人員創(chuàng)建和管理在Amazon EC2、AWS Lambda或任何可公開尋址的Web服務上運行的后端系統(tǒng)的API。利用Amazon API Gateway,您可以為您的API生成自定義客戶端SDK,以便將后端系統(tǒng)連接到移動、Web和服務器應用程序或服務

通俗來說,我們可以認為API Gateway就是一款托管在云上的Nignx、Tomcat等中間件。

API Gateway可以配合上面提到的Lambda,來提供RESTful形式的接口。

v2-81fcafb04e8ed48b5f6f1d4f7de5cbec_720w.jpg

分析-EMR

EMR也是一款重磅產(chǎn)品,對我們大數(shù)據(jù)開發(fā)人員意義重大,其可以幫助我們快速的構(gòu)建起一個大數(shù)據(jù)集群,只需要鼠標點擊幾下即可創(chuàng)建。

v2-f1dcec1fbd22cff2ac5bcabc268cc382_720w.jpg

EMR提供兩種類型的集群:

1.步驟運行集群

2.長久運行集群

對于步驟運行集群,我們可以創(chuàng)建一個特定的集群,分配特定EC2來運行集群,給定一個集群創(chuàng)建成功后的運行步驟。那么在集群創(chuàng)建好之后,EMR會自動運行我們提供的步驟,運行結(jié)束后,會自動關閉此集群,刪除對應的EC2資源。

比如:我們可以寫一個Spark任務,從S3讀取數(shù)據(jù),并將結(jié)果存放到S3中,那么可以將這個任務提交給EMR步驟運行集群,那么其流程就是:

1.預配置:比如勾選需要多少個EC2,EC2是什么類型,Spark任務在哪里

2.預配置完成后,EMR就會創(chuàng)建對應的EC2,然后在對應EC2上部署集群

3.集群部署完成后,運行我們提交的Spark任務

4.Spark任務運行完成后,EMR關閉集群,刪除EC2

那么假設我們的任務運行了2個小時,提供了10個4核心8GB內(nèi)存的EC2,那么我們消耗的成本就只有這10臺EC2運行2小時的金額。

而對于以前的機房集群來說,在不運行任務的時候,其也在持續(xù)的消耗成本(房租、電、網(wǎng)、運維等)

同時對于這樣的集群我們還可以動態(tài)拓展其性能,我們勾選了10個EC2運行了2小時完成,

那么一般來說我們可以勾選20個EC2,來讓任務在1小時完成,那么成本和10個EC2 2小時完成是差不多的

這樣對于企業(yè)來說可以最大限度的節(jié)省資金同時提高性能,

對于機房集群來說,擴容是一個大事情,但是對于EMR來說,就非常輕松。

對于長久運行集群

EMR在創(chuàng)建好集群后,就讓集群一直運行下去,除非我們手動關閉,EMR不會自動關閉集群刪除EC2

適合我們部署長期運行的服務,如HBase等

EMR支持如下的大數(shù)據(jù)組件:

v2-7b6b38c6fa4958127aef3648c32f61db_720w.jpg

分析-Kinesis

Kinesis是AWS提供的一款流分析工具,可以基于Kinesis來完成相關流計算業(yè)務,同時Kinesis也可以作為一款消息隊列來存在,用于削峰、解耦等

v2-f3b8d964b8bd506d3a69a6b0f320f0a5_720w (1).jpg

v2-1c5bba655541624f45722131d19130bb_720w.jpg

五、總結(jié)

AWS為我們提供了許許多多實用的產(chǎn)品和解決方案,可以讓業(yè)務不依賴任何一臺云服務器。

目前,上云是一句流行語,也是一個大勢,大家可以多了解了解云產(chǎn)品,開拓眼界。

立即登錄,閱讀全文
原文鏈接:點擊前往 >
版權說明:本文內(nèi)容來自于知乎,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質(zhì)服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家