CN107787483A - 经由多租户链接的无缝地址再分配 - Google Patents

经由多租户链接的无缝地址再分配 Download PDF

Info

Publication number
CN107787483A
CN107787483A CN201680034595.XA CN201680034595A CN107787483A CN 107787483 A CN107787483 A CN 107787483A CN 201680034595 A CN201680034595 A CN 201680034595A CN 107787483 A CN107787483 A CN 107787483A
Authority
CN
China
Prior art keywords
machine
service
virtual machine
pond
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201680034595.XA
Other languages
English (en)
Inventor
N·A·文卡塔拉迈亚
D·班萨尔
D·C·埃克特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107787483A publication Critical patent/CN107787483A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本文中描述的技术管理一组机器从阶段式分阶段状态到生产状态的部署,同时将生产和阶段式分阶段机器维持在单个虚拟互联网协议(VIP)地址之后。这些机器可以部署在一个或多个数据中心内。被寻址到VIP的服务请求可以由负载平衡器发送到阶段式分阶段池或生产池内的机器。负载平衡器可以根据策略评估请求的特性,以确定是否将该请求传送给第一或第二池中的机器。

Description

经由多租户链接的无缝地址再分配
背景技术
负载平衡系统通常将服务的多个直接端点作为单个虚拟端点展现给服务的消费者。由于服务的消费者所产生的输入业务在旋转中被分配,或者在准备好在任何特定时刻提供服务的一组机器之间被“负载平衡”。被指定为提供服务的一组机器处于生产模式。除了主动提供服务的机器之外,一组机器可以处于阶段式部署中。阶段式部署中的机器可以正在运行服务的更新版本,该服务的更新版本在生产部署之前需要被测试。一旦测试完成,阶段式机器可以升级到生产状态,并且生产部署可以脱机,并且与原始部署相关联的机器被重新分配用于不同的目的。
发明内容
提供本“发明内容”是为了以简化的形式说明将在以下“具体实施方式”中进一步描述的一些概念。本发明内容不是旨在确定要求保护的主题的关键特征或必要特征,也不是旨在孤立地用作确定所要求保护的主题的范围的辅助手段。
本文中描述的技术管理一组机器从阶段式状态到生产状态的部署,同时将生产和阶段式机器维持在单个虚拟因特网协议(VIP)地址之后。这些机器可以部署在一个或多个数据中心内。被寻址到VIP的服务请求可以由负载平衡器发送到阶段式池或生产池内的机器。负载平衡器可以根据策略评估请求的特性,以确定是否将请求传送给第一或第二池中的机器。
附图说明
下面参考附图详细描述本文中描述的各方面,在附图中:
图1是示例性操作环境的框图,在该操作环境中可以采用本文中描述的各方面;
图2是根据本文中描述的各方面的示例性多池架构的示意图;
图3是根据本文中描述的各方面的示例性多池架构的示意图;
图4是根据本文中描述的各方面的示例性多池架构的示意图;
图5是示出根据本文中描述的各方面的用于同时部署服务的两个不同版本的示例性方法的流程图;
图6是示出根据本文中描述的各方面的用于同时部署服务的两个不同版本的示例性方法的流程图;以及
图7是适用于实现本文中描述的各方面的示例性计算环境的框图。
具体实施方式
本文中描述的技术在本文中以特征进行描述,以符合法定要求。然而,描述本身并不意在限制本专利的范围。而是,发明人已经预期,所要求保护的主题也可以以其他方式来实施,以结合其他当前或未来的技术包括与本文中所描述的步骤不同的步骤或类似步骤的组合。此外,虽然术语“步骤”和/或“框”在本文中可以用于暗示所采用的方法的不同元素,但是这些术语不应当被解释为表示本文中公开的各个步骤之中或之间的任何特定顺序,除非当明确地描述了各个步骤的顺序时。
本文中描述的技术管理一组机器从阶段式状态到生产状态的部署,同时将生产和阶段式机器维持在单个虚拟互联网协议(VIP)地址之后。这些机器可以部署在一个或多个数据中心内。被寻址到VIP的服务请求可以由负载平衡器发送到阶段式池或生产池内的机器。负载平衡器可以根据策略评估请求的特性,以确定是否将请求传送给第一或第二池中的机器。
为了本公开的目的,词语“包括(including)”具有与词语“包含(comprising)”相同的广泛含义。另外,除非另有相反指示,否则诸如“一个(a)”和“一个(an)”等词语包括复数以及单数。因此,例如,在存在一个或多个特征的情况下,满足“特征(a feature)”的限制。而且,术语“或”包括连接词、分离词和两者(a或b因此包括a或b、以及a和b)。
为了下面的详细讨论,本文中描述的各方面参考负载平衡操作环境来描述,该负载平衡操作环境来描述由云计算平台支持,该负载平衡操作环境包括服务的一个或多个端点(在本文中也被称为直接IP或DIP)作为到服务的消费者的单个虚拟端点(本文中也称为虚拟IP或VIP)。部件可以被配置用于执行不同方面的新颖方面,其中“被配置用于”包括被编程为执行特定任务或者使用代码实现特定的抽象数据类型。可以预期,可以在具有本文中描述的功能部件的替代配置的不同类型的操作环境中执行本文中描述的方法。因此,本文中描述的各方面仅仅是示例性的,并且可以设想,所描述的技术可以扩展到其他实现环境。
本文中描述的各方面可以在跨不同数据中心和地理区域运行云应用和服务的云计算基础设施上实现。云计算基础设施可以实现架构控制器部件,以供应和管理云应用和服务的资源分配、部署/升级和管理。通常,云计算系统用于以分布式方式存储数据或运行应用和服务。云计算基础设施的应用和服务部件可以包括节点(例如,计算设备、处理单元或服务器机架中的刀片),该节点被分配为运行应用和服务的一个或多个部分。
当节点正在支持多个应用和服务时,节点可以被划分为虚拟机或物理机器,该虚拟机或物理机器在支持特定于每个服务应用的资源和/或操作系统的个性化计算环境中分别同时运行单独的服务应用。此外,每个应用或服务可以被分成功能部分,使得每个功能部分能够在单独的虚拟机上运行。在云计算基础设施中,可以使用多个服务器来运行应用和服务以在群集中执行数据存储操作。特别地,服务器可以独立地执行数据操作,但是暴露为被称为群集的单个设备。群集中的每个服务器可以称为节点。应用和服务在本文中可互换地使用。
云计算基础设施可以支持不同类型的服务,诸如计算、存储、内容分发、网络和安全。当服务由云计算基础设施或云支持时,服务包括一系列相互组合管理的虚拟机或本机。每个机器可以分配专用的直接IP(DIP)地址,而服务则分配一个公共的虚拟IP(VIP)地址。通过服务边界(例如,到互联网或到相同数据中心(诸如存储装置)内的后端服务)的业务使用VIP地址。服务公开零个或多个外部端点,每个外部端点接收入站业务。预期,可以使用VIP上的特定协议和端口来接收入站业务。
在本文中描述的技术的各方面,云计算基础设施可以支持单个服务的多个版本。在一个方面,服务的第一版本在生产中,并且服务的第二版本被阶段式。阶段式版本可以是准备好测试的服务的升级版本。另一方面,阶段式版本已经被测试并且为生产服务准备好。本文中描述的技术的各方面可以帮助在第一版本和第二版本之间转换服务而不中断服务。
云计算基础设施中的负载平衡器可以被配置为分发入站业务。具体地,被引导到云计算基础设施中的内部端点的业务可以通过VIP或者与其关联的负载平衡部件而被负载平衡到服务的一个或多个机器的DIP。负载平衡跨越一个或多个机器分配入站业务,以优化资源,最大化吞吐量,最小化响应时间,并且避免任何单个资源的过载。本文中描述的技术的各方面可以在单个DIP后面定位两个或更多个机器池,并且允许负载平衡器来选择池,并且然后将业务引导到所选择的池中的机器。负载平衡器可以基于策略来选择池,该策略将具有特定特性的请求分配给池之一。
现在参考图1,图1示出了示例性云计算基础设施100,其中可以采用本公开的实现。具体地,图1示出了根据本公开的实现的云计算基础设施100的高级架构。应当理解,本文中描述的这种和其他的布置仅作为示例被阐述。除了或者替代所示的那些,可以使用其他的布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且一些元件可以被完全省略。此外,本文中描述的很多元件是功能实体,其可以被实现为分立或分布式部件或结合其他部件来实现,并且以任何合适的组合和位置来实现。本文中描述为由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。
在未示出的其他部件中,云计算基础设施100包括云计算平台105,其具有至少一个路由器110、与至少一个VIP 125相关联的至少一个负载平衡部件120、以及与至少一个VIP 125相关联的DIP节点130、140和150。DIP节点可以实施为存在于一个或多个主机节点中的虚拟机(VMs)(例如,在与至少一个VIP 125相关联的示例性主机节点内被分组在一起),每个主机节点包括主机代理(未示出),用于基于其关联的DIP地址将业务引导到特定的虚拟机。云计算平台105被配置为服务客户端160、170和180。每个节点和客户端可以存在于例如可以对应于参考图7描述的计算设备700的任何类型的计算设备上。云计算基础设施100的部件可以通过网络彼此通信,网络可以包括但不限于一个或多个局域网(LAN)和/或广域网(WAN)。在本公开的实现的范围内,可以在云计算基础设施100内采用任何数目的节点(例如,服务器)和客户端计算设备。
在由云计算平台105支持的云计算基础设施100中,诸如节点130、140和150等节点被用于提供服务,并且还可以存储以及提供对云计算平台105的存储装置中的数据的访问。云计算平台105也可以是公共云、私有云或专用云。云计算平台105可以包括数据中心,该数据中心被配置为托管(host)和支持特定服务应用中的端点的操作。本文中使用的短语“应用”或“服务”广泛地指代在数据中心之上运行或访问数据中心内的存储位置的任何软件或软件部分。在一个方面,一个或多个端点可以表示参与服务应用的软件、组件程序或角色实例的部分。而且,客户端160、170和180可以被配置为访问数据,运行用于访问数据的应用,或者链接到由云计算平台105支持的应用或服务中。
已经描述了云计算基础设施100的各个方面,应当注意,在本公开的范围内可以使用任何数目的部件来实现期望的功能。尽管图1的各种部件为了清楚起见用线条示出,但是实际上,界定各种部件并不那么清楚,并且隐喻地,线条可能更准确地是灰色或模糊的。此外,尽管图1的一些部件虽然被描绘为单个部件,但是描述在本质上和数目上是示例性的,而不应当被解释为限制本公开的所有实现。
参考图2,提供了云计算基础设施的负载均衡框架200。可以通过示例性操作环境来描述负载均衡框架200和其中支持的功能。负载平衡框架200可以包括负载平衡部件205,该负载平衡部件205接收被寻址到VIP的消息250。负载平衡部件205被配置为将业务分配到第一机器池230或第二机器池240。除了在池之间分配业务之外,负载平衡部件205还可以跨越池内的DIP节点平衡服务请求,从而防止任何特定的DIP节点成为单点故障,同时还提高了服务的整体响应性。
本文中描述的技术允许同时部署服务220的两个不同版本。一个版本可以是生产版本,另一版本可以是测试版本。服务238的第一版本和服务248的第二版本两者可以作为单个服务220呈现给客户。换言之,客户可以发送对于服务220的请求,并且然后被负载平衡部件205引导到服务的两个可用版本之一中。在本文中也被称为“应用”的服务220可以是在云计算基础设施之上运行或访问其中的存储位置的任何软件或软件部分。预期,服务220由每个DIP节点单独地和/或共同地托管。在一些方面,一个或多个DIP节点可以表示参与服务应用的软件、组件程序或角色实例的部分。
第一机器池230提供服务238的第一版本,并且第二机器池240提供服务248的第二版本。服务238的第一版本和服务248的第二版本两者同时可用,这表示两个服务版本都可用于服务新接收的客户请求,并且需要决定哪个服务版本(和相应的机器)应当处理请求。
第一池230中的机器可以被分配唯一的端点(在本文中也被称为DIP节点、直接IP或DIP)。第一池230中的机器与第一DIP节点232、第二DIP节点234和第N DIP节点236相关联。第N DIP节点236指示机器池不限于特定数目的机器和相关联的DIP节点。第二机器池240中的机器与第一DIP节点242、第二DIP节点244和第N DIP节点246相关联。第N DIP节点246指示机器池不限于特定数目的机器和相关联DIP节点。
DIP节点232、234、236、242、244和246可以是与参考图7描述的计算设备700相对应的计算设备,或者可以是实施为也与计算设备700相对应的虚拟机(VMs)的计算设备,其被配置为在与计算设备700进一步相对应的一个或多个VM主机的虚拟环境中操作。在一些配置中,与VIP相关联的DIP节点可以是包括虚拟机和/或计算设备的任何组合的任何配置。DIP节点232、234、236、242、244和246通过网络与其相关联的VIP通信,并且每个被配置为向客户端(未示出)提供对服务220的访问,该客户端通过VIP请求对服务220的访问。DIP节点232、234、236、242、244和246可以单独地或组合地托管云计算基础设施内的一个或多个服务。
单独的DIP节点可以使用由负载平衡部件205提供的分配API214被分配给第一机器池230或第二机器池240。管理员可以访问分配API 214并且将单个机器向负载平衡部件205注册。机器与多个可用池之一的关联的记录可以被存储在负载平衡部件的存储器210中。存储器210还可以存储路由策略212。路由策略212由负载平衡部件205执行以确定对于VIP的请求应当被路由到几个可用池中的哪个。
路由策略212可以基于请求特性。请求特性可以包括发起请求的客户端的客户端特性。客户端特性可以包括客户端设备的类别、客户端设备的制造商、客户端设备的操作系统、客户端设备的操作系统版本、客户端设备的地理位置、与客户端设备相关联的用户信息等。来自不同类型的客户端的请求可以被路由到不同的池。例如,来自移动设备的请求可以被发送到第一池,而来自便携式计算机的请求被发送到第二池。
在一个方面,路由策略212可以实施栅栏式(fighting)操作。栅栏式操作将一定百分比的请求发送到服务的第一版本,将剩余百分比的发送到第二版本。利用所接收少量的百分比的客户请求,栅栏式操作可以用于测试服务的新版本。
在另一方面,请求可以被指定用于测试。策略可以将测试请求路由到提供正在测试的服务版本的池。
在一个方面,策略基于展示场景来路由请求。展示场景将服务的第一版本替换为服务的第二版本。服务的第二版本可能已经被测试,因此该展示场景与测试场景不同。展示场景将服务的第一版本替换为服务的第二版本,同时维持服务的连续性。用户可以连接到服务的第一版本,而新的请求被发送到服务的第二版本,服务的两个版本都在相同的VIP后面。提供服务的第二版本的更多机器可以在转换发生时联机。
现在转到图3和图4,根据本文中描述的技术的一个方面,示出了服务在单个VIP后面从测试到生产的转换。云计算环境305包括通过广域网309与数据中心通信的客户,诸如客户307。在一个方面,广域网309是因特网。被寻址到VIP A 311的消息被路由到负载平衡器320。负载平衡器320执行策略312以确定来自客户307的请求是否应当被路由到DIP池A315或DIP池B 319。DIP池可以具有多个端点。端点可以是物理机器或虚拟机。
最初,DIP池A 315包括在生产模式下运行服务的第一版本的机器。DIP池B 319包括在测试模式下运行服务的第二版本的机器。策略312可以根据测试参数将从客户接收的消息路由到DIP池A 315或DIP池B 319。
在图4中,更新后的策略引起负载平衡器320开始将生产业务路由到DIP池B 319。现在,DIP池B 319接收生产业务,同时业务逐渐远离DIP池A 315。根据政策,一些业务仍然可以被路由到DIP池A 315。例如,当服务对状态敏感时,对客户端的持续支持可以由服务的第一版本提供,直到服务会话结束。
现在转到图5,描述了用于同时部署服务的两个不同版本的方法500。服务可以由数据中心中的一个或多个机器提供给客户端设备。
在步骤510,由计算设备接收对服务的请求,该服务于被寻址到单个虚拟互联网协议(VIP)地址。计算设备可以是数据中心内的负载平衡器。
在步骤520,由计算设备通过将请求的特性与策略相比较来确定请求应当被路由到被配置为提供服务的第一版本的第一机器池,而不是被配置为提供服务的第二版本的第二机器池。机器可以是虚拟机。第一机器池和第二机器池可以同时可用,使得请求可以被发送到任一池。
在步骤530,计算设备将请求路由到第一池中的机器。机器然后提供服务的第一版本。
现在转到图6,描述了用于同时部署服务的两个不同版本的方法600。服务可以由数据中心中的一个或多个机器提供给客户端设备。
在步骤610,由计算设备接收对服务的请求,该服务被寻址到单个统一资源定位符(URL)。URL可以是VIP。计算设备可以是数据中心内的负载平衡器。
在步骤620,由计算设备通过将请求的特性与策略相比较来确定请求应当被路由到被配置为提供服务的第一版本的第一机器池,而不是被配置为提供服务的第二版本的第二机器池。机器可以是虚拟机。第一机器池和第二机器池可以同时可用,使得请求可以被发送到任一池。
在步骤630,计算设备将请求路由到第一池中的机器。机器然后提供服务的第一版本。
已经描述了本技术的各方面的概述,下面描述其中可以实现本文中描述的各方面的示例性操作环境,以便为本文中描述的技术的各个方面提供一般上下文。首先参考图7,特别地,示出了用于实现本文中描述的各方面的示例性操作环境,并且其总体上指定为计算设备700。计算设备700仅仅是合适的计算环境的一个示例,而非旨在对本文中描述的技术的使用范围和功能提出任何限制。计算设备700也不应当被解释为具有与所示部件中的任何一个或组合相关的任何依赖性或要求。
本文中描述的技术可以在计算机代码或机器可用指令的一般上下文中描述,包括由计算机或其他机器(诸如个人数据助理或其他手持设备)执行的诸如程序模块等计算机可执行指令。通常,程序模块(包括例程、程序、对象、部件、数据结构等)是指执行特定任务或实现特定抽象数据类型的代码。本文中描述的技术可以在各种系统配置中实践,包括手持式设备、消费电子产品、通用计算机、更专业的计算设备等。本文中描述的技术还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备来执行。
参考图7,计算设备700包括直接或间接耦合以下设备的总线710:存储器712、一个或多个处理器714、一个或多个呈现部件716、输入/输出(IO)端口718、输入/输出(IO)部件720、和说明性电源722。总线710表示可以是一个或多个总线(诸如地址总线、数据总线或其组合)。尽管图7的各个框图为了清楚起见用线条示出,但是实际上,界定各种部件不是那么清楚,并且隐喻地,线条将更准确地是灰色和模糊的。例如,可以将诸如显示设备等呈现部件看作是I/O部件。另外,处理器具有存储器。认识到,这是本领域的性质,并且重申图7的图仅仅是可以结合本文中描述的技术的一个或多个方面使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等类别之间没有进行区分,因为都被预期在图7的范围内并且参考“计算设备”。
计算设备700通常包括各种计算机可读介质。计算机可读介质可以是可以由计算设备700访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质包括易失性和非易失性、可移除和不可移除的介质,其被应用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪速存储器或其他存储器技术、CD-ROM、数字多功能光盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可以用于存储所需信息并且可以由计算设备700访问的任何其他介质。计算机存储介质不包括信号本身。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传递介质。术语“调制数据信号”是指具有一个或多个特性的信号,该特征被以这样的方式设置或改变,使得能够在信号中对信息进行编码。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线媒体、以及诸如声学、RF、红外线和其他无线媒体等无线媒体。上述任何组合也应当被包括在计算机可读介质的范围内。
存储器712包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、不可移除的或其组合。示例性的硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备700包括一个或多个处理器,其从诸如存储器712或I/O部件720等各种实体读取数据的。呈现部件716向用户或其他设备呈现数据指示。示例性的呈现部件包括显示设备、扬声器、打印部件、振动部件等。
I/O端口718允许计算设备700在逻辑上耦合到包括I/O部件720的其他设备,其中一些可以内置在其中。说明性的部件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、无线设备等。
实施例
实施例1.一种系统,具有处理器和存储介质,所述存储介质上实施有计算机可执行指令,所述计算机可执行指令在由所述处理器执行时执行用于从阶段式环境向生产环境部署计算设备池的方法,所述系统包括:第一虚拟机池,被配置为提供服务的第一版本;第二虚拟机池,被配置为提供所述服务的第二版本;以及负载平衡部件,被配置为:1)从客户端设备接收对所述服务的请求,所述服务被寻址到单个虚拟互联网协议(VIP)地址,以及2)应用策略以将所述消费者请求路由到所述第一虚拟机池或所述第二虚拟机池内的虚拟机。
实施例2.根据实施例1所述的系统,其中所述第一虚拟机池包括生产机器,并且所述第二虚拟机池包括测试机器。
实施例3.根据实施例2所述的系统,其中所述策略引起所述负载平衡部件将从测试服务接收的请求路由到所述第二虚拟机池。
实施例4.根据上述实施例中任一项所述的系统,其中所述负载平衡部件还被配置为提供应用程序接口,通过所述应用程序接口,虚拟机能够被分配给所述第一虚拟机池或所述第二虚拟机池。
实施例5:根据上述实施例中任一项所述的系统,其中所述策略将第一百分比的请求路由到所述第一虚拟机池,并且将第二百分比的请求路由到所述第二虚拟机池。
实施例6.根据上述实施例中任一项所述的系统,其中所述第一虚拟机池、所述第二虚拟机池和所述负载平衡器都是数据中心的部件。
实施例7.根据上述实施例中任一项所述的系统,其中唯一的直接互联网协议(DIP)地址被分配给所述第一虚拟机池中的每个虚拟机。
实施例8.根据上述实施例中任一项所述的系统,其中所述策略可更新以将所述第二虚拟机池改变为生产池。
实施例9.根据上述实施例中任一项所述的系统,其中所述请求没有规定特定的虚拟机、所述第一虚拟机池或所述第二虚拟机池。
实施例10.一种用于同时部署服务的两个不同版本的方法,所述方法包括:在计算设备处接收对所述服务的请求,所述请求被寻址到单个虚拟互联网协议(VIP)地址;在所述计算设备处,通过将所述请求的特性与策略相比较来确定所述请求应当被路由到被配置为提供所述服务的第一版本的第一机器池,而不是被配置为提供所述服务的第二版本的第二机器池,其中所述第一机器池和所述第二机器池两者同时可供使用;以及在所述计算设备处将所述请求路由到所述第一机器池中的机器。
实施例11.根据实施例10所述的方法,其中所述服务的所述第一版本是阶段式版本,并且所述服务的所述第二版本是生产版本。
实施例12.根据实施例11所述的方法,其中所述方法还包括:接收更新后的策略,该更新后的策略将所述服务的所述第一版本改变为所述生产版本。
实施例13.根据实施例12所述的方法,其中所述第一机器池和所述第二机器池位于一个或多个数据中心中。
实施例14.根据实施例10所述的方法,其中,所述方法还包括:接收新的虚拟机被分配给所述第二机器池的指示;并且存储所述新的虚拟机在第二池中的记录。
实施例15.根据实施例10至14中任一项所述的方法,其中所述机器是虚拟机。
实施例16.一种计算机存储介质,其上实施有计算机可执行指令,所述计算机可执行指令在由计算设备执行时执行用于同时部署服务的两个不同版本的方法,所述方法包括:在所述计算设备处接收对所述服务的请求,所述服务的请求被寻址到统一资源定位符;在所述计算设备处通过将所述请求的特性与策略相比较来确定所述请求应当被路由到被配置为提供所述服务的第一版本的第一机器池,而不是被配置为提供所述服务的第二版本的第二机器池,其中所述第一机器池和第二机器池同时可供使用;以及在所述计算设备处将所述请求路由到所述第一机器池中的机器。
实施例17.根据实施例16所述的介质,其中所述方法还包括:接收新的机器被分配给所述第二池的指示;并且存储所述新的机器在所述第二池中的记录。
实施例18.根据实施例16或17中任一项所述的介质,其中所述策略规定将指定百分比的请求发送到所述第一机器池。
实施例19.根据实施例16、17或18中任意所述的介质,其中所述策略规定用于将所述请求与所述第一机器池相关联的请求特性。
实施例20.根据实施例16、17、18或19中任一项所述的媒体,其中所述服务的所述第一版本是阶段式版本,并且所述服务的所述第二版本是生产版本。
已经结合特定方面描述了本文中呈现的各方面,这些方面在所有方面都是说明性的而不是限制性的。应当理解,某些特征和子组合是有用的,并且可以在不参考其他特征或子组合的情况下使用。这是权利要求的范围内考虑的并且在其范围内。

Claims (15)

1.一种系统,具有处理器和存储介质,所述存储介质上具有计算机可执行指令,当所述指令由所述处理器执行时执行用于从阶段式环境向生产环境部署计算设备池的方法,所述系统包括:
第一虚拟机池,被配置为提供服务的第一版本;
第二虚拟机池,被配置为提供所述服务的第二版本;以及
负载平衡部件,被配置为:
1)从客户端设备接收对所述服务的请求,所述服务被寻址到单个虚拟互联网协议(VIP)地址,
2)应用策略以便将所述用户请求路由到所述第一虚拟机池或所述第二虚拟机池内的虚拟机。
2.根据权利要求1所述的系统,其中所述第一虚拟机池包括生产机,并且所述第二虚拟机池包括测试机。
3.根据权利要求2所述的系统,其中所述策略引起所述负载平衡部件将从测试服务接收的请求路由到所述第二虚拟机池。
4.根据权利要求1所述的系统,其中所述负载平衡部件还被配置为提供应用程序接口,通过所述应用程序接口,虚拟机能够被分配给所述第一虚拟机池或所述第二虚拟机池。
5.根据权利要求1所述的系统,其中所述策略将第一百分比的请求路由到所述第一虚拟机池,并且将第二百分比的请求路由到所述第二虚拟机池。
6.根据权利要求1所述的系统,其中所述第一虚拟机池、所述第二虚拟机池和所述负载平衡器都是数据中心的部件。
7.根据权利要求1所述的系统,其中唯一的直接互联网协议(DIP)地址被分配给所述第一虚拟机池中的每个虚拟机。
8.根据权利要求1所述的系统,其中所述策略可更新以将所述第二虚拟机池改变为生产池。
9.根据权利要求1所述的系统,其中所述请求没有规定特定的虚拟机、所述第一虚拟机池或所述第二虚拟机池。
10.一种用于同时部署服务的两个不同版本的方法,所述方法包括:
在计算设备处接收对所述服务的请求,所述服务被寻址到单个虚拟互联网协议(VIP)地址;
在所述计算设备处通过将所述请求的特性与策略相比较来确定所述请求应当被路由到被配置为提供所述服务的第一版本的第一机器池,而不是被配置为提供所述服务的第二版本的第二机器池,其中所述第一机器池和所述第二机器池两者同时可供使用;以及
在所述计算设备处将所述请求路由到所述第一机器池中的机器。
11.根据权利要求10所述的方法,其中所述服务的所述第一版本是阶段式版本,并且所述服务的所述第二版本是生产版本。
12.根据权利要求11所述的方法,其中所述方法还包括:
接收更新的策略,所述更新的策略将所述服务的所述第一版本改变为所述生产版本。
13.根据权利要求12所述的方法,其中所述第一机器池和所述第二机器池位于一个或多个数据中心中。
14.根据权利要求10所述的方法,其中所述方法还包括:
接收新的虚拟机被分配给所述第二机器池的指示;以及
存储所述新的虚拟机在所述第二机器池中的记录。
15.根据权利要求10所述的方法,其中所述机器是虚拟机。
CN201680034595.XA 2015-06-26 2016-06-24 经由多租户链接的无缝地址再分配 Pending CN107787483A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/752,069 US10191757B2 (en) 2015-06-26 2015-06-26 Seamless address reassignment via multi-tenant linkage
US14/752,069 2015-06-26
PCT/US2016/039130 WO2016210204A1 (en) 2015-06-26 2016-06-24 Seamless address reassignment via multi-tenant linkage

Publications (1)

Publication Number Publication Date
CN107787483A true CN107787483A (zh) 2018-03-09

Family

ID=56409176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680034595.XA Pending CN107787483A (zh) 2015-06-26 2016-06-24 经由多租户链接的无缝地址再分配

Country Status (4)

Country Link
US (1) US10191757B2 (zh)
EP (1) EP3314430A1 (zh)
CN (1) CN107787483A (zh)
WO (1) WO2016210204A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766192A (zh) * 2019-01-25 2019-05-17 郑州云海信息技术有限公司 一种虚拟化服务器的调度方法及调度系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230662B2 (en) * 2016-05-20 2019-03-12 Mitel Networks, Inc. Hybrid cloud deployment for hybrid unified communications
US10447591B2 (en) * 2016-08-30 2019-10-15 Oracle International Corporation Executing multiple virtual private network (VPN) endpoints associated with an endpoint pool address
CN106789376B (zh) * 2017-03-24 2020-09-22 大连大学 带有层级结构的指控网络级联失效模型构建方法
CN107316155A (zh) * 2017-06-30 2017-11-03 红云红河烟草(集团)有限责任公司 一种均衡生产水平的评价方法
US10574624B2 (en) * 2017-10-09 2020-02-25 Level 3 Communications, Llc Staged deployment of rendezvous tables for selecting a content delivery network (CDN)
US11159367B2 (en) 2018-05-15 2021-10-26 Nutanix, Inc. Apparatuses and methods for zero touch computing node initialization
US10735250B2 (en) 2018-11-30 2020-08-04 International Business Machines Corporation Dynamic distributor selection for network load balancing
US10979289B2 (en) 2019-08-12 2021-04-13 Nutanix, Inc. Apparatuses and methods for remote computing node registration and authentication
US11212168B2 (en) 2019-11-20 2021-12-28 Nutanix, Inc. Apparatuses and methods for remote computing node initialization using a configuration template and resource pools

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110145390A1 (en) * 2009-12-11 2011-06-16 Verizon Patent And Licensing, Inc. Load balancing
CN102119512A (zh) * 2008-08-11 2011-07-06 微软公司 分布式负载平衡器
CN104246744A (zh) * 2012-04-21 2014-12-24 国际商业机器公司 用于提供测试网络作为ip可访问的云服务的方法和装置
WO2015041832A1 (en) * 2013-09-17 2015-03-26 Cisco Technology, Inc. Redundancy network protocol system

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6308216B1 (en) * 1997-11-14 2001-10-23 International Business Machines Corporation Service request routing using quality-of-service data and network resource information
US7099319B2 (en) 2002-01-23 2006-08-29 International Business Machines Corporation Virtual private network and tunnel gateway with multiple overlapping, remote subnets
US7567504B2 (en) 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7587399B2 (en) * 2005-12-30 2009-09-08 Sap Ag Integrated software toolset for a web server
US8364847B2 (en) 2008-02-29 2013-01-29 Microsoft Corporation Address management in a connectivity platform
US8996683B2 (en) 2008-06-09 2015-03-31 Microsoft Technology Licensing, Llc Data center without structural bottlenecks
US8416692B2 (en) 2009-05-28 2013-04-09 Microsoft Corporation Load balancing across layer-2 domains
US8688994B2 (en) 2010-06-25 2014-04-01 Microsoft Corporation Federation among services for supporting virtual-network overlays
US8010993B1 (en) * 2010-07-14 2011-08-30 Domanicom Corp. Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices
US9766947B2 (en) * 2011-06-24 2017-09-19 At&T Intellectual Property I, L.P. Methods and apparatus to monitor server loads
US8661287B2 (en) * 2011-06-30 2014-02-25 Rackspace Us, Inc. Automatically performing failover operations with a load balancer
US8700946B2 (en) * 2011-10-27 2014-04-15 Sungard Availability Services, Lp Dynamic resource allocation in recover to cloud sandbox
US20130159487A1 (en) 2011-12-14 2013-06-20 Microsoft Corporation Migration of Virtual IP Addresses in a Failover Cluster
US8775599B2 (en) 2012-06-19 2014-07-08 Microsoft Corporation Multi-tenant middleware cloud service technology
US9092269B2 (en) 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
US8805990B2 (en) 2012-07-12 2014-08-12 Microsoft Corporation Load balancing for single-address tenants
US8989183B2 (en) 2012-10-10 2015-03-24 Microsoft Technology Licensing, Llc Virtual machine multicast/broadcast in virtual network
US20150106805A1 (en) * 2013-10-15 2015-04-16 Cisco Technology, Inc. Accelerated instantiation of cloud resource
US20160371071A1 (en) * 2015-06-16 2016-12-22 Dell Software Inc. Account-based software upgrades in a multi-tenant ecosystem

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102119512A (zh) * 2008-08-11 2011-07-06 微软公司 分布式负载平衡器
US20110145390A1 (en) * 2009-12-11 2011-06-16 Verizon Patent And Licensing, Inc. Load balancing
CN104246744A (zh) * 2012-04-21 2014-12-24 国际商业机器公司 用于提供测试网络作为ip可访问的云服务的方法和装置
WO2015041832A1 (en) * 2013-09-17 2015-03-26 Cisco Technology, Inc. Redundancy network protocol system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AMIT APPLE: "Azure Web Apps (Websites) Deployment Slots - Explained", 《HTTPS://BLOG.AMITAPPLE.COM/POST/2014/11/AZURE-WEBSITES-SLOTS/#.X9MUB-RB3YU》 *
ANDREAS WASITA: "Static DIP Request, VIP Reservation on Microsoft Azure", 《HTTPS://BLOG.KLOUD.COM.AU/2014/07/18/STATIC-DIP-REQUEST-VIP-RESERVATION-ON-MICROSOFT-AZURE/》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109766192A (zh) * 2019-01-25 2019-05-17 郑州云海信息技术有限公司 一种虚拟化服务器的调度方法及调度系统

Also Published As

Publication number Publication date
WO2016210204A1 (en) 2016-12-29
EP3314430A1 (en) 2018-05-02
US10191757B2 (en) 2019-01-29
US20160378526A1 (en) 2016-12-29

Similar Documents

Publication Publication Date Title
CN107787483A (zh) 经由多租户链接的无缝地址再分配
CN104038401B (zh) 用于分布式覆盖虚拟环境的互操作性的方法和系统
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
EP3811214B1 (en) Function as a service (faas) execution distributor
EP3405878B1 (en) Virtual network, hot swapping, hot scaling, and disaster recovery for containers
CN104090825B (zh) 动态迁移计算机网络
CN105579965B (zh) 经由提供商定义接口的客户端驻地资源控制
CN109040276B (zh) 一种构建云平台的方法、装置、计算机存储介质及终端
CN101430649B (zh) 基于虚拟机的虚拟计算环境系统
CN103973741B (zh) 用于在云系统中进行远程调试的方法和装置
CN106031116B (zh) 一种ns与vnf的关联方法、装置及系统
CN110178357A (zh) 远程设备可接入的云中基于云的手机服务
CN102202078B (zh) 一种用于配置服务器场的多个异类角色的方法和系统
US20170070598A1 (en) Client-initiated leader election in distributed client-server systems
CN104811392B (zh) 用于处理网络中的资源访问请求的方法和系统
KR102361929B1 (ko) 동적 호스트 디바이스 인스턴스 모델 재구성을 이용한 제공자 네트워크에서의 수용량 관리
US11177974B2 (en) Consistent provision of member node group information on virtual overlay network
US20200150888A1 (en) Block storage with volume locality placement based on performance requirements
CN102984254A (zh) 在数据中心中的角色实例的可到达性
US20200329098A1 (en) Migrating a network service to a container-based platform
CN105812423B (zh) 一种云系统配置方法、服务器及装置
CN107580011A (zh) 一种数据共享方法及桌面云服务端
CN109120444A (zh) 云资源管理方法、处理器以及存储介质
JP2004213533A (ja) 画面受信装置、画面配信装置、画面情報送受信システム、画面受信方法、画面配信方法並びにそのプログラム
CN113114503B (zh) 基于应用交付网络需求的部署方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination