首頁(yè)技術(shù)文章正文

AWS是什么?AWS介紹[大數(shù)據(jù)培訓(xùn)]

更新時(shí)間:2019-10-16 來源:黑馬程序員 瀏覽量:


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

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

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

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


一、 什么是AWS

官方介紹:

AWS 全稱Amazon web service(亞馬遜網(wǎng)絡(luò)服務(wù)),是亞馬遜公司旗下云計(jì)算服務(wù)平臺(tái),為全世界各個(gè)國(guó)家和地區(qū)的客戶提供一整套基礎(chǔ)設(shè)施和云解決方案。

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

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

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

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

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

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


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

1571206422810_aws1.jpg


1571206431694_aws2.jpg

1571206440337_aws3.jpg


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

就以計(jì)算來舉例:

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

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

ECR:Amazon Elastic Container Registry,用于管理容器鏡像的服務(wù),類似容器倉(cāng)庫(kù)的概念

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

EKS:Elastic Kubernetes Service,運(yùn)行在云上的,AWS提供的Kubernetes技術(shù)

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

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

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

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

AWS是十分強(qiáng)大的,目前在全球云平臺(tái)的占有率也是處于No.1的序列,其相當(dāng)于引領(lǐng)著云平臺(tái)的定義。

我們主要挑選一些最常使用的服務(wù)來給大家介紹一下?!就扑]了解大數(shù)據(jù)培訓(xùn)課程


三、AWS中一些常用服務(wù)介紹

計(jì)算-EC2:

1571206481339_aws4.jpg



EC2可以說是AWS平臺(tái)上最核心、最基礎(chǔ)的服務(wù)了,其全稱Elastic Compute Cloud: 彈性云計(jì)算。

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

1. 內(nèi)存計(jì)算型(強(qiáng)調(diào)內(nèi)存性價(jià)比)

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

3. 計(jì)算型(強(qiáng)調(diào)CPU性價(jià)比)

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

5. 存儲(chǔ)優(yōu)化型(強(qiáng)調(diào)存儲(chǔ)性價(jià)比)

1571206499121_aws5.jpg


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

1571206514890_aws6.jpg


提供了多種類型的CPU和內(nèi)存的組合供我們選擇,最高可以選擇到128vCPU核心,4TB內(nèi)存的級(jí)別。除了性能配置外,EC2同時(shí)支持選擇多種操作系統(tǒng)來部署,如:

1571206559085_aws7.jpg


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

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


存儲(chǔ)-S3

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

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

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

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


數(shù)據(jù)庫(kù)

RDS

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

1571206617918_aws8.jpg


DyanmoDB

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

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

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

1571206650769_aws9.jpg


RedShift

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

1571206684676_aws10.jpg


計(jì)算-LAMBDA

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

Lambda簡(jiǎn)單來說就是,編寫好代碼,提交給Lambda即可運(yùn)行,無(wú)需顧慮服務(wù)器。

1571206703846_aws11.jpg


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

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

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

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

1571206752106_aws12.jpg


分析-EMR

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

1571206789996_aws13.jpg


EMR提供兩種類型的集群:

1. 步驟運(yùn)行集群

2. 長(zhǎng)久運(yùn)行集群

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

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

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

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

3. 集群部署完成后,運(yùn)行我們提交的Spark任務(wù)

4. Spark任務(wù)運(yùn)行完成后,EMR關(guān)閉集群,刪除EC2

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

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

同時(shí)對(duì)于這樣的集群我們還可以動(dòng)態(tài)拓展其性能,我們勾選了10個(gè)EC2 運(yùn)行了2小時(shí)完成,

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

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

對(duì)于機(jī)房集群來說,擴(kuò)容是一個(gè)大事情,但是對(duì)于EMR來說,就非常輕松。

對(duì)于長(zhǎng)久運(yùn)行集群

EMR在創(chuàng)建好集群后,就讓集群一直運(yùn)行下去,除非我們手動(dòng)關(guān)閉,EMR不會(huì)自動(dòng)關(guān)閉集群刪除EC2

適合我們部署長(zhǎng)期運(yùn)行的服務(wù),如HBase等

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

1571206830581_aws14.jpg


分析-Kinesis

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

1571206859568_aws15.jpg

1571206867903_aws16.jpg


四、總結(jié)

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

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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!