背景技术
[0001] 云计算通常利用共享的计算资源池。包括该共享的资源池的计算环境可以被称为“云”。资源可以是在
虚拟机上运行的资源的虚拟实例。该计算资源池可以提供服务。基于云的服务据说“在云上”执行或驻留“在云上”。计算环境或云可以适于通过向该池提供附加资源实例来增加服务使用。该共享的资源池可以位于企业网络内部,或者作为公共互联网的一部分而位于外部,位于内部和位于外部分别称为私有云和公共云。混合云环境可以利用私有云和公共云。例如,服务提供商可以为非峰值服务使用提供私有云,并且该服务提供商可以在峰值时间或高
请求速率时间期间向公共云切换服务请求。云资源提供商可以基于云计算环境的类型而为服务提供资源,如中央处理单元(“CPU”)或计算机
存储器,该云计算环境可以包括虚拟机。云资源提供商可以为包括
基础设施即服务、平台即服务、存储即服务和
软件即服务在内的服务提供资源配置的变化。云资源提供商可以基于每个时间段的成本、每个资源成本、订阅或任意其它合适的成本方法而将云上的空间租给该服务的服务提供商或客户。
附图说明
[0002] 图1和图2是示出用于维护云网络上的服务的示例方法的
框图。
[0003] 图3示出用于维护云网络上的服务的示例操作。
[0004] 图4和图5是示出用于维护云网络上的服务的示例系统的框图。
[0005] 图6示出可以在其中实现用于维护云网络上的服务的各个示例的示例环境。
具体实施方式
[0006] 在下面的描述和图中,描述用于维护云网络上的服务的系统和/或方法的一些示例实现方式。如本文中所用的,服务可以是能够在云上运行的通信、传输、信息、软件、存储或任意其它产品或活动的任意适当供应、或是基于云的服务。如本文中所用的,云可以是针对计算目的和/或存储目的而共用的物理资源和虚拟资源的任意合适组合。例如,云可以包括包含资源、
服务器和服务器组的虚拟实例的任意合适数量的单独资源、服务器和服务器组。如本文中所用的,云网络可以包括任意合适数量的云和/或可由网络设备
访问的资源的其它网络。
[0007] 云资源提供商可以基于资源利用状况或由服务使用的资源的量和/或程度,努
力为客户维护服务
质量。例如,被指派给服务的资源的量可以基于一天的任何特定时间而是高度利用的或未充分利用的。云服务提供商可以通过基于由服务利用的资源的量对云进行缩放,来维护该服务。缩放可以指增加或减少共享的资源池。云资源提供商可以提供基于资源利用状况而动态地缩放云的能力,以适应业务激增和暂歇。业务激增可以在服务请求或与提供该服务关联的请求增加时发生。因此,基于资源利用状况的缩放可以在指派可能间接地与该服务关联的供利用的资源时能够增加。例如,云资源提供商可以每天为每日的病毒扫描增加云资源。客户可以在不必要的或不想要的缩放时为云资源的增加付费,并且可能直至从云资源提供商收到账单时才可能知道。
[0008] 下面描述的示例涉及基于缩放规则来维护云网络上的服务。通过监控资源利用状况、服务质量(“QoS”)以及工作负荷量,可以在考虑缩放规则的成本时对云进行缩放。例如,可以基于资源利用状况、QoS、服务请求的量和预算来缩放云,以降低云资源向服务的过少分配或过多分配。缩放规则可以解决和/或适应客户的期望和/或需要,特别地适应客户的预算。
[0009] 图1和图2是示出用于维护云网络上的服务的示例方法的框图。参照图1,用于维护云网络上的服务的示例方法大体地可以包括接收一组状态数据以及基于该组状态数据实施缩放动作。
[0010] 在框102中,可以接收与服务关联的一组状态数据。该组状态数据可以描述在云网络上提供的服务的状态。例如,该组状态数据可以包括与由该服务利用的一组资源相关的一组利用状况数据、与该服务的性能
水平相关的一组质量数据、以及与该服务的工作负荷量相关的一组工作负荷数据。云网络可以包括云,云可以包括资源、服务器和服务器组的任意组合。云网络可以包括任意数量的其它云。其它云可以具有各种大小。
[0011] 该组利用状况可以包括或描述由服务利用的资源的量、资源中的每个有多少正被服务利用、服务利用它们的
频率等等。资源可以是计算环境中可用的任意合适的资源,无论该资源是物理的还是虚拟的,资源包括CPU、存储介质等等。该组质量数据可以包括或描述与QoS相关的数据,与QoS相关的数据包括服务损失、请求的完成时间、延迟等等。该组工作负荷数据可以包括或描述该服务实施或请求实施的工作负荷的速率。例如,该组工作负荷数据可以包括每秒的工作负荷的速率,并且工作负荷的速率可以是接收到的服务请求的速率。
[0012] 通过考虑与资源利用状况、QoS以及工作负荷量关联的指标或分析数据,可以与仅考虑资源利用状况相比对是否进行缩放以及在哪个维度上进行缩放进行更全面的决策。例如,如果服务条件将一组资源表现为具有高资源利用率以及低服务质量,那么可以对该服务增加资源。但是,如果工作负荷量也高,那么可以增加服务器组或整个云。可以在该云的包括单独的资源、服务器设备、服务器组和/或整个云在内的任意合适层级监控指标。资源、服务器设备、服务器组和/或云可以被称为云单元,并且下面以及在与图2-图4关联的描述中更详细地进行讨论。
[0013] 在框104中,可以基于对该组状态数据应用的缩放规则来对云网络实施缩放动作。缩放动作可以是云网络的任意合适改变,如向服务增加资源或从服务中移除资源。该缩放规则可以包括要使在云网络上发生缩放动作所要满足的一组条件。例如,该组条件可以包括与该服务利用的该组资源关联的资源利用状况条件、与该服务的性能水平关联的质量条件、与该服务的工作负荷量关联的工作负荷条件、以及与服务的成本关联的预算条件。
[0014] 缩放动作可以涉及云单元。云单元可以是资源、服务器、服务器组和云中的至少一个。云单元可以是物理的、虚拟的、或物理和虚拟结合的。缩放动作可以包括以下之一:向服务增加云单元和从服务中移除云单元。例如,缩放动作可以向
数据库服务增加服务器,第二缩放动作可以从网络服务中移除服务器。
[0015] 缩放动作可以在任意合适的缩放维度中发生,这包括在资源级、在服务器级、在服务器组级或在云级进行缩放。例如,资源级缩放可以包括向该服务增加资源,云级缩放可以包括向该服务增加云。缩放动作还可以在多种维度的结合中进行缩放。例如,可以通过从服务中移除资源以及向服务增加服务器组来对云进行缩放。
[0016] 缩放动作可以涉及缩放规则,并且该组条件可以由与云网络、服务和/或客户关联的指标来满足。当在每个指标都达到关联的条件时,可以符合或满足一组条件。例如,如果缩放动作与具有资源利用状况条件、质量条件、工作负荷条件以及预算条件的缩放规则关联,那么如果与指标关联的该组状态数据满足该资源利用状况条件、该质量条件、该工作负荷条件以及该预算条件,那么可以实施缩放动作。每个条件可以是最小值、最大值、值的范围、或其组合。例如,工作负荷条件可以包括满足缩放规则的速率的范围。可以基于所用的条件的类型来满足每个条件。例如,如果条件是最小值,那么等于或大于该最小值的值可以满足该条件,或者如果条件是范围,那么在该范围内的值可以满足该条件。
[0017] 客户可以具有要在服务和/或云资源提供商上花费的预算。如果缩放动作的成本在客户向服务划拨的预算内,那么可以实施该缩放动作。例如,即便满足资源利用状况条件、质量条件以及工作负荷条件,如果未满足预算条件(即,缩放动作将花费比客户对服务预算的成本更多的成本),那么也可以不实施该缩放动作。可以在服务级别协议(“SLA”)中提供预算和关联的预算条件。SLA还可以提供资源利用状况条件、质量条件以及工作负荷条件。
[0018] 图1的用于维护云网络上的服务的示例方法的描述可以应用于图2的用于维护云网络上的服务的示例方法的描述,并且图2的用于维护云网络上的服务的示例方法的描述可以应用于图1的用于维护云网络上的服务的示例方法的描述。为了简洁,一个示例方法的完整描述不在另一示例方法的描述中重复,另一示例方法的完整描述不在一个示例方法的描述中重复。在图3-图6的描述中提供示例方法的其它细节。
[0019] 在框202处,可以从由可以分析云网络的监控器提供的指标中获取一组状态数据。缩放规则可以向监控器提供
阈值或一组阈值。例如,该监控器可以在指标超过缩放规则的阈值时发送事件通知。该组阈值可以包括与服务的一组资源的利用状况水平关联的资源利用状况阈值、与服务的性能水平关联的质量阈值、以及与服务的工作负荷量关联的工作负荷阈值。监控器可以在运行期间监控单独的资源和/或多组资源。在与图4关联的描述中更详细地讨论阈值。
[0020] 该组状态数据可以提供与正在提供该服务的一组服务器组关联的或与将要提供该服务的一组服务器关联的信息。该组服务器可以基于特性或关系而进行分组。例如,可以基于数据库服务、网络服务以及应用服务而将一组服务器分组为数据库服务器组、网络服务器组以及应用组。缩放规则可以与服务器组中的多个服务器关联,并且可以将该组条件建立在该服务器组的基础上。例如,该组条件中的至少一个可以包括该多个服务器中满足该组条件中的这一个条件的服务器的数量。该组状态数据和缩放规则可以呈单独服务器的总量的形式或该组中的服务器的百分比的形式。例如,缩放规则可以描述在网络服务器组中的60%具有高资源利用状况、网络服务器组中的20%可以具有高服务质量、以及每个服务器的网络服务器请求工作负荷量在网络服务器组中的70%上为高时,向组增加附加网络服务器。
[0021] 在框204中,对一组状态数据应用缩放规则可以包括将指标与关联的条件作比较。例如,一组状态数据可以包括一组工作负荷量数据,并且可以将该组工作负荷量数据与工作负荷条件作比较。
[0022] 该组条件可以通过领域特定语言来描述,并且该组条件可以与在发送包括该组状态数据的事件通知时由监控器所用的阈值关联。例如,领域特定语言可以具有为“高”
指定的变量,并且该变量可以与云单元在该指标下的百分比(如90%的资源利用状况)关联。缩放规则的条件的范围可以通过领域特定语言进行限定,其中可以在服务运行之前或期间确定条件。例如,领域特定语言可以允许在资源利用状况为“高”时缩放该服务,并且术语“高”可以由预定的条件范围进行限定。可选地,该条件范围可以基于
机器学习方法,或者在运行期间是动态地自适应的。机器学习方法可以是对与可调整为与缩放规则一起使用的网络上的服务关联的数据进行分析的任意合适方法。领域特定语言可以使用描述与包括资源、服务器、服务器组或云在内的云单元关联的可以符合条件的任意合适的值或指标范围的基元(primitive)。例如,基元可以是云单元从零到全部的任意合适数量,并且可以通过任意合适的方式(如百分比、速率或值范围)来描述。
[0023] 在框206中,持续时间规则可以被应用于观察持续时间。持续时间规则可以包括与指标和/或该组状态数据满足缩放规则的条件的时间关联的评估窗和一组条件。
[0024] 观察持续时间可以与该组状态数据在该评估窗内满足缩放规则的累积时间长度相关。例如,如果高工作负荷条件发起缩放动作,那么持续时间规则可以设置:在可以进行缩放动作之前,应当满足工作负荷条件达五分钟窗内的累积一分钟。持续时间规则可以包括用于协助抵抗临时条件的高频率缩放的观察持续时间。例如,当雇员在工作日的开始自动地登录该服务时,可以满足缩放规则达30秒,但是客户可能不想要为此而缩放。评估窗可以是用于评估该观察持续时间的时间框。例如,评估窗可以是五分钟窗口的滑动或从六点到十一点的静态时间,其中满足缩放规则的时间可以被存储、被聚合或被累积成观察持续时间。
[0025] 持续时间规则可以协助由于使用连续持续时间产生的假阴性而不可以发生的缩放。例如,如果在发起缩放动作之前当满足工作负荷条件达连续的一分钟时间长度以及每两分钟有三十秒工作负荷高时,没有持续时间规则的系统被缩放,那么由于不能持续地满足缩放规则,所以可以不实施缩放动作;但是客户可能由于请求的一致性而想要缩放该云。如果使用持续时间规则的系统被置于观察持续时间是一分钟且评估窗是五分钟的类似场景中,那么可以满足该持续时间规则且缩放动作可以发生。
[0026] 评估窗和观察持续时间可以动态地改变。例如,在高峰时间期间,评估窗可以是两分钟的时间框并且观察持续时间可以是三十秒,而在非高峰时间期间,评估窗可以改变成三十分钟的
时间窗,并且观察持续时间可以改变为五分钟。评估窗和观察持续时间可以基于机器学习方法而动态地改变。在与图4关联的描述中更详细地讨论机器学习方法。
[0027] 在框208中,可以在云网络上实施缩放动作,并且该缩放动作可以包括向服务增加整个云。例如,云网络可以私下地执行服务,并且可以在峰值服务时间将服务请求指派给公共云。缩放规则可以考虑不同形式的云或云网络的云单元(如资源)中的各种成本。例如,在私有云中实施缩放动作可以比在公共云中实施缩放动作更便宜。
[0028] 缩放动作可以使用网络设备和/或程序指令来执行。例如,服务器设备可以实例化虚拟机以增加云单元,并且可以终止虚拟机以移除云单元。缩放动作还可以发起与云的维护相关的另一动作。例如,在缩放动作之后,负载均衡器可以根据均衡方法,通过将服务或服务请求从第一云单元重新指派给第二云单元,在服务器组上分配服务请求。在与图4和图5关联的描述中更详细地讨论用于实现图1和图2的示例方法的
硬件和程序指令。
[0029] 图3示出用于维护云网络上的服务的示例操作。本文描述的示例操作可以是用于维护云网络上的服务的方法和/或系统300的示例。该服务可以在云网络320上实施。云网络320可以包括资源322、服务器设备324、服务器组326、云328、和/或任意其它云单元,如云单元322、324、326和328。服务可以在云单元的任意合适的组合上执行。
[0030] 资源322可以是在计算中使用的任意合适的资源,如
硬盘、
随机存取存储器(“RAM”)、CPU、或它们的虚拟表示。服务器设备324可以包含多个资源,多个资源包括虚拟资源。例如,服务器设备324可以执行具有一组资源322的多个虚拟机。服务器组326可以是提供相关服务的一组服务器设备324。例如,多个数据库服务器可以组成数据库服务器组。云328可以是云网络320中的一种云,或被指派给特定服务。例如,云网络320可以表示包含公共云328和私有服务器组326的混合云。云328可以包括多个服务器组326、服务器设备324和/或资源322。
[0031] 监控操作器302可以监控云网络320和/或云网络320的云单元的状态。例如,监控操作器302可以追踪与资源322关联的资源利用状况以及与服务器组326关联的工作负荷量。监控操作器302可以基于云网络320和/或云网络320的云单元的状态,获取一组状态数据。
[0032] 监控操作器302可以耦接至数据储存器310。数据储存器310可以存储一组状态数据。监控操作器302可以与其它操作器联合工作,以将一组状态数据存储在数据储存器310内。例如,监控操作器302可以管理用于监控服务的资源利用状况的利用状况操作器312、用于监控服务质量的质量操作器314、用于监控服务的工作负荷量的工作负荷操作器316、以及用于获取和/或验证服务成本的成本操作器318。操作器302、312、314、316和318可以基于一组阈值而将数据置于数据储存器310内。该组阈值可以基于缩放规则的该组条件。数据储存器310可以是能够包含从操作器302、312、314、316和318中获取的数据(如该组状态数据)的任意合适的存储介质。
[0033] 规则操作器304可以将缩放规则应用于该组状态数据。规则操作器304可以从客户或云服务提供商可访问的数据储存器310或应用程序
接口(“API”)接收包括一组条件的缩放规则。规则操作器304可以从数据储存器310接收该组状态数据。该组状态数据可以被应用于与由监控操作器302监控和/或获取的数据关联的该组条件和/或该组阈值。例如,缩放规则可以包括资源利用状况条件、质量条件、工作负荷条件以及预算条件,并且可以由利用状况操作器312、质量操作器314、工作负荷操作器316和成本操作器318获取一组状态数据,以将该组状态数据与该组条件作比较。
[0034] 如果满足缩放规则,则缩放操作器306可以对云网络320实施缩放动作。该缩放动作可以向服务增加云单元,或移除服务的云单元。例如,如果满足用于将云网络320外扩为服务大量请求的缩放规则,那么缩放操作器306可以增加公共云328,以协助完成这些请求。一旦请求的量减少,第二缩放规则就可以通过从该服务中移除公共云328来内缩云网络
320。如上所述的,云单元可以是虚拟的。因此,服务器设备324或服务器组326可以动态地实例化或终止虚拟资源322、虚拟机(例如,服务器设备324)、或云单元的任意其它虚拟化。
[0035] 持续时间操作器308可以对该组状态数据应用持续时间规则。持续时间操作器308可以确保当该组状态数据满足缩放规则的该组条件达观察窗内的观察持续时间时,缩放动作发生。例如,如果不满足持续时间规则,那么即使满足缩放规则,缩放操作器306也可以不对云网络320实施缩放动作。如本文所讨论的,观察的持续时间可以是该组状态数据已符合缩放规则的该组条件的累积时间长度。
[0036] 通常,上面描述的图3的操作器302、304、306和308可以表示由图4的引擎402、404、406和408执行的或与图4的引擎402、404、406和408关联的操作、过程、交互和/或其它动作。
[0037] 图4和图5是示出用于维护云网络上的服务的示例系统的框图。参照图4,用于维护云网络上的服务的示例系统400大体地可以包括监控引擎402、
规则引擎404以及缩放引擎406。示例系统400还可以包括持续时间引擎408以及数据储存器410。数据储存器410可以与图3的数据储存器310相同,并且与数据储存器310关联的描述可以应用于数据储存器410,并且根据情况,与数据储存器410关联的描述可以应用于数据储存器310。
[0038] 监控引擎402可以表示被配置为维护与服务的资源利用状况、服务的质量以及服务的工作负荷量关联的一组状态数据的硬件和程序的任意合适组合。监控引擎402可以持续地、动态地或基于调度来维护该组状态数据。
[0039] 监控引擎402可以基于缩放规则的一组条件而从规则引擎404接收一组阈值。该组阈值可以包括与由该服务利用的一组资源关联的资源利用状况阈值、与该服务的性能水平关联的质量阈值、以及与该服务的工作负荷量关联的工作负荷阈值。资源利用状况阈值可以包括该服务的该组资源的利用状况水平、由该服务使用的资源的百分比、或与资源利用状况相关的其它指标。质量阈值可以包括请求完成率、丢包率、延迟、或与性能质量相关的其它指标。工作负荷阈值可以包括每个时间周期的服务请求以及与工作负荷的速率或工作负荷量相关的其它指标。
[0040] 该组状态数据可以包括与该组阈值相关的数据。例如,该组状态数据可以包括与由服务利用的一组资源关联的一组资源利用状况数据、与服务的性能水平关联的一组质量数据、以及与服务的工作负荷量关联的一组工作负荷。
[0041] 监控引擎402可以耦接至数据储存器410。监控引擎402可以通过增加、
修改、更新和/或删除在数据储存器410中包含的一组状态数据来维护该组状态数据。数据储存器410可以是能够包含与服务关联的诸如一组资源利用状况数据、一组质量数据、一组工作负荷数据以及一组成本数据之类的数据的存储介质。
[0042] 下面描述的规则引擎404可以使服务的成本和客户的预算由监控引擎402获得。该组状态数据可以包括服务的成本以及与服务的成本关联的预算条件。服务的成本可以从公共服务器、
网站、API、SLA或任意其它文档或可访问的介质中得到。服务的成本可以包括与资源、服务器、服务器组以及云中的一个关联的云单元成本。
[0043] 监控引擎402可以基于单独的云单元、服务交易或云单元组来监控云网络。云单元组可以包括由该服务使用的多个云单元,其中多个云单元中的每个按照该云单元组的类型或其它合适的关系相关。例如,多个云单元中的每个与多个云单元(如多个网络服务器)中的每个可以具有服务关系。
[0044] 监控引擎402可以聚合该云单元组的该组状态数据。该组条件可以基于多个云单元中满足该组条件的部分与该多个云单元的比率。例如,如果存在十个云单元并且当这些云单元中的70%满足缩放规则的该组条件时将执行缩放动作,那么监控引擎402可以在这十个云单元中的七个满足该组条件时发出一组状态数据。
[0045] 监控引擎402可以持续地、动态地或基于调度来监控云网络和/或维护数据储存器410。例如,监控引擎402可以每分钟获得状态更新。监控引擎402可以持续地、动态地或基于调度向规则引擎404发送包含该组状态数据的事件通知。例如,监控引擎402可以在达到阈值时向规则引擎404发送事件通知。规则引擎404可以接收该事件通知并且将该组状态数据与缩放规则作比较。
[0046] 规则引擎404可以表示被配置为对该组状态数据应用缩放规则的硬件和程序的任意合适组合。缩放规则可以包括应由该组状态数据满足的一组条件。例如,该组条件可以包括要与服务的资源利用状况作比较的资源利用状况条件、要与服务的质量作比较的质量条件、要与服务的工作负荷量作比较的工作负荷条件、以及要与服务的成本作比较的预算条件。
[0047] 规则引擎404可以基于领域特定语言来接收该组条件,并且可以使用该组条件来确定应由监控引擎402监控的一组阈值。例如,领域特定语言可以提供高、中和低的基元,该高、中和低的基元可以由规则引擎404确定,以分别监控超过71%、70%和41%之间、以及低于40%的一组阈值。领域特定语言可以允许规则引擎404基于云单元组的最大值、最小值、速率和/或百分比来缩放。
[0048] 规则引擎404可以接收来自监控引擎402的该组状态数据。该组状态数据可以是由监控引擎402监控的指标的水平。例如,该组状态数据可以包括资源利用状况水平、性能水平以及工作负荷量水平。该组状态数据可以是与监控引擎402监控的指标关联的领域特定语言的基元。例如,监控引擎402可以在网络服务器资源利用状况是80%并且该组状态数据可以是高基元时向规则引擎404发送事件;规则引擎404随后可以将缩放规则的该组条件与该高基元作比较。
[0049] 可以基于机器学习方法来动态地维护资源利用状况条件、质量条件、工作负荷条件、预算条件以及观察的持续时间条件(下面结合持续时间引擎408讨论)中的至少一个。机器学习方法可以观察服务,并且学习环境及满足该组条件的时间或云网络缩放的时间。因此,机器学习方法可以应用所学习的知识并且相应地更新该组条件和/或该组阈值。
[0050] 缩放引擎406可以表示被配置为基于缩放规则和一组状态数据来维护云网络的云单元的硬件和程序的任意合适组合。缩放引擎406可以通过对云网络实施缩放动作来维护服务。缩放引擎406可以基于对该组状态数据应用的缩放规则来实施缩放动作。例如,基于缩放规则,缩放引擎406可以被配置为向服务增加云单元和/或从服务中移除云单元。
[0051] 缩放引擎406可以被配置为接收来自规则引擎404的缩放通知。例如,规则引擎404可以在已满足缩放规则的该组条件时向缩放引擎406发送缩放通知。缩放通知可以包括要缩放的一个或多个维度以及要缩放的一个或多个云单元。例如,缩放通知可以包含要向服务增加服务器组的请求。
[0052] 缩放引擎406可以请求与缩放动作结合云网络动作。例如,负载均衡动作可以在向服务增加云单元或者从服务中移除云单元时平衡服务负载。
[0053] 持续时间引擎408可以表示被配置为对该组状态数据在评估窗内满足缩放规则的累积时间长度应用持续时间规则的硬件和程序的任意合适组合。持续时间引擎408可以追踪该组状态数据在评估窗内满足缩放规则的累积时间长度。例如,持续时间引擎408可以基于评估窗来分析数据储存器410中的该组状态数据,以比较该评估窗内的累积时间长度是否达到满足观察的持续时间条件的观察的持续时间阈值。持续时间引擎408可以与监控引擎402和规则引擎404一起工作,以在该组状态数据满足缩放规则时增加时间变量(如观察的持续时间),以及在评估窗变化时减小该时间变量。如果累积时间长度满足观察的持续时间条件,那么缩放引擎406可以维护云单元。
[0054] 持续时间引擎408可以被配置为向缩放引擎406和/或规则引擎404发送持续时间通知。例如,缩放引擎406可以进行等待,以直至缩放通知和持续时间通知都被接收到才实施缩放动作。对于另一示例,规则引擎404可以进行等待,以直至持续时间通知被接收到才发送缩放通知。
[0055] 图5示出用于维护云网络上的服务的示例系统500可以在操作地耦接至处理器资源532的存储器资源530上实现。处理器资源532可以操作地耦接至数据储存器510。数据储存器510可以与图3的数据储存器310和/或图4的数据储存器410相同,并且与数据储存器310和/或数据储存器410关联的描述可以应用于数据储存器510,并且根据情况,与数据储存器510关联的描述可以应用于数据储存器310和/或数据储存器410。
[0056] 参照图5,存储器资源530可以包含可以由处理器资源532执行的一组指令。该组指令在由处理器资源532执行可以实现系统500。存储在存储器资源530上的该组指令可以被表示为监控模
块502、规则模块504、缩放模块506和持续时间模块508。处理器资源532可以执行该组指令,以执行监控模块502、规则模块504、缩放模块506、持续时间模块508,和/或系统500的模块之间或与系统500的模块关联的任意合适操作。例如,处理器资源532可以执行一组指令,以维护与服务的资源利用状况关联的一组状态数据、将该组状态数据应用于缩放规则、以及基于该缩放规则维护云单元。监控模块502可以表示在执行时起到图4的监控引擎402的作用的程序指令。规则模块504可以表示在执行时起到图4的规则引擎404的作用的程序指令。缩放模块506可以表示在执行时起到图4的缩放引擎406的作用的程序指令。持续时间模块508可以表示在执行时起到图4的持续时间引擎408的作用的程序指令。
[0057] 处理器资源532可以是能够从存储器资源530获取指令以及执行那些指令的一个或多个CPU。除非本文另外描述,否则处理器资源532可以顺序地、同时地、或部分同时地处理指令。
[0058] 存储器资源530以及数据储存器510可以表示用于存储由系统500利用的数据的介质。该介质可以是能够
电子地存储数据和/或能够存储系统500的模块和/或由系统500所用的数据的任意非暂时性介质或多个非暂时性介质的组合。像存储器资源530这样的存储介质可以不同于传输介质,如
信号。该介质可以是机器可读的,如计算机可读的。数据储存器510的数据可以包括资源利用状况、QoS、工作负荷量、成本和/或本文提到的其它数据或信息(如持续时间值和/或时间值)的表示。
[0059] 在本文的讨论中,引擎402、404、406和408以及模块502、504、506和508已被描述为硬件和程序的组合。可以以多种方式实现这样的组件。见图5,程序可以是存储在存储器资源530上的处理器可执行指令,存储器资源530是有形的非暂时性计算机可读存储介质,并且硬件可以包括用于执行那些指令的处理器资源532。例如,处理器资源532可以包括一个或多个处理器。这样的多个处理器可以集成在单个设备中或分布在多个设备上。例如,参照图6,处理器资源532可以分布在服务器设备692和客户端设备694的任意组合上。存储器资源530可以据说存储程序指令,该程序指令在由处理器资源532执行时实现图5中的系统500。存储器资源530可以集成在与处理器资源532相同的设备中,或其可以与该设备和处理器资源532分离,但可由该设备和处理器资源532访问。存储器资源530可以分布在多个设备上,如图6的服务器设备692和客户端设备694。除非本文另外描述,否则存储器资源530和数据储存器510可以表示相同的物理介质。
[0060] 在一个示例中,程序指令可以是安装包的一部分,该安装包的该部分在安装时可以由处理器资源532执行以实现系统500。在这样的情况下,存储器资源530可以是便携式介质,如CD、DVD或闪驱或由可以从其中下载和安装该安装包的服务器设备(如图6的服务器设备692)维护的存储器。在另一示例中,程序指令可以是已安装的一个或多个应用的一部分。这里,存储器资源530可以包括集成的存储器,如硬盘、固态硬盘等等、
[0061] 图6示出可以在其中实现用于维护云网络上的服务的各个示例的示例环境。环境690被示出为包括用于维护云网络上的服务的云缩放系统600。本文结合图4和图5描述的系统600大体地可以表示被配置为维护云网络上的服务的硬件和程序的组合。系统600可以被集成到服务器设备692或客户端设备694内。系统600可以分布在服务器设备692、客户端设备694、或服务器设备692和客户端设备694的组合上。环境690可以是云计算环境。例如,系统600、服务器设备692和客户端设备694的任意组合可以是虚拟的实例和/或可以位于云上和/或可以在云上执行。环境690可以包括云计算环境,如云网络620。云网络620可以与图3的云网络320相同并且与云网络320关联的描述可以应用于云网络620,并且根据情况,与云网络620关联的描述可以应用于云网络320。
[0062] 在图6的示例中,服务器设备692可以访问客户端设备694。服务器设备692大体地可以表示被配置为对从客户端设备694接收的网络请求做出响应的任意计算设备。例如,服务器设备692可以是提供服务的云网络620的云单元,并且客户端设备694可以是被配置为访问云网络620以及接收该服务和/或与该服务通信的计算设备。服务器设备692可以包括网络服务器、
应用服务器或数据服务器。客户端设备694大体地可以表示被配置有用于传递这样的请求和接收和/或处理相应响应的浏览器或其它应用的任意计算设备。链接696大体地可以表示以下之一或任意组合:线缆,无线,光纤,或经由电信链接、红外链接、射频链接或提供电子通信的系统的任何其它连接器进行的远程连接。链接696可以至少部分地包括内联网、互联网或内联网和互联网的组合。链接696还可以包括中间代理、路由器、交换机、负载均衡器等等。
[0063] 参照图4-图6,引擎402、404、406和408和/或模块502、504、506和508可以分布在服务器设备、客户端设备和存储介质的任意组合上。引擎402、404、406和408和/或模块502、504、506和508可以完成或协助完成在描述另一引擎402、404、406和408和/或模块502、504、
506和508中实施的操作。引擎402、404、406和408和/或模块502、504、506和508可以实施操作器302、304、306和308的示例操作,和/或结合图1和图2描述的示例方法。
[0064] 尽管图1和图2的
流程图说明特定执行顺序,但是该执行顺序可以与所说明的顺序不同。例如,框的执行顺序可以相对于所示出的顺序被打乱。此外,连续示出的框可以同时执行或部分同时执行。所有这样的变化在本
发明的范围内。
[0065] 已参照前述示例示出并描述了本描述。但是,应理解,可以作出其它形式、细节以及示例而不脱离在下面的
权利要求中限定的本发明的精神和范围。