工作负载分配架构(Workload Distribution Architecture)
工作负载分配架构是一种基础架构,它在一组相同的IT资源之间分配负载。其结构如图7.1所示(更好的图示在教材中)。
图:工作负载分配架构
这个结构中的关键组件是负载均衡器,它在相同的IT资源之间重定向传入请求。负载均衡器通过应用算法来决定将每个传入请求定向到哪个IT资源。算法越好,IT资源中的工作负载分配就越好。一个简单的算法示例是轮询算法,它在IT资源之间轮流传入请求。当每个请求在服务中处理的时间大致相同时,这种方法可能效果很好。然而,在更复杂的系统中,可能需要更详细的算法。例如,负载均衡器可以检查传入请求以估算所需的处理,并且还可以轮询IT资源以确定它们的当前负载,然后再向它们发送更多请求。
通用的工作负载分配架构可以应用于任何类型的IT资源。在本主题及后续主题中,我们将看到应用于特定IT资源类型的专用实例。
动态可扩展性架构(Dynamic Scalability Architecture)
动态可扩展性架构允许IT资源根据用户需求进行动态扩展。这意味着该过程是自动的,尽管用户与云提供商的合同可能对可扩展性施加限制。
如前所述,自动扩展监听器被部署来监视已部署资源的工作负载。当达到某个预定的工作负载时,它可以发出信号,添加或删除当前分配的资源。这种分配必须在云用户同意的合同范围内。
我们之前还提到过,动态扩展有三种类型:
动态水平扩展 - 向用户分配的相同IT资源被添加或减少。我们称之为“扩展”和“缩减”。
动态垂直扩展 - 单个IT资源被向上或向下扩展。例如,可以通过添加(移除)内存或添加(移除)CPU处理器内核来扩展或缩减虚拟服务器。
动态重新定位 - 虚拟资源被移动到具有更大容量的物理资源。例如,可以将存储资源从基于磁盘的SAN移动到基于SSD的SAN,以允许更高的存储吞吐量以应对更高的请求量。
动态扩展架构适用于多种类型的IT资源。在后续主题中,我们将看到专门的示例。
资源池架构(Resource Pooling Architecture)
资源池架构是一种维护相同资源池的架构。当云消费者需要时,池中的IT资源可供使用。这些IT资源被维护在一种状态中,这意味着它们可以在请求时快速部署并投入运营。如果不再需要某个IT资源,它可以被放回池中。
教科书指出,资源池可以用于多种不同类型的IT资源:
物理服务器池 - 这意味着池由两个或多个物理服务器组成,所有服务器都安装了相同的操作系统和应用软件。它们还同步具有相同的软件配置。
虚拟服务器池 - 它们与物理服务器池类似,具有相同的软件配置,并且每个服务器都可以在很短的时间内投入使用。
存储池 - 它们是相同大小和性能的云存储资源。云消费者可以从池中分配存储块,并在不再需要时释放它。
网络池 - 这些是可以在负载需要更多网络容量时切换给客户的网络设备池。
CPU池 - 这些分配给虚拟服务器。管理程序可以限制虚拟服务器使用物理CPU的某些内核。根据请求,可以从核心池中分配更多内核,并在不再需要时释放回池中。
RAM池 - 它们类似于CPU池,管理程序维护一个可用RAM的池,分配给虚拟服务器。这被管理为用户可以根据扩展要求(并支付费用)请求的一致块RAM池。
资源池还可以分层分配。这意味着云提供商的资源池可以作为小池(或子池)分配给个别客户或客户的个别应用程序。
弹性资源容量架构(Elastic Resource Capacity Architecture)
弹性资源容量架构是一种特殊类型的垂直扩展架构,适用于虚拟服务器。虚拟服务器的扩展可以通过分配或释放内存段和CPU内核来实现。在弹性资源容量架构中,这可以根据虚拟服务器的当前负载迅速进行。
资源池(RAM和CPU内核)被维护以允许快速部署/释放,从而增加虚拟服务器的容量。运行中的虚拟服务器被监控,在虚拟服务器达到当前分配资源的极限之前,启动从池中分配/释放资源。分配由物理服务器管理程序和/或VIM管理。
下文介绍了一种智能自动化引擎的概念,它允许用户使用脚本自动化扩展过程。智能自动化引擎监控虚拟服务器,并指示VIM(或直接通知管理程序)在脚本识别的点分配或释放资源。阅读还指出,一些虚拟服务器在弹性容量变化后可能需要重新启动,这使得“快速”变化描述的准确性受到质疑。
在实验室课程中,我们将使用Amazon AWS EC2资源(弹性计算2)。你将看到我们如何分配具有各种核心和内存配置的EC2实例。尽管我们不会使用足够的容量来观察它,但这些EC2实例可以配置为使用EC2弹性功能进行增长和缩减。
服务负载均衡架构(Service Load Balancing Architecture)
教科书将服务负载均衡架构标识为工作负载分配架构的特例,该架构在本主题开始时讨论。服务负载均衡架构专门针对云服务。
这种架构组织了一组相同的云服务,其数量可以根据需求增长或缩减。专用负载均衡设备或其中一个云服务执行负载均衡,通过将传入请求重定向到池中的成员来实现。在某个云服务实例承担负载均衡角色的情况下,所有请求都定向到它,由它转发给池中的其他成员。
云突发架构(Cloud Bursting Architecture)
云突发架构是一种涉及云消费者的本地IT资源和云提供商的IT资源的架构。其理念是云消费者在正常操作中使用自己的内部IT资源,但当达到某个极限时,本地系统会突发使用云IT资源以应对过载。实际上,云消费者只有在其内部系统达到最大容量时才使用云资源。
要操作云突发架构,云消费者在本地系统中运行一些云提供商机制。云消费者拥有一个自动化扩展监听器,监控本地服务的负载,并在负载参数超过时重定向到云中的相同服务。这需要在云中使用资源复制机制复制云消费者的IT资源。