云服务器 ECS 选购指南及省钱法宝(强烈建议收藏)
本文首发于公众号“弹性计算百晓生”,专注分享云计算与云服务器知识。
导读:阿里云数十种云服务器 ECS 实例类型,是不是让你在选择时无从下手呢?
今天给大家带来的分享是如何购买云服务器 ECS 以及怎么买更省钱,分为四个部分:
第一部分介绍云服务器 ECS 的基本概念,告诉大家购买 ECS 实例时看哪些参数。就像小书生要买一部手机,会关注内存大小、CPU 频率、屏幕分辨率、相机参数等,选购 ECS 实例同样可以通过参数选择来满足自己的上云需求。
第二部分介绍接云服务器 ECS 实例规格族,详细介绍阿里云主要的 ECS 产品系列。(时间紧张的情况下可以跳到第三部分)
第三部分详细讲解 ECS 的选型技巧,具体讲解不同场景(如大数据/数据库等)下如何选择 ECS 实例,或者某个 ECS 实例适用于怎样的生产、工作场景,重点干货部分,不容错过。
第四部分介绍如何省钱省力的来使用 ECS,在满足自己需要的前提下,让你上云省钱更经济。
01 云服务器 ECS 基础概念
云服务器的基础概念
第一部分会给大家介绍云服务器的一些基本概念。
在开始前,大家可以回想一下,我们自己购买笔记本电脑的时候会考虑哪些因素?我自己会先选择品牌,一般情况下在确定了品牌之后,接下来就会考虑硬件配置,主要是物理硬件的配置和软件的配置。
硬件配置上,我首先会考虑计算性能,像 CPU 和内存的大小、CPU 的型号等;第二就是存储,笔记本电脑的磁盘有多大;第三部分就是网络能力,比如网卡有几个,对于玩游戏的同学来说,显卡配置也很重要。除了硬件配置外,我也会考虑电脑的操作系统是什么样的,比如 Mac OS, windows 或 ubuntu 等。而拿到电脑之后,我们首先会做一些基础应用软件的安装和配置,包括防火墙等保证我们整个应用环境的安全性。
这是我在现实生活中去购买一台物理电脑的流程,其实这些概念在云上也是适用的,比如说我们在选择一些物理硬件的参数的时候,选 CPU 和内存,对应在云上的话,就是选择 ECS 实例的 CPU 和内存大小以及 CPU 的型号。
存储这一块,磁盘在云上对应的概念就是块存储,在云上块存储其实是包含两个概念,一个概念是云盘,一个概念是本地盘。有一个跟我们现实生活中不太一样的点,是云上的块存储,我们在购买的过程中需要指定用作系统盘还是用作数据盘的。而现实生活中买了一个电脑里面是有一块磁盘,然后我们自己会把磁盘分成系统盘还是数据盘,但在云上的系统盘和数据盘是需要分开购买的,这是一点点区别。
在网络这一块其实也是类似的,云上提供弹性网卡,让用户通过访问云服务器就能够联通到网上。
除了这些物理硬件以外,要让一个云服务器真正的跑起来,跟现实生活一样,我们也需要去安装一个操作系统,这个操作系统在云上的概念就是镜像,阿里云提供多种不同的镜像版本供大家选择。
除此以外,云服务器还会有一些特殊的概念,比如安全组,本质上是通过一些规则来限定访问的流量,即被哪些应用可以访问。
我们在买一个电脑之后,这个物理机在手上,你想要什么时候使用就可以什么时候使用。在云上买完一个云服务器之后,因为这个服务器是在云端或者说在远端,我们访问云服务器的方式就跟我们平时打开一个电脑不太一样,我们需要通过阿里云的控制台或者通过远程连接的工具来登录到我们的云服务器上去。
还有一个小概念是云上的容灾备份能力,就是快照。现实生活中,如果我们的电脑磁盘出现了故障,数据出现了损坏就无能为力了,或者只能够找专业的人把数据能够找回来,但是不能够保证说所有的数据都能找回来。云上有快照这样一个概念,它的意思是说对云盘的某一个时间点的数据拍一张照,本质上就是会把磁盘上所有的数据记录下来,如果出现了问题,我们就可以通过快照,快速的回滚到某一个时间点的数据,这样能够保证在业务出现了问题的情况下,快速做灾备的恢复。
整体介绍完云服务器的基本概念之后,接下详细介绍一下云服务器的存储和网络的概念。
云上的三种存储方式
第一种是前面已经介绍的块存储的模式,用户创建了一个块存储之后,可以把块存储挂载到实例上,就跟自己使用笔记本电脑过程中,电脑自带的磁盘不够用了,去买移动硬盘来插上来类似。块存储有三种类型,包括普通的高效云盘,还有 SSD 云盘,以及超高性能超低延迟的 ESSD 云盘。
第二种存储方式是文件存储,每一个块存储只能够挂载到一个云服务器上,而每个文件存储可以被多台 ECS 使用。
第三种存储形态是对象存储形态 OSS,这个就类似于百度云盘,使用这种存储的方式,更多的通过一个链接来做文件的读取。
云上的网络
网络部分主要是两个概念,专有网络 VPC 和交换机。
第一个是专有网络 VPC,专有网络是在云上为用户划分一个私有网络,用户通过创建 VPC 可以创建逻辑上彻底隔离的一个网络环境,每一个 VPC 都是由一个路由器以及一个以上的交换机组成的。用户一旦创建了一个 VPC 专有网络,阿里云会自动为用户创建一个对应的路由器,来完成 VPC 下所有网络的转发。同一个 VPC 下的实例之间的内网是互通的,即在同一个 VPC 下实例之间可以通过内网 IP 地址来互相访问。
第二个概念是交换机,前面已经介绍了,一个 VPC 至少有一个路由器。交换机是专有网络的基础网络设备,用来连接不同的实例资源,我们可以通过交换机,在每一个可用区创建多个交换机来划分子网,然后多个交换机之间是可以通过路由器来实现连接和转发。以上是存储和网络的一些基础的概念。
云服务器 ECS 的使用流程
下面我们介绍一下使用 ECS 的流程。
一个 ECS 的实例,我们可以把它理解成一台虚拟机,它包含内存、磁盘、网络和操作系统等软硬件。而一个 ECS 服务器实例是多大的规格,底层的物理硬件是什么样子的,是由对应的实例规格和实例规格族来决定的。实例规格族代表了实例适用的业务场景,它决定了 CPU 和内存配比,以及底层的物理硬件是什么样子的。实例规格代表的是实例的大小,比如说 CPU 的数量是多少。
在确定了实例规格之后,我们还需要去选择对应的存储,因为只有 CPU 和内存的话,数据是没有办法存放的,所以就会有一个块存储。块存储有两种,一种是云盘,一种是本地盘。云盘其实是云上的一种三副本的存储形态,能够给用户提供高可用的能力。云盘主要用来做系统盘和数据盘,只需要像物理盘一样把它格式化就可以使用了,而本地盘可能更多的主要是用来做数据盘。
选择完了计算存储,我们接下来就要看对应的操作系统,云上的操作系统指的是镜像,目前阿里云提供多种镜像的来源,包括官方提供的这种公共镜像、第三方市场提供的镜像、用户自定义镜像,还允许不同的用户之间共享镜像。
网络方面阿里云会有一个网络带宽,用户可以直接指定。
我们把实例的计算、存储、网络以及操作系统等参数制定好之后,就可以创建一个跟我们物理的笔记本电脑一样的云服务器。
创建完之后,我们通过阿里云的控制台,或者是通过阿里云的 APP,可以直接连接和访问已购买的云服务器。
02 ECS 实例规格族介绍
第二部分我会给大家介绍一下 ECS 实例的规格族是怎么命名的,大家可能在这一块会有比较多的疑问。目前阿里云提供几百种实例规格,所以在选择的过程中会眼花缭乱,其实只要理解了 ECS 的实例规格族的命名方式,和它的信息布局,我们就能够很好的选型了。
实例的架构类型、规格分类与详细信息
在阿里云控制台的购买页面上可以看到,实例规格族的选择上分成三大模块:架构、分类、具体信息。最上面就是我们的实例规格架构的类型,有三种架构类型,分别是通用的 X86 的架构、异构计算(像 GPU 或者是 FPGA、NPU 等)、阿里云自研的神龙裸金属架构。
在每种架构下面会有实例规格的分类,从上图可以看到在 X86 的这种计算型态下,分成了 7 大类实例规格,不同实例规格代表了不同的硬件配置,选择任何一个实例规格的分类之后,我们可以看到对应实例规格的详细信息,这些信息主要分为四部分:
第一个就是实例规格族的详细信息,包括对应的规格族和实例规格的代称,这里可以通过点击小问号,能够看到实例规格族的一些详细的描述。
第二部分是 CPU 和内存大小的信息,这里是大家在选型的过程中会比较关注的。
第三部分是实例的网络能力信息,包括实例内网的带宽和收发包的能力。
第四部分是 CPU 的处理型号的信息,包括处理器的主频和睿频这两部分信息。
企业级实例 VS 入门级实例
在控制台的购买页面上可以看到,ECS 的实例规格族特别多,单纯从 CPU 和内存是无法判断它们的区别,所以我们需要从宏观上来看。阿里云 ECS 的实例规格整体是分成两大类,一类是企业级实例,一类是入门级实例。
企业级实例是阿里云在 2016 年 9 月份才推出的,其特点是 vCPU 是独享的,也就意味着我们创建一个企业级实例的时候,实例 vCPU 与我们底层物理的 CPU 是绑定了的,底层的物理 CPU 就不可能再分配给其他的实例了,所以企业级的实例不会出现资源的争抢,因此能保证性能稳定,并且企业级实例提供了非常严格的 SLA 性能保证。
而入门级实例就是 vCPU 跟底层的物理的 CPU 是不绑定的,意味着可能每个 vCPU 是随机分配到底层的空闲的一个物理 CPU 上,如果同一个物理的物理服务器上有多个共享入门级实例的话,不同的实例就会出现资源的争抢,导致 CPU 的性能不稳定。
因为入门级实例存在性能不稳定的特性,所以阿里云现在仅仅提供一种入门级实例,就是在 X86 架构中的共享型实例, 而 X86 架构中的其他实例规格,以及异构架构和神龙架构中的所有实例,都是属于企业级实例。
由于企业级实例性能稳定,并且有严格的 SLA 的保证,所以它比较适合于对业务稳定性有比较高的要求的场景。入门级实例由于不能够保证性能稳定性,所以价格相对便宜,比较适合于一些对性能没有严格要求,或者在某些时段下才会有性能突发要求的场景,比如有些轻负载的应用或者是微服务。
共享型实例
在介绍完 ECS 实例大的分类之后,我们来看一下共享型实例的具体信息。
我们前面讲到了只有 X86 架构下的共享型实例才是入门级实例。这类实例比前面实例在四要素以外多出一个参数,即“平均基准的 CPU 计算性能”,基准性能即实例能够持续提供的 CPU 性能。
共享型实例也就是入门级实例,分成两大类,第一类是属于标准的共享型实例, CPU 是不绑定的,只提供基准 CPU 性能,所以当出现资源的争抢,是否能超出基准性能是没有保障。
另外一种特殊的共享型实例,名为突发性能型的共享实例,它主要就是照顾到某些应用在绝大多数的时候 CPU 的使用率可能都不高,负载都不高,但是在某些时候可能会有临时的突发的高性能要求,所以阿里云会提供突发性能的参数,所以您在购买共享型实例的时候,能够通过突发性性能来获得高于平均基准 CPU 性能的能力。
突发性能型的共享实例,如果应用实际用量低于了平均的基准性能,会获得对应的 CPU 的积分,如果在某些场景下性能要求突然提升之后,比如实例对应的 CPU 的使用率超过了 20%,会消耗之前累积的 CPU 的积分,去提升计算性能,让计算性能不会受到影响,这个是突发性能的共享型实例独有的特性。
两个特殊的实例规格
除了共享型的入门级实例以外,阿里云还有两个实例规格比较特殊,就是大数据型和本地 SSD。
这两种实例规格会附带一个本地存储,大数据型实例的本地存储是 HDD 盘,本地 SSD 新增的本地存储是具有非常高 I/O 吞吐,并且有低延迟的本地 SSD 盘,具体的信息大家可以在阿里云控制台查看。
企业级实例规格家谱
下面介绍企业级实例规格的家谱,方便我们快速了解各个实例家族的“亲属”关系。企业级实例规格族分成三大块,第一大块是 X86 计算,除了共享型以外,包括通用、计算、内存、高主频、本地 SSD 和大数据型都属于我们的企业级实例,企业级实例每年都在不停地迭代,所以会分成不同的代系,我们在后面会详细介绍不同的代际之间的区别。异构计算里面所有的 GPU 和 FPGA 都是属于企业级的实例,裸金属和高性能计算也是一样的。
首先,我们来介绍 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 是在大数据的基础上,做了一些网络能力的增强,就变成了一个网络增强型。
实例规格的命名方式和规律
大家通过下图能够看到阿里云实例规格的命名方式和规律。
普通的 X86 实例规格名称是分成了三段,第一部分表示的是产品名称,ECS 是阿里云的产品;第二部分表示了实例的规格和代系,前面已经讲过 hfg 表示是在通用型的基础上增加了高主频的能力,然后 6 代表的是什么?其实它代表的是我们产品的代系,可以根据产品的代系推算对应的产品的一个新旧,比如说 6 代表第 6 代,5 代表的是第 5 代,这个数字越大代表它是更新的一个代系,它底层的物理硬件也会越新,它的性价比相对而言也会越高。
最后一部分是实例的规格,表示的是实例的 vCPU 的核数,large 代表 2 个 vCPU, xlarge 代表 4 个 vCPU,2xlarge 代表的是 8 个 vCPU,以此类推。
了解了以上命名规律,就能通过实例规格族的名称推断出来当前这个实例的 CPU 是什么型号、它的是什么样的代系,以及它的 CPU 的数量是多少。
GPU 命名规则也是类似的,只有一个不一样的点,GPU 名称的的中间这一部分会提供 CPU 和 GPU 的的配比关系,因为 GPU 是除了 CPU 以外还会提供一个额外的 GPU 的卡。所以我们也是直接可以通过它的规格族的格式,能够去推断出来它底层的物理的配置。
03 ECS 实例选型实战
第三部分给大家实战讲一下如何做云服务器 ECS 的选型。
简述各种规格实例的适用场景
X86 计算:
• X86 的通用型、计算型和存储型三种实例,CPU 和内存的配比比较一致,所以比较适合做一些中小型的数据库,或者是一些数据处理的任务。
• c 系列的话,主要是计算型,所以比较适合于做一些计算要求比较多的,比如说做一些外部应用,或者做一些批量计算,或者是一些高性能的科学计算类的。
• r 系列的话,因为它的内存比较多,所以比较适合于做一些数据库或者数据分析的应用。
• 高主频实例规格也是比较适合于对 CPU 的主频有比较高要求的高性能科学计算。
• 本地 SSD 类型,更多的适合于做一些关系型数据库或者是 NoSQL 数据库的
• 而 D 系列的大数据型,可能更适合于做一些大数据集群的一个场景,比如说像这种 Map Reduce 这种。
在异构这一块,分成了两大类:
• GPU 比较适合于做深度学习或者是图像视频的可视化的处理;
• FPGA 就比较适合于做图像的转码,或者音视频的解码。
裸金属和高性能计算:
• 更垂直和性能要求更高的一些场景,像一些高性能的数据库或者高性能科学计算场景。
下面我们举几个例子详细介绍一下选型方法。
X86 实例选型推荐
我们可以把一个 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 云服务器的场景主要分成两大类,第一大类是人工智能,或者叫机器学习,第二块是图形图像的处理。在机器学习里面也会分成两个场景,一个是训练,一个是推理。所以对于不同细分的垂直领域,我们给了一些规格的推荐,具体可见下图。
下面我们介绍两个相对而言比较复杂的选型场景。
大数据场景实例选型实战
第一个复杂场景是大数据的场景,类似于 Hadoop、Spark 这种大数据集群搭建的时候,如果我们自己手动做搭建,会把过程分成三大块:第一大块就是集群的管理节点的实例规格选型,第二块是集群的计算节点的选型,第三块是集群的数据节点的选型。
• 管理节点是比较通用的场景,所以直接选择 g 系列就能够很好地处理管理的任务;
• 计算节点更多的是属于比较偏正常的业务负载,所以可以把 g 系列作为主要的选择,搭配 SSD 云盘;
• 数据节点对存储的吞吐和网络的吞吐有比较高的要求,所以推荐使用 d 系列,搭配对应的本地盘,能够完成这种数据的读取量;
所以整体来说,在同样一个大数据的集群里面,不同的任务有不同的特征,所以会选择不同的实例规格。
数据库场景实例选型实战
第二个复杂场景是关于数据库选型的:
• 对于普通的业务,负载比较轻的数据库,有专门的通用型 g 系列,或者内存型 r 系列搭配高效云盘和 SSD 云盘就能处理,性价比会比较高。因为 g 系列和本地盘或者本地 SSD 比起来,价格还是很有优势的。高效云盘和 SSD 云盘的整体性能,其实也是能够满足日常数据库的场景的。
• 对于业务负载要求非常高的集群,推荐本地 SSD 的 i 系列搭载 NVMe SSD 的云盘,能够实现存储的高 IOPS 和低延时,能够满足重载数据库的性能要求。
X86 第 6 代 vs 第 5 代 实例价格对比
除了性能以外,大家也会关注价格,这里有一个 X86 里面第 6 代和第 5 代的一个价格的对比。
可以看到除了计算型的实例在某些区域下,第 6 代实例会比第 5 代 10 实例的价格会略高 4%以外,通用通用型和内存型的包月价格,第 6 代普遍比第 5 代要便宜 2%-12%,所以整体来说的话,第 6 代不仅仅是性能有 20%的提升,而且绝大多数的产品会更便宜。
而按量付费的话,第 6 代的价格比第 5 代的价格会低 37%-47%,这其实是一个非常大的让利的空间。所以在选择按量去购买 ECS 的时候,选择第 6 代会比第 5 代要便宜的要便宜的更多。
选型实战总结
总结选型方法,有三个法则,大家可以记在心里面,在选型的过程中运用。
第一个法则是相同大小的企业级的实例比入门级的实例性能更稳定,但是入门级的实例性价比更高,因为企业级的实例它是独占了 vCPU,不存在一个资源的争抢,有性能的保障,但是对于一些个人或者中小网站的应用,如果对性能的诉求并不是那么强的话,选择入门级的实例其实是一个更好的选择。
第二个法则是在相同的实例规格下,新一代的实例规格比老一代的实例规格性价比更高,这是因为新一代的实例规格,做了很多技术的演进和更新换代,能够给公有云用户释放更多的技术红利。
第三个法则是选型时不仅仅要选择合适的实例规格,而且还需要搭载合适的块存储,才能够让云上的应用达到预期的性能。云上会提供 4 种不同的块存储,包括高效云盘、SSD 云盘、ESSD 云盘和本地盘,不同的类型盘的 IOPS 和吞吐是不一样的,所以不仅仅要选合适的实例规格,还要选择合适的块存储,才能够形成合力,达到最佳的性能。
04 ECS 省钱省力之道
在购买云服务器的时候,除了要做实例规格的选型,让选择的实例规格和业务的匹配度更高以外,我们还需要去考虑能不能更便宜,能不能够快速完成资源的交付,所以最后一部分给大家介绍一下 ECS 省钱省力的技巧。
省钱大法
第一个是省钱大法,省钱大法意思是选好了实例规格,还需要选择最适合的付费方式,才能够得到更好优化成本。阿里云目前提供 7 种付费方式,例如节省计划(Saving Plan)、包年包月、预留实例券、按量付费、抢占式实例等。
如何选择合适的付费方式呢?有一个攻略,就是我们需要根据业务的稳定性和峰谷的波动情况,来选择最适合的付费方式。像节省计划、包年包月、预留实例券就比较适合于稳定的业务负载;有状态并且是动态变化的业务负载的话,可以使用按量付费;而对于完全没有状态,并且具有很高的容灾能力的,可以使用抢占式的实例来交付,因为抢占式实例的价格是可以做到按量付费实例的 10% 的。
省力之道
第二个是省力之道。在云上购买资源的时候,有时候会批量购买,阿里云会提供多种自动化的资源交付模式和工具,能够实现一次配置重复使用,从而提升整个云上部署的速度和效率。
比如通过控制台做批量的交付;通过部署集可以完成底层具有容灾能力的算力集群的交付;通过弹性伸缩和弹性供应,能自动化地完成资源的交付;而通过资源编排,可以把多种不同的资源组合交付。
上云选型四步走
总结一下,上云的过程中,我们需要走好四步:
第一步:对自己的业务特征做一些分析,包括对性能的要求,对网络的要求,形成一个基本的判断;
第二步:针对业务特征来选择对应的 ECS 实例规格;
第三步:选择对应的一个付费方式,只有选择最合适的付费方式,才能够实现云上的成本最优;
第四步:选择合适的交付方式,帮我们省时省力地完成资源的交付。
省钱法宝的更多分享,请参考:阿里云万郁香:多样付费选择构筑成本最优的弹性体验
版权声明: 本文为 InfoQ 作者【阿里云弹性计算】的原创文章。
原文链接:【http://xie.infoq.cn/article/5cbd436616acd73eb340b47ce】。文章转载请联系作者。
评论