[ 云计算 | AWS ] 亚马逊云科技核心服务之计算服务(Part1:AWS EC2 星巴克为什么横向排队)

news2025/1/19 5:16:12
(星爸爸网络上的一张图)

注意上图中的5个人,对没错这5个人。一般情况星巴克的人员配置大概是这样的:

  • 1个经理,在办公室
  • 两个收银,在收银台(本文关注的重点
  • 三个人做咖啡

当你去过星巴克买咖啡时,你有没有发现或者注意过星巴克收银台有两个,并且不同于肯德基的纵向排队,为什么星巴克是横向排队?

其实星巴克内不仅与云计算有关,他们的流程更与云原生的 DevOps 有莫大关系,本文重点讲解与云计算 ECS 相关这块。

文章目录

    • AWS EC2 概要
      • 什么是 AWS EC2
      • 为什么要用云主机 EC2,与传统主机比有和优点
        • 传统的物理主机
        • 与传统主机比 EC2 的优点
    • AWS EC2 实例的类型
    • AWS EC2 计费定价
      • 1. 按需定价(On-Demand)
      • 2. Savings Plans
      • 3. 预留实例(Reserved Instances)
        • 3.1 预付全部费用
        • 3.2 预付部分费用
        • 3.3 不预付费用
      • 4. Spot 实例
      • 5. 专用主机(Dedicated Hosts)
      • 定价的整体归纳总结
    • AWS EC2 动态扩展(Amazon EC2 Auto Scaling)
      • AWS EC2 动态扩展解决了什么问题
      • AWS EC2 的扩展方法
    • 参考资料

AWS EC2 概要

什么是 AWS EC2

AWS EC2 缩写于:Amazon Elastic Compute Cloud,其中文翻译为 xXxX(不知道怎么翻译,反正最好别翻译中文,起码我认识的人只叫 EC2),简单点说 EC2 就是 AWS 中的一台虚拟机,这个名词在 AWS中你会反复听到,也是必须要知道的知识点。

对于这个概念必须要知道两点:1. 它是一个虚拟机,2. 计算是弹性的

面试或者考试可能会考的地方(敲黑板):EC2 是什么级别的服务(Iaas,PaaS,SaaS)?

AWS EC2 是 IaaS 服务级别。不知道怎么区分的或者看完了Iaas,PaaS,SaaS区分的还是懵逼的,那么就死记硬背下来,如果想理解记忆,那么看完下面小节就明白了


为什么要用云主机 EC2,与传统主机比有和优点

传统的物理主机

当我们创建自己的物理服务器的时候,首先需要的就是要调研,比如需要购买的服务器类型,数量,之后交给公司采购,提交采购单,之后下单购买…等待1~1000年漫长岁月,之后硬件供应商才会把这些硬件交付给你,这个过程最坑逼的是,这些硬件设施并不一定会同时到达。接下来就是你需要将这些主机搬家到自己的数据中心,或者租用的数据中心里,进行安装,调试他们,最后将他们连接起来,之后一堆的杂七杂八的事情,比如接入通电,做一些check等等。

这里面举一个博主遇到的大栗子:之前在政府公司,采购了一批机器,机器自带的系统是Ubuntu,之后要换成Windows server,所有东西弄好之后,发现机器一直连接不上网络,各种360度的排查之后,发现接入的网络是千兆网络,但是做的驱动并不支持千兆网络,后来换了驱动后,顺利介入网络,这个之间排查和 Fix 的过程是需要一定时间的。

做完了前面所说的各种前期准备后,你才真正的开始部署你的应用程序。但是这里需要注意的是,你采购回来的这批主机,已经固定,也就是他们的计算能力当你在下单的时候就已经被决定了,所以你放在上面的应用程序的计算能力,必定被这些物理机器的计算能力所限制。这也就是为什么后面会引入 EC2,因为 EC2 完全不需要担心此类问题。

将应用程序部署在物理服务器上线前准备:
在这里插入图片描述

与传统主机比 EC2 的优点

相比传统主机, EC2 可以随时创建和终止不同类型的服务器,相比传统服务器的运维部分,在 AWS中,你不需要来conrtol,这部分服务器的运维工作,完全是 AWS 来负责,你可以认为从购买主机到接入网络调试部分,AWS已经全部完成,你所需要做的就是创建 EC2,之后启动 EC2 使用即可,当然如果有一天你不想用 EC2 了,那么你也可以随时的直接删除掉 EC2 实例。

无论是AWS还是国内的阿里云,华为云等,都会自己自建数据中心(这里如果有兴趣可以参照我的另一篇博文:[ 华为云 ] 云计算中Region、VPC、AZ 是什么,他们又是什么关系,应该如何抉择)

概括总结 EC2 的特点:

  • 非常灵活

    上面已经说了,你可以随时开关 EC2,也可以随时选择保留或者删除 EC2,其次在 EC2 实例的配置方面也是非常灵活的,比如你选择OS的时候,你可以选择 Linux 或者 Windows,也可以使用配置模板,创建成百上千个 EC2 实例,并且你还可以使用不同的操作系统和配置的组合来满足不同的业务和计算场景。

    除去操作系统外,在 EC2实例上软件运行的环境也可以灵活配置,比如数据库,第三方软件,或者自开发应用程序等,在实例的运行方面 客户这面是有完全的控制权。这里再次敲黑板,到这里你应该知道为什么 EC2 是 IaaS 服务了吧,EC2 的 OS 是你在控制,并且实例里面的东西是你来控制,外部的网络或者硬件什么的不需要你来管。这些综合即是 IaaS 解决方案。

    垂直缩放实例:当你的 EC2 实例计算能力不满足当前需求时,你可以选择随时的增加或者减少你的服务计算资源(CUP、内存等)

    EC2 具有 Auto Scaling 的特点,可以根据使用者定义的条件自动增加或者减少 EC2的容量、实例数量等,比如在使用高峰期动态增长保持性能,又可以在低峰期主动缩减,达到降低成本的目的。

  • 经济高效且快速

    减少了前期采购准备与后期运维等工作,付费只支付正在使用的 EC2 实例,已经停止或者已经终止(删除)的实例付费(敲黑板中…)

    EC2 是按照使用的秒数以及执行的个体类型计费。

拓展知识

AWS EC2 是由虚拟化技术实现的,实际这些虚拟机最终还是托管在物理服务器上,当启动某个EC2 的实例时,你不会占用服务器的整个主机,事实是你的 EC2 实例 可能和其他人的 EC2 实例共用一个物理服务器,这也就是常说的虚拟化技术。

多租户模式:在虚拟机之间共享底层硬件的概念被称为多租户模式(multi-tenancy)。这些管理、维护和协调资源的工作也都是由AWS来负责。

AWS 的多租户模式是否安全?

答案是安全的,虽然是多租户共用一个服务器,但是本身每一个 EC2 彼此之间是隔离的,相互之间并不知道彼此所在主机上正在运行其他的 EC2实例。


AWS EC2 实例的类型

之所 EC2 有不同的类型,其原因是他们的分工和处理业务场景不相同,就好比我们做一个项目或者产品,需要PM、BA、前段、后端、DBA等不同的分工,他们擅长的领域也不同,同样Amazon EC2 提供多种经过优化,适用于不同使用案例的实例类型以供选择。

实例类型包括各种 CPU、内存、存储和网络容量,使您可以灵活地为应用程序选择适当的资源搭配。每种实例类型都包含一个或多个实例大小,允许您根据目标工作负载的要求扩展资源(官方描述)。

Amazon EC2 实例类型都归属于一个实例系列,这些实例类型对 CPU、内存、存储和网络容量进行了不同组合,可以灵活地为应用程序选择适当的资源组合。

在这里插入图片描述

现时点内( ~更新时间 2023年2月1日01:33:16~ ),亚马逊 EC2 有如下几种类型:

实例类型 (中文) 实例类型(英文)实例类型描述
通用类型General Purpose通用实例提供计算、内存和联网资源三方面的平衡,可用于各种不同的工作负载。这些实例非常适合于以相同比例使用这些资源的应用程序,如 Web 服务器和代码存储库。
计算优化型Compute Optimized计算优化型实例非常适用于从高性能处理器获取的受计算限制的应用程序。属于此系列的实例非常适用于批处理工作负载、媒体转码、高性能 Web 服务器、高性能计算(HPC)、科学建模、专用游戏服务器和广告服务器引擎、机器学习推理和其他计算密集型应用程序。
内存优化型Memory Optimized内存优化型实例旨在提高可处理内存中大型数据集的工作负载的性能。
加速计算型Accelerated Computing加速计算实例使用硬件加速器或协同处理器来执行浮点数计算、图形处理或数据模式匹配等功能,比使用在 CPU 上运行的软件更高效。
存储优化型Storage Optimized存储优化型实例旨在用于需要对本地存储上的大型数据集进行高速连续读写访问的工作负载。它们经过了优化,每秒可以向应用程序交付数以万计的低延迟、随机 I/O 操作 (IOPS)。
HPC优化型HPC Optimized高性能计算(HPC)实例专为在 AWS 上大规模运行 HPC 工作负载提供最佳性价比而构建。HPC 实例特别适用于从高性能处理器(如大型复杂模拟和深度学习工作负载)中受益的应用程序。

AWS EC2 计费定价

Amazon EC2 云服务器有五种付费方式:按需实例Savings Plans预留实例Spot 实例,以及专用主机。专用主机可在专供您使用的物理服务器上提供 EC2 实例容量。下面会进行讲解这5中付费方式。

AWS没有带宽的费用,但是有实例流量费。

在这里插入图片描述

1. 按需定价(On-Demand)

无需签订合同,按需计费,适合入门,可以用测试工作负载和进行各种尝试时使用。

按需型实例推荐用途:

  • 希望拥有低成本和 Amazon EC2 提供的灵活性,且不想支付预付款或签订长期合同的用户
  • 具有短期、难应付或无法预测且不能中断的工作负载的应用程序
  • 首次在 Amazon EC2 上开发或测试的应用程序

Linux实例按秒计算,windows实例按小时计算。


2. Savings Plans

提供很低的定价,但是需要使用者承诺在 1年 或者 3年 的期限内保持稳定的使用量(xx 美元/小时为单位衡量)。此类定价模式 最高可节省 72%的使用费用。

Savings Plan 的定价模式,也适用于无服务器服务:Amazon FargateAmazon Lambda


3. 预留实例(Reserved Instances)

此模式计价适用于稳定状态的工作负载或者使用量可以预测的工作负载。与按需定价相比,预留实例可以节省最高 75% 的费用。

这个折扣有个限制,就是必须承诺 1年 或者 3年 的试用期后,才可以享受折扣。

3.1 预付全部费用

预付全部费用是指在承诺时候全额支付所有的费用。

3.2 预付部分费用

预付部分费用是指在承诺时候支付部分费用。

3.3 不预付费用

不预付费用是指你一开始就不需要支付任何费用。


4. Spot 实例

借助这类实例 ,你可以请求获得限制的 Amazon EC2 计算容量。与按需实例的价格相比,使用 Spot 实例最高可以达到 90% 的折扣。

Spot 实例推荐用途:

  • 开始时间和结束时间灵活的应用程序
  • 只能承受极低的计算价格的应用程序
  • 具有紧急计算需要,需要获取大量附加容量的用户

需要注意如下两个特点:

  • 对于可能需要大容量的紧急计算需求非常有用。
  • 如果一个 Spot 实例被 Amazon EC2 终止,你将不会被收取特定使用时间的费用,但如果它被你自己终止,那么将依据实例运行时间按小时计费。

注意:AWS 可能随时回收该实例,只有提前两分钟向你发出告知,来提醒你完成工作并保存状态。所以如果要选择Spot实例,一定要确保工作负载能够支持随时中断,比如批处理工作。


5. 专用主机(Dedicated Hosts)

专用主机是专供你用于 EC2 的物理主机。通常用于满足某些合规性要求,不会有人和你一同租用该主机。

它可以作为预订购买,相比按需价格最高可打七折。

专用主机可以每小时购买一次。


定价的整体归纳总结

定价模式(中文)定价模式(英文)说明
按需定价On-Demand按秒为启动的实例付费
储蓄计划Savings Plans通过承诺在 1 年或 3 年期限内保持稳定的使用量(以 美元/小时为单位)来降低你的 AWS EC2 成本
预留实例(RI)Reserved Instances通过承诺在 1 年或 3 年期限内保持稳定的实例配置(包括实例类型和区域)来降低你的 AWS EC2 成本
Spot 实例Spot Instances请求未使用的 EC2 实例,这可能会显著降低你的 AWS EC2 成本
专用主机Dedicated Hosts为你专有的物理主机付费,让你现有的Sokets、物理内核或 VM 计数的软件许可证降低成本

AWS EC2 动态扩展(Amazon EC2 Auto Scaling)

AWS EC2 的其中一个主要优势是:可扩展性和弹性。你可以理解为:客户可以根据自身业务的需求,增加或者降低AWS的使用量。

如果想要自动执行扩展流程,您会使用哪项 AWS 服务?为 Amazon EC2 实例提供这一功能的 AWS 服务是 Amazon EC2 Auto Scaling

在这里插入图片描述

[图片来源于AWS官方](https://aws.amazon.com/cn/blogs/startups/how-to-use-autoscaling/)

AWS EC2 动态扩展解决了什么问题


这里先来举一个栗子

在咖啡店里,由于每天来买咖啡的人数不确定,所以很难确定应该雇几个咖啡师(初中高级等)。如果雇少了,虽然降低了成本,但是客人可能需要等很长时间才能取到咖啡,影响客户就餐体验,而且有的客户甚至有可能就此离开。最糟糕的是,如果咖啡店只有一个咖啡师,那么万一有一天这个咖啡师生病请假后,不能来上班,那咖啡店就无法营业了。另外一方面,如果雇多了,却又没有那么多人来,那么对咖啡店也不合算,会影响其收益率ROI(Return On Investment,或投资回报率)。毕竟企业最终目的还是要盈利的。

上述的例子如果映射到企业购买服务器上,如果按最大客流量购买服务器,那一年大部分时间里这些服务器就处在闲置的状态,产生浪费。如果按照平均客流量购买服务器,那么在客流量激增的时候,又会出现无法访问的问题。

AWS 可以解决这个问题。当一个咖啡师不够用的时候,AWS可以用程序创造出来第2个,第3个,…第n个咖啡师。当顾客人数减少时候,不需要那么多咖啡师的时候,AWS可以关掉一些“咖啡师”。这就是 AWS EC2 的扩展功能。当然,AWS可以自动完成这个过程,也就是亚马逊 EC2 自动扩展功能(Amazon EC2 Auto Scaling)。

这个功能可以帮助客户自动增减实例,维持应用程序的可靠性。亚马逊EC2自动扩展功能有两种模式:动态扩展预测扩展。前者根据需求增减实例。后者根据预测值决定实例的个数。

当客户在EC2上启动一个应用程序的时候,可以配置自动扩展组。一般来说,客户可以将EC2实例的最小数量设为一个。也就是说,任何客户都至少有一个EC2的实例。客户可以将所需容量设为两个EC2实例。客户还可以设置最大容量,比方说四个EC2实例。用KFO餐厅的例子来解释,就是说至少有一个服务员,正常情况有两个服务员,最多四个服务员。这些服务员都是随叫随到,而且不需要的时候就会自动消失。


AWS EC2 的扩展方法

AWS EC2 的扩展方法有两种方式:

  1. 垂直(纵向)扩展
  2. 水平(横向)扩展

水平扩展和垂直扩展有什么区别?(敲黑板,无论是面试还是考试)

垂直扩展意味着将 CPU、RAM 等计算能力扩展到现有机器,而水平扩展意味着向服务器或数据库添加更多机器。即增加节点的数量,并将任务分布在不同的节点之间。


参考资料

https://aws.amazon.com/cn/ec2/instance-types/
https://aws.amazon.com/ec2/pricing/
https://aws.amazon.com/cn/blogs/startups/how-to-use-autoscaling/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/197643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【NS2】tcl与c++互相调用/传参

在NS2,做实验的时候,为了能通过循环配合传值实验,一直找不到tcl传参给c的方法,网上的只po出一部分看不懂,只能通过源码自己研究。最后的解决办法就是,模仿源码的操作,以下通过tcl→ex→sat-irid…

Navicat Monitor 3.0 现已上市 | 欢迎下载试用

Navicat Monitor 3.0 现已上市Navicat Montior 3.0 现已发布!一经发布,受到广大专业运维人员的关注与选择! 五大新亮点带给运维团队最为实用且有效地提升监控能力。其具备 PostgreSQL 服务器监控能力、支持优化慢查询、构建自定义指标、性能分析工具优化…

flutter问题

问题一1.报错:Flutter ios/Flutter/Debug.xcconfig: unable to open file (in target "Runner" in project "Runner")2.解决:cd 项目目录flutter cleanflutter create --org solanddriver .运行Xcode问题二1.Cannot run with sound …

Java线程安全问题的原因和解决方案

1.什么是线程安全2.线程不安全的原因 及 解决措施2.1 多线程同时修改同一个变量2.2 修改操作不是原子性加锁操作关键字:synchronized2.3 抢占式执行,随机调度 (根本原因)2.4内存可见性问题volatile 关键字2.5指令重排序1.什么是线程安全 线程安全的确切定义是比较复…

Java——SSM项目(瑞吉外卖)笔记

阅读提醒:最重要的内容都是我手打的字,还有截图上的红字备注部分。 nginx是一个服务器,主要部署一些静态的资源,包括后面做tomcat的集群, 可以接收前端的请求,然后分发给各个tomcat 第一步搭建数据库&…

浏览器网页视频怎么快速下载到本地?

我们在浏览网页时,经常会遇到一些特别喜欢的视频文件,想要下载收藏却苦于不会操作怎恶魔办呢?这时候可以通过一些小插件快速达成下载,比如通过猫爪视频下载插件用户可以轻松的抓取任意网页的视频文件,并将其保存到本地…

Java 利用PriorityQueue进行无InvokerTransformer反序列化

java_PriorityQueue java.util.PriorityQueue 是一个优先队列(Queue),节点之间按照优先级大小排序成一棵树。其中PriorityQueue有自己的readObject反序列化入口。 反序列化链为:PriorityQueue#readObject->heapify()->sif…

新网站沙盒期要多久(关于网站走出沙盒期的征兆)

做网站优化首先要明白搜索引擎抓取原理,不管是百度还是谷歌,新站上线总要进入沙盒,接受来自搜索引擎的审查,涉及网站结构、网站内容、网站外链等内容。对于新手朋友来说,难免着急,这段考察期究竟有多长&…

【Python获取相亲网站数据】马上都元宵节了,还在相亲,看看某相亲网站有没有那个有缘人。

前言 马上都元宵节了,还在相亲,看看某相亲网站有没有那个有缘人。今天我们来爬取某相亲网站获取我们想要的数据,比如说,对方的姓名,年龄,身高,体重等等。今天我们主要使用CSS选择的方法来匹配我…

IDEA插件开发入门.01

环境准备Idea插件SDK文档在线地址:https://plugins.jetbrains.com/docs/intellij/welcome.html安装IntelliJ IDEA,这里使用版本2020.1.3 X64IDEA中安装Plugin DevKit插件创建插件项目新建工程。File ->New -> Project选择工程类型,Inte…

无法应用转换程序。请检查指定的转换程序路径是否有效。例子:Adobe Acrobat DC (PDF编辑器)卸载不了或者无法重新安装

不知道大家有没遇到这种情况,Adobe Acrobat DC (PDF编辑器)卸载不了或者无法重新安装,显示:无法应用转换程序。请检查指定的转换程序路径是否有效。 今天小编句遇到了这种情况,卸不了,把文件夹直接删了还是无法重新安装…

Linux安装Mysql8.0

mysql官网 www.mysql.com 这里是新建了个虚拟机 有时候用 rpm -qa|grep mysql和 rpm -qa|grep mariadb检测不到已经安装了mysql或者mariadb 可以使用rpm -qa|grep -i mysql 自己对Linux学习阶段,因此新建虚拟机安装 卸载原来的mariadb rpm -e mariadb-libs rpm -e --node…

微信如何注册小号?一个手机号注册两个微信账号?图文教学

2023年2月3日微信正式开放注册“小号”的功能,也就是可以使用一个手机号来注册两个微信账号。微信作为很多一款国民级别的工具,早就成为了小伙伴日常生活中不可或缺的一部分了。能够注册微信小号自然很好,可是微信如何注册小号呢?…

什么是窜货?为什么要治理窜货?如何正确治理窜货?

一、什么是窜货 “窜货”行为,就是超出自己授权范围,在非授权区域出售商品的行为。一般有线下窜区域销售、线下商品窜货线上销售两种情况。 二、为什么会出现窜货 1、窜货最常见的原因是,当经销商的授权区域市场趋向饱和时,或其…

茶杯:N个杯子排成一排,第X个杯子藏有球,交换任意两个杯子K次后,找出藏球杯子位置。

N个杯子排成一排,第X个杯子藏有球,交换任意两个杯子K次后,找出藏球杯子位置。 (本文获得CSDN质量评分【85】)【学习的细节是欢悦的历程】Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完…

Idea JSP 学习

运行JSP文件首次使用Idea运行jsp文件遇到的问题汇总。运行出现404错误。首先配置好Tomcat,我选用的是Tomcat 10.0.27.安装好Tomcat,并进行相关配置。我用的是IDEA2020.2.3 x64版本,不同版本会有区别。这是我的以上配置,特别注意下图三角标识的test.jsp。…

【JavaEE】单例模式详解

目录 一、单例模式的概念 二、饿汉模式 三、懒汉模式 (1)懒汉模式-单线程版 (2)懒汉模式-线程安全多线程版 啥是设计模式咧🤔设计模式好比象棋中的棋谱。红方当头炮,黑方马来跳👣。针对红方…

鸿蒙开发学习|HarmonyOS是什么

鸿蒙开发学习 第一章 HarmonyOS是什么文章目录鸿蒙开发学习前言一、什么是HarmonyOS二、HarmonyOS系统架构2.1 内核层2.2系统服务层2.3框架层2.4应用层三、HarmonyOS系统特性3.1 对消费者3.2.对应用开发3.3.对设备开发四、HarmonyOS系统四大技术特性4.1 分布式架构首次用于终端…

LabVIEW最大内存块属性不存在

LabVIEW最大内存块属性不存在在NI Linux实时操作系统目标中使用系统属性节点和分布式系统管理器(DSM),但遇到一些问题:它未正确报告系统上的可用物理内存量。在NI Linux实时系统上出现错误-2147220623尝试在NI Linux实时上监测RAM…

webpack自动化打包

webpack自动化打包 首先下载包 npm i webpack-dev-server -D 配置 webpack.config.js const path require(path)//nodejs核心模块,专门用来处理路径问题 const ESLintPlugin require(eslint-webpack-plugin) const HtmlWebpackPlugin require(html-webpack-p…