雲計算

阿里云云服務器ECS選型指南

視頻鏈接:https://yqh.aliyun.com/live/detail/13836

阿里雲彈性計算產品專家 馬小婷(雪莉)

負責ECS服務能力的產品規劃與設計工作,包括實例場景化選型工具,實例診斷與修復,ECS事件系統,ECS優化推薦,彈性伸縮與彈性供應等,致力於完善ECS全生命週期的場景支撐,為用戶提供完整高效的服務能力與自助智能的服務體驗。

本文主要大概分為4個部分

第一部分介紹雲服務器ECS的基本概念;
第二部分對ECS的實例規格族進行一個詳細的解讀;
第三部分給大家實戰講解如何去做ECS實例的選型;
最後一部分簡單介紹一下如何去省錢省力的來使用ECS。

第一部分:雲服務器ECS基礎概念

image.png

雲服務器的基礎概念
第一部分會給大家介紹雲服務器的一些基本概念。

image.png

在開始前,大家可以回想一下,我們自己購買筆記本電腦的時候中會考慮哪些因素?我自己會先選擇品牌,一般情況下在確定了品牌之後,接下來就會考慮硬件配置,主要是物理硬件的配置和軟件的配置。

硬件配置上,我首先會考慮計算性能,像CPU和內存的大小、CPU的型號等;第二就是存儲,筆記本電腦的磁盤有多大;第三部分就是網絡能力,比如網卡有幾個,對於玩遊戲的同學來說,顯卡配置也很重要。除了硬件配置外,我也會考慮電腦的操作系統是什麼樣的,比如Mac OS, windows或ubuntu等。而拿到電腦之後,我們首先會做一些基礎應用軟件的安裝和配置,包括防火牆等保證我們整個應用環境的安全性。

這是我在現實生活中去購買一臺物理電腦的流程,其實這些概念在雲上也是適用的,比如說我們在選擇一些物理硬件的參數的時候,選CPU和內存,對應在雲上的話,就是選擇ECS實例的 CPU和內存大小以及 CPU的型號。

存儲這一塊,磁盤在雲上對應的概念就是塊存儲,在雲上塊存儲其實是包含兩個概念,一個概念是雲盤,一個概念是本地盤。有一個跟我們現實生活中不太一樣的點,是雲上的塊存儲,我們在購買的過程中需要指定用作系統盤還是用作數據盤的。而現實生活中買了一個電腦裡面是有一塊磁盤,然後我們自己會把磁盤分成系統盤還是數據盤,但在雲上的系統盤和數據盤是需要分開購買的,這是一點點區別

網絡這一塊其實也是類似的,雲上提供彈性網卡,讓用戶通過訪問雲服務器就能夠聯通到網上。

除了這些物理硬件以外,要讓一個雲服務器真正的跑起來,跟現實生活一樣,我們也需要去安裝一個操作系統,這個操作系統在雲上的概念就是鏡像,阿里雲提供多種不同的鏡像版本供大家選擇。

除此以外,雲服務器還會有一些特殊的概念,比如安全組,本質上是通過一些規則來限定訪問的流量,即被哪些應用可以訪問。

我們在買一個電腦之後,這個物理機在手上,你想要什麼時候使用就可以什麼時候使用。在雲上買完一個雲服務器之後,因為這個服務器是在雲端或者說在遠端,我們訪問雲服務器的方式就跟我們平時打開一個電腦不太一樣,我們需要通過阿里雲的控制檯或者通過遠程連接的工具來登錄到我們的雲服務器上去。

還有一個小概念是雲上的容災備份能力,就是快照。現實生活中,如果我們的電腦磁盤出現了故障,數據出現了損壞就無能為力了,或者只能夠找專業的人把數據能夠找回來,但是不能夠保證說所有的數據都能找回來。雲上有快照這樣一個概念,它的意思是說對雲盤的某一個時間點的數據拍一張照,本質上就是會把磁盤上所有的數據記錄下來,如果出現了問題,我們就可以通過快照,快速的回滾到某一個時間點的數據,這樣能夠保證在業務出現了問題的情況下,快速做災備的恢復。

整體介紹完雲服務器的基本概念之後,接下詳細介紹一下雲服務器的存儲和網絡的概念。

image.png

雲上的三種存儲方式

第一種是前面已經介紹的塊存儲的模式,用戶創建了一個塊存儲之後,可以把塊存儲掛載到實例上,就跟自己使用筆記本電腦過程中,電腦自帶的磁盤不夠用了,去買移動硬盤來插上來類似。塊存儲有三種類型,包括普通的高效雲盤,還有SSD雲盤,以及超高性能超低延遲的ESSD雲盤。

第二種存儲方式是文件存儲,每一個塊存儲只能夠掛載到一個雲服務器上,而每個文件存儲可以被多臺ECS使用。

第三種存儲形態是對象存儲形態OSS,這個就類似於百度雲盤,使用這種存儲的方式,更多的通過一個鏈接來做文件的讀取。

雲上的網絡

網絡部分主要是兩個概念,專有網絡VPC和交換機。
第一個是專有網絡VPC,專有網絡是在雲上為用戶劃分一個私有網絡,用戶通過創建VPC可以創建邏輯上徹底隔離的一個網絡環境,每一個VPC都是由一個路由器以及一個以上的交換機組成的。用戶一旦創建了一個VPC專有網絡,阿里雲會自動為用戶創建一個對應的路由器,來完成VPC下所有網絡的轉發。同一個VPC下的實例之間的內網是互通的,即在同一個VPC下實例之間可以通過內網IP地址來互相訪問。

第二個概念是交換機,前面已經介紹了,一個VPC至少有一個路由器。交換機是專有網絡的基礎網絡設備,用來連接不同的實例資源,我們可以通過交換機,在每一個可用區創建多個交換機來劃分子網,然後多個交換機之間是可以通過路由器來實現連接和轉發。以上是存儲和網絡的一些基礎的概念。

雲服務器ECS的使用流程

下面我們介紹一下使用ECS的流程。

image.png

一個ECS的實例,我們可以把它理解成一臺虛擬機,它包含內存、磁盤、網絡和操作系統等軟硬件。而一個ECS服務器實例是多大的規格,底層的物理硬件是什麼樣子的,是由對應的實例規格實例規格族來決定的。實例規格族代表了實例適用的業務場景,它決定了CPU和內存配比,以及底層的物理硬件是什麼樣子的。實例規格代表的是實例的大小,比如說 CPU的數量是多少。

在確定了實例規格之後,我們還需要去選擇對應的存儲,因為只有CPU和內存的話,數據是沒有辦法存放的,所以就會有一個塊存儲。塊存儲有兩種,一種是雲盤,一種是本地盤。雲盤其實是雲上的一種三副本的存儲形態,能夠給用戶提供高可用的能力。雲盤主要用來做系統盤和數據盤,只需要像物理盤一樣把它格式化就可以使用了,而本地盤可能更多的主要是用來做數據盤。

選擇完了計算存儲,我們接下來就要看對應的操作系統,雲上的操作系統指的是鏡像,目前阿里雲提供是多種鏡像的來源,包括官方提供的這種公共鏡像、第三方市場提供的鏡像、用戶自定義鏡像,還允許不同的用戶之間共享鏡像。

網絡方面阿里雲會有一個網絡帶寬,用戶可以直接指定。

我們把實例的計算、存儲、網絡以及操作系統等參數制定好之後,就可以創建一個跟我們物理的筆記本電腦一樣的雲服務器。

創建完之後,我們通過阿里雲的控制檯,或者是通過阿里雲的APP,可以直接連接和訪問已購買的雲服務器。

第二部分:ECS實例規格族介紹

image.png

第二部分我會給大家介紹一下ECS實例的規格族是怎麼命名的,大家可能在這一塊會有比較多的疑問。目前阿里雲提供幾百種實例規格,所以在選擇的過程中會眼花繚亂,其實只要理解了ECS的實例規格族的命名方式,和它的信息佈局,我們就能夠很好的選型了。

實例的架構類型、規格分類與詳細信息

image.png

 </p>

在阿里雲控制檯的購買頁面上可以看到,實例規格族的選擇上分成三大模塊:架構、分類、具體信息。最上面就是我們的實例規格架構的類型,有三種架構類型,分別是通用的X86的架構、異構計算(像GPU或者是FPGA、NPU等)、阿里雲自研的神龍裸金屬架構。

在每種架構下面會有實例規格的分類,從上圖可以看到在X86的這種計算型態下,分成了7大類實例規格,不同實例規格代表了不同的硬件配置,選擇任何一個實例規格的分類之後,我們可以看到對應實例規格的詳細信息,這些信息主要分為四部分:

第一個就是實例規格族的詳細信息,包括對應的規格族和實例規格的代稱,這裡可以通過點擊小問號,能夠看到實例規格族的一些詳細的描述。
第二部分是 CPU和內存大小的信息,這裡是大家在選型的過程中會比較關注的。
第三部分是實例的網絡能力信息,包括實例內網的帶寬和收發包的能力。
第四部分是CPU的處理型號的信息,包括處理器的主頻和睿頻這兩部分信息。

企業級實例 VS 入門級實例

image.png

在控制檯的購買頁面上可以看到,ECS的實例規格族特別多,單純從CPU和內存是無法判斷它們的區別,所以我們需要從宏觀上來看。阿里雲ECS的實例規格整體是分成兩大類,一類是企業級實例,一類是入門級實例。

企業級實例是阿里雲在2016年9月份才推出的,其特點是vCPU是獨享的,也就意味著我們創建一個企業級實例的時候,實例vCPU與我們底層物理的 CPU是綁定了的,底層的物理CPU就不可能再分配給其他的實例了,所以企業級的實例不會出現資源的爭搶,因此能保證性能穩定,並且企業級實例提供了非常嚴格的SLA性能保證。

而入門級實例就是vCPU跟底層的物理的CPU是不綁定的,意味著可能每個vCPU是隨機分配到底層的空閒的一個物理CPU上,如果同一個物理的物理服務器上有多個共享入門級實例的話,不同的實例就會出現資源的爭搶,導致CPU的性能不穩定。

因為入門級實例存在性能不穩定的特性,所以阿里雲現在僅僅提供一種入門級實例,就是在X86架構中的共享型實例, 而X86架構中的其他實例規格,以及異構架構和神龍架構中的所有實例,都是屬於企業級實例。

由於企業級實例性能穩定,並且有嚴格的SLA的保證,所以它比較適合於對業務穩定性有比較高的要求的場景。入門級實例由於不能夠保證性能穩定性,所以價格相對便宜,比較適合於一些對性能沒有嚴格要求,或者在某些時段下才會有性能突發要求的場景,比如有些輕負載的應用或者是微服務。

共享型實例

在介紹完ECS實例大的分類之後,我們來看一下共享型實例的具體信息。

image.png

我們前面講到了只有X86架構下的共享型實例才是入門級實例。這類實例比前面實例在四要素以外多出一個參數,即“平均基準的CPU計算性能”,基準性能即實例能夠持續提供的CPU性能。

共享型實例也就是入門級實例,分成兩大類,第一類是屬於標準的共享型實例, CPU是不綁定的,只提供基準CPU性能,所以當出現資源的爭搶,是否能超出基準性能是沒有保障。

另外一種特殊的共享型實例,名為突發性能型的共享實例,它主要就是照顧到某些應用在絕大多數的時候CPU的使用率可能都不高,負載都不高,但是在某些時候可能會有臨時的突發的高性能要求,所以阿里雲會提供突發性能的參數,所以您在購買共享型實例的時候,能夠通過突發性性能來獲得高於平均基準CPU性能的能力。

突發性能型的共享實例,如果應用實際用量低於了平均的基準性能,會獲得對應的CPU的積分,如果在某些場景下性能要求突然提升之後,比如實例對應的 CPU的使用率超過了20%,會消耗之前累積的CPU的積分,去提升計算性能,讓計算性能不會受到影響,這個是突發性能的共享型實例獨有的特性。

兩個特殊的實例規格

除了共享型的入門級實例以外,阿里雲還有兩個實例規格比較特殊,就是大數據型和本地SSD。

image.png

這兩種實例規格會附帶一個本地存儲,大數據型實例的本地存儲是HDD盤,本地SSD新增的本地存儲是具有非常高I/O吞吐,並且有低延遲的本地SSD盤,具體的信息大家可以在阿里雲控制檯查看。

企業級實例規格家譜

image.png

下面介紹企業級實例規格的家譜,方便我們快速瞭解各個實例家族的“親屬”關係。企業級實例規格族分成三大塊,第一大塊是X86計算,除了共享型以外,包括通用、計算、內存、高主頻、本地SSD和大數據型都屬於我們的企業級實例,企業級實例每年都在不停地迭代,所以會分成不同的代系,我們在後面會詳細介紹不同的代際之間的區別。異構計算裡面所有的GPU和FPGA都是屬於企業級的實例,裸金屬和高性能計算也是一樣的。

image.png

首先,我們來介紹X86的實例規格的命名方式,分成了5種:

第一種實例規格是通用型,顧名思義就是什麼場景都能夠用,所以這種型號的代稱是g系列,它的vCPU和內存的一個配比是1:4。

第二種實例規格是計算型,顧名思義就是在某些場景下對CPU算力的要求會更高一點,所以它的vCPU和內存的配比是1:2,然後簡稱為c系列。

第三種類型是內存型,提供更多的內存能力,所以它的CPU和內存的配比是1:8,也簡稱為r系列,r是RAM的簡稱

第四種和第五種分別是大數據型和本地SSD型,這兩種的CPU和內存的配比都是1:4,只是它們配的本地盤的類型是不一樣的,導致它們的技能和適合的場景也是不一樣的。所以大數據型的簡稱是d,本地SSD型簡稱是i。

在這5個基礎的實例規格上面,我們會去做一些額外的能力提升,比如說在通用型、計算型和內存型這三種類型下,增加了一些高主頻的能力,正常的 CPU的主頻應該是2.5G赫茲,但是我們有一些可以是做到3.2G赫茲,這種加上高主頻的能力就變成了高主頻型,會在前面去加上一個hf這樣的一個標識。

隨著技術的演進,神龍架構的神龍卡也是在不斷地迭代和改善,搭載了第三代的神龍卡可以整體提升通用型、計算型和內存型這三種實例規格的性能,所以就會出現一個平衡增強型。對於大數據型的話,做了計算和存儲的分離,形成了大數據存儲型,簡稱為d2,而 d2s是在大數據的基礎上,做了一些網絡能力的增強,就變成了一個網絡增強型。

實例規格的命名方式和規律

大家通過下圖能夠看到阿里雲實例規格的命名方式和規律。

image.png

普通的X86實例規格名稱是分成了三段,第一部分表示的是產品名稱,ECS是阿里雲的產品;第二部分表示了實例的規格和代系,前面已經講過hfg表示是在通用型的基礎上增加了高主頻的能力,然後6代表的是什麼?其實它代表的是我們產品的代系,可以根據產品的代系推算對應的產品的一個新舊,比如說6代表第6代,5代表的是第5代,這個數字越大代表它是更新的一個代系,它底層的物理硬件也會越新,它的性價比相對而言也會越高。

最後一部分是實例的規格,表示的是實例的vCPU的核數,large代表2個vCPU, xlarge代表4個 vCPU,2xlarge代表的是8個vCPU,以此類推。

瞭解了以上命名規律,就能通過實例規格族的名稱推斷出來當前這個實例的CPU是什麼型號、它的是什麼樣的代系,以及它的 CPU的數量是多少。

image.png

GPU命名規則也是類似的,只有一個不一樣的點,GPU名稱的的中間這一部分會提供CPU和GPU的的配比關係,因為 GPU是除了CPU以外還會提供一個額外的GPU的卡。所以我們也是直接可以通過它的規格族的格式,能夠去推斷出來它底層的物理的配置。

第三部分:ECS實例選型實戰

image.png

第三部分給大家實戰講一下如何做雲服務器ECS的選型。

簡述各種規格實例的適用場景

image.png

X86計算:

• X86的通用型、計算型和存儲型三種實例,CPU和內存的配比比較一致,所以比較適合做一些中小型的數據庫,或者是一些數據處理的任務。
• c系列的話,主要是計算型,所以比較適合於做一些計算要求比較多的,比如說做一些外部應用,或者做一些批量計算,或者是一些高性能的科學計算類的。
• r系列的話,因為它的內存比較多,所以比較適合於做一些數據庫或者數據分析的應用。
• 高主頻實例規格也是比較適合於對CPU的主頻有比較高要求的高性能科學計算。
• 本地SSD類型,更多的適合於做一些關係型數據庫或者是NoSQL數據庫的
• 而D系列的大數據型,可能更適合於做一些大數據集群的一個場景,比如說像這種Map Reduce這種。

在異構這一塊,分成了兩大類:

• GPU比較適合於做深度學習或者是圖像視頻的可視化的處理;
• FPGA就比較適合於做圖像的轉碼,或者音視頻的解碼。

裸金屬和高性能計算:

• 更垂直和性能要求更高的一些場景,像一些高性能的數據庫或者高性能科學計算場景。

下面我們舉幾個例子詳細介紹一下選型方法。

X86實例選型推薦

image.png

我們可以把一個web應用分成以下幾個層次,每個層次做對應的推薦:

• 對於Apache和Nginx的web服務器,,因為它主要做一些計算處理,所以推薦是使用一些計算型的,比如說c5、c6這樣的;
• 對於像 spring cloud或者說MQ這樣的中間件的話,它是屬於對於計算和存儲的訴求都比較正常的,所以我們是推薦一些通用性的,比如說g6這樣的實例規格;
• 而應用型因為是屬於比較通用的場景,所以G6系列就能夠滿足;
• Redis和Memcache這種緩存應用,對內存的要求是比較高的,所以我們推薦使用內存型的,像r系列;
• 對於關係型數據庫,我們是可以直接使用內存型,比如說r系列配上我們的SSD雲盤;
• 對於NoSQL,我們推薦本地SSD型的,比如I系列;
• 對於大數據的話,類似於HDFS或spark的這種,我們也有專門的大數據型的,像d系列這種的來處理;
• 對於最底層的機器學習的,比如MXNet這種訓練框架,會有對應的專門的GPU計算型。

GPU實例 選型推薦

GPU雲服務器的場景主要分成兩大類,第一大類是人工智能,或者叫機器學習,第二塊是圖形圖像的處理。在機器學習裡面也會分成兩個場景,一個是訓練,一個是推理。所以對於不同細分的垂直領域,我們給了一些規格的推薦,具體可見下圖。

image.png

下面我們介紹兩個相對而言比較複雜的選型場景。

大數據場景實例選型實戰

image.png

第一個複雜場景是大數據的場景,類似於Hadoop、Spark這種大數據集群搭建的時候,如果我們自己手動做搭建,會把過程分成三大塊:第一大塊就是集群的管理節點的實例規格選型,第二塊是集群的計算節點的選型,第三塊是集群的數據節點的選型。

• 管理節點是比較通用的場景,所以直接選擇g系列就能夠很好地處理管理的任務;
• 計算節點更多的是屬於比較偏正常的業務負載,所以可以把g系列作為主要的選擇,搭配SSD雲盤;
• 數據節點對存儲的吞吐和網絡的吞吐有比較高的要求,所以推薦使用 d系列,搭配對應的本地盤,能夠完成這種數據的讀取量;

所以整體來說,在同樣一個大數據的集群裡面,不同的任務有不同的特徵,所以會選擇不同的實例規格。

數據庫場景實例選型實戰

image.png

第二個複雜場景是關於數據庫選型的:

• 對於普通的業務,負載比較輕的數據庫,有專門的通用型g系列,或者內存型r系列搭配高效雲盤和SSD雲盤就能處理,性價比會比較高。因為g系列和本地盤或者本地SSD比起來,價格還是很有優勢的。高效雲盤和SSD雲盤的整體性能,其實也是能夠滿足日常數據庫的場景的。
• 對於業務負載要求非常高的集群,推薦本地SSD的 i 系列搭載NVMe SSD的雲盤,能夠實現存儲的高IOPS和低延時,能夠滿足重載數據庫的性能要求。

X86 第6代vs第5代 實例價格對比

除了性能以外,大家也會關注價格,這裡有一個X86裡面第6代和第5代的一個價格的對比。

image.png

可以看到除了計算型的實例在某些區域下,第6代實例會比第5代10實例的價格會略高4%以外,通用通用型和內存型的包月價格,第6代普遍比第5代要便宜2%-12%,所以整體來說的話,第6代不僅僅是性能有20%的提升,而且絕大多數的產品會更便宜。

而按量付費的話,第6代的價格比第5代的價格會低37%-47%,這其實是一個非常大的讓利的空間。所以在選擇按量去購買ECS的時候,選擇第6代會比第5代要便宜的要便宜的更多。

選型實戰總結

總結選型方法,有三個法則,大家可以記在心裡面,在選型的過程中運用。

image.png

第一個法則是相同大小的企業級的實例比入門級的實例性能更穩定,但是入門級的實例性價比更高,因為企業級的實例它是獨佔了vCPU,不存在一個資源的爭搶,有性能的保障,但是對於一些個人或者中小網站的應用,如果對性能的訴求並不是那麼強的話,選擇入門級的實例其實是一個更好的選擇。

第二個法則是在相同的實例規格下,新一代的實例規格比老一代的實例規格性價比更高,這是因為新一代的實例規格,做了很多技術的演進和更新換代,能夠給公有云用戶釋放更多的技術紅利。

第三個法則是選型時不僅僅要選擇合適的實例規格,而且還需要搭載合適的塊存儲,才能夠讓雲上的應用達到預期的性能。雲上會提供4種不同的塊存儲,包括高效雲盤、SSD雲盤、ESSD雲盤和本地盤,不同的類型盤的IOPS和吞吐是不一樣的,所以不僅僅要選合適的實例規格,還要選擇合適的塊存儲,才能夠形成合力,達到最佳的性能。

第四部分:ECS省錢省力之道

image.png

在購買雲服務器的時候,除了要做實例規格的選型,讓選擇的實例規格和業務的匹配度更高以外,我們還需要去考慮能不能更便宜,能不能夠快速完成資源的交付,所以最後一部分給大家介紹一下ECS省錢省力的技巧。

image.png

省錢大法

第一個是省錢大法,省錢大法意思是選好了實例規格,還需要選擇最適合的付費方式,才能夠得到更好優化成本。阿里雲目前提供5種付費方式,分別是節省計劃(Saving Plan)、包年包月、預留實例券、按量付費、搶佔式實例。

image.png

如何選擇合適的付費方式呢?有一個攻略,就是我們需要根據業務的穩定性和峰谷的波動情況,來選擇最適合的付費方式。像節省計劃、包年包月、預留實例券就比較適合於穩定的業務負載;有狀態並且是動態變化的業務負載的話,可以使用按量付費;而對於完全沒有狀態,並且具有很高的容災能力的,可以使用搶佔式的實例來交付,因為搶佔式實例的價格是可以做到按量付費實例的10% 的。

省力之道

第二個是省力之道。在雲上購買資源的時候,有時候會批量購買,阿里雲會提供多種自動化的資源交付模式和工具,能夠實現一次配置重複使用,從而提升整個雲上部署的速度和效率。

image.png

比如通過控制檯做批量的交付;通過部署集可以完成底層具有容災能力的算力集群的交付;通過彈性伸縮和彈性供應,能自動化地完成資源的交付;而通過資源編排,可以把多種不同的資源組合交付。

上雲選型四步走

image.png

總結一下,上雲的過程中,我們需要走好四步:

第一步:對自己的業務特徵做一些分析,包括對性能的要求,對網絡的要求,形成一個基本的判斷;
第二步:針對業務特徵來選擇對應的ECS實例規格;
第三步:選擇對應的一個付費方式,只有選擇最合適的付費方式,才能夠實現雲上的成本最優;
第四步:選擇合適的交付方式,幫我們省時省力地完成資源的交付。

以上就是我今天分享的主要內容,然後如果大家有什麼疑問,歡迎大家直接在下面留言跟我互動,謝謝大家的觀看。

Leave a Reply

Your email address will not be published. Required fields are marked *