第八章 EC2的扩展/Scaling

Lepiaoxue2022-10-18云计算193
AWS 的另一个主要优势——可扩展性和弹性。换句话说就是容量如何基于业务需求增长和缩减。
本地数据中心面临的困境:如果您的企业和世界上 99% 的企业一样,那么您的客户工作负载也会随着时间而变化。也许变化会发生在短短 24 小时以内,也许变化是呈季节性的。有些季节可能很忙,而有些季节则没有需求。那么设想一下,如果您要构建数据中心,要考虑的一个问题是购买多少硬件才合适呢?如果您按平均使用量来购买,一般来说,花的钱不会浪费。但是当负载高峰到来的时候,您将没有硬件来为客户提供服务,特别是在您期望实现所有结果的关键时刻。
如果您按最大负载来购买硬件,您也许能够令客户满意,但在一年的大部分时间中,您的一些资源将会处于闲置状态,这意味着资源的平均利用率非常非常低。我曾见过一些数据中心的平均利用率不到 10%,仅仅是因为担心错过业务的需求高峰。
如果您能够完全按照每小时或每天的需求来预置工作负载,情况会怎么样呢?您会令客户满意,因为他们始终都可以得到想要的服务,而且您也会令财务官满意,因为他们能够获得公司需要的投资回报。
可扩展性 - Scalability
可扩展性是指从您需要的最小资源开始,设计架构以便自动扩展和缩减,从而响应不断变化的需求。您只需为实际使用的资源付费,而不必担心缺乏满足客户需求的计算容量。
为 Amazon EC2 实例提供自动扩展功能的 AWS 服务是 Amazon EC2 Auto Scaling
Amazon EC2 Auto Scaling
如果您访问一个网站,但是它无法加载而且经常超时,那就说明该网站收到的请求数量可能超出了它的处理能力。
利用 Amazon EC2 Auto Scaling,您能够自动添加或删除 Amazon EC2 实例,以响应不断变化的应用程序需求。根据需要自动缩减和扩展实例,您能够保持更好的应用程序可用性。
在 Amazon EC2 Auto Scaling 中,您可以使用两种方法:动态扩展和预测式扩展。
  • 动态扩展(Dynamic Scaling)可以响应不断变化的需求。 

  • 预测式扩展(Predictive Scaling)可以根据预测的需求自动安排合适数量的 Amazon EC2 实例。

要想更快速地扩展,您可以结合使用动态扩展和预测式扩展。
可以通过两种方法来处理日益增长的需求,即纵向扩展和横向扩展(vertical scaling & horizontal scaling)。纵向扩展是指向正在运行的计算机添加更多能力,这可能适用于某些情况。但仔细想想,当您的顾客数量增加的时候,一个更大的“魏星”实际上无法去更快地去接收顾客的订单,因为这更多地取决于顾客,而不是魏星。
我要买杯浓缩咖啡。等等,它是有机的吗?要不换成豆奶拿铁?到底买什么好呢?你们有茶吗?
我们需要的是更多的“魏星”。这看起来正在处理的实例即将超载。因此,我们也对它进行扩展。
显然,问题显而易见。为什么接收订单的实例比制作订单的实例更多呢?
因为在这种情况下,您能完成的工作量仍然比机器向您发送的订单要多,您不会产生积压。因此,没有理由添加更多的工作人员实例。这是解耦系统的一个好处。您最终可以为流程的每个部分配置完全合适的能力,而不是过度预置来解决一个单独的问题。好了,看起来我们刚刚应对了这个流量高峰期。
这个时候才是 AWS 真正对您的业务产生影响的时候。对于所有的这些闲置的额外的工作人员,如果您不需要他们,就安排他们回家或停止实例。Amazon EC2 Auto Scaling 可以根据需求添加实例,然后在不再需要实例时停用它们。这意味着每一天的每一分钟,您总是拥有正确的实例数量。客户开心。首席财务官开心。架构合适。
示例:Amazon EC2 Auto Scaling
云中的计算能力是一种可编程资源(programmatic resource,),因此您可以采取更灵活的方法来解决扩展问题。通过向应用程序添加 Amazon EC2 Auto Scaling 功能,您可以在需要时向应用程序添加新实例,并在不再需要这些实例时终止它们。
假设您准备在 Amazon EC2 实例上启动一个应用程序。在配置 Auto Scaling 组的大小时,您可以将 Amazon EC2 实例的最小数量设置为一个。这意味着在任何时候都必须至少运行一个 Amazon EC2 实例。
建 Auto Scaling 组时,您可以设置最小数量的 Amazon EC2 实例。最小容量(minimum capacity)是指创建 Auto Scaling 组后立即启动的 Amazon EC2 实例的数量。在本示例中,Auto Scaling 组的最小容量为一个 Amazon EC2 实例。
接下来,即使您的应用程序最少只需要一个 Amazon EC2 实例就能够运行,您也可以将所需容量(desired capacity)设置为两个 Amazon EC2 实例。
如果您未在 Auto Scaling 组中指定所需 Amazon EC2 实例的数量,则默认所需容量为最小容量
您可以在 Auto Scaling 组中设置的第三项配置是最大容量(Maximum capacity)。例如,您可以将 Auto Scaling 组配置为根据需求的增加而扩展,但最多只能扩展到四个 Amazon EC2 实例。
Amazon EC2 Auto Scaling 使用 Amazon EC2 实例,因此您只需要在使用实例时为实际使用的实例付费。您现在拥有了一个具有成本效益(cost effective)的架构,可以在减少支出的同时提供最佳客户体验


版权归乐飘雪所有!

本文链接:http://lepiaoxue.com/post/14.html

相关文章

第二章 云计算部署模式

第二章 云计算部署模式

选择云策略时,企业必须考虑所需的云应用程序组件、首选资源管理工具以及传统 IT 基础设施的要求等因素。三种云计算部署模式:云端部署 - Cloud-based deployment本地部署 - On-...

第五章 Amazon EC2

第五章 Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2)Amazon Elastic Compute Cloud (Amazon EC2) 可以通过 Amazon...

第六章 Amazon EC2 实例类型

第六章 Amazon EC2 实例类型

每种实例类型都归属于一个实例系列,并针对特定类型的任务进行了优化。实例类型提供了 CPU、内存、存储和网络容量的不同组合,使您能够灵活地为应用程序选择适当的资源组合。EC2 中不同的实例系列分别为通用...

第十章 消息和队列(Messaging & Queuing)

第十章 消息和队列(Messaging & Queuing)

一个更好的流程是将某种缓冲区或队列引入系统,收银员会将订单张贴在某种缓冲区,而不是直接交给咖啡师。这个缓冲区就像一个订单处理板。这种将消息放入缓冲区的概念称为消息收发和队列,就像我们的收银员将订单交给...

第十一章 其他计算服务

第十一章 其他计算服务

我们知道 EC2 是一种虚拟服务器,经过简单的配置就可以适用于,比如说运行基本的 Web 服务器或者运行高性能计算集群。虽然 EC2 具备很高的灵活性、可靠性和可扩展性,但您的场景可能需要其他的解决方...