CN114945903A - 使用边缘优化计算实例在提供商底层扩展处执行用户工作负载 - Google Patents

使用边缘优化计算实例在提供商底层扩展处执行用户工作负载 Download PDF

Info

Publication number
CN114945903A
CN114945903A CN202080092892.6A CN202080092892A CN114945903A CN 114945903 A CN114945903 A CN 114945903A CN 202080092892 A CN202080092892 A CN 202080092892A CN 114945903 A CN114945903 A CN 114945903A
Authority
CN
China
Prior art keywords
provider
network
extension
instance
computing
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
CN202080092892.6A
Other languages
English (en)
Inventor
D·古普塔
G·艾利赛欧斯
I·帕柔卡尔
U·B·舍瓦岱
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN114945903A publication Critical patent/CN114945903A/zh
Pending legal-status Critical Current

Links

Images

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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/821Prioritising resource allocation or reservation requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/74Admission control; Resource allocation measures in reaction to resource unavailability
    • H04L47/748Negotiation of resources, e.g. modification of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/783Distributed allocation of resources, e.g. bandwidth brokers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/78Architectures of resource allocation
    • H04L47/788Autonomous allocation of resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/828Allocation of resources per group of connections, e.g. per group of users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

描述了用于使服务提供商网络的用户能够创建和配置“应用程序配置文件”的技术,所述“应用程序配置文件”包括与在提供商底层扩展处执行用户工作负载相关的参数。一旦创建应用程序配置文件,用户就可以通过基于定义的应用程序配置文件请求实例启动来请求将用户工作负载部署到提供商底层扩展。然后,服务提供商网络可以使用边缘优化计算实例(例如,为在提供商底层扩展环境内执行而定制的计算实例)在一个或多个提供商底层扩展处自动启动和布局用户的工作负载。在一些实施方案中,一旦部署了此类边缘优化实例,服务提供商网络就可以根据专用于实例的各种类型的计算资源来管理实例的自动调整,管理实例的生命周期以确保提供商底层扩展位置处的最大容量可用性,并执行其他实例管理过程。

Description

使用边缘优化计算实例在提供商底层扩展处执行用户工作 负载
背景技术
云计算平台通常向客户提供按需、受管理的计算资源。此类计算资源(例如,计算和存储容量)通常由安装在数据中心的大型容量池提供。客户可以从“云”请求计算资源,并且云可以为那些客户提供计算资源。诸如虚拟机和容器等技术通常用于允许客户安全地共享计算机系统的容量。
附图说明
将参考附图描述根据本公开的各种实施方案,在附图中:
图1示出了根据一些实施方案的包括云提供商网络并且还包括云提供商网络的各种提供商底层扩展的示例性系统。
图2示出了根据一些实施方案的其中云提供商网络底层扩展被部署在通信服务提供商网络内的示例性系统。
图3更详细地示出了根据一些实施方案的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性组件以及它们之间的连接性。
图4示出了根据一些实施方案的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。
图5是示出根据一些实施方案的边缘优化计算实例用于在提供商底层扩展处执行客户工作负载的环境的图示。
图6是示出根据一些实施方案的用于创建应用程序配置文件的示例性请求的图示,所述应用程序配置文件用于在提供商底层扩展处执行客户工作负载。
图7是示出根据一些实施方案的用于基于定义的应用程序配置文件在提供商底层扩展处启动边缘优化计算实例的示例性请求的图示。
图8是示出根据一些实施方案的用于使用户能够定义用于在提供商底层扩展处执行客户工作负载的应用程序配置文件并基于定义的应用程序配置文件在提供商底层扩展处启动边缘优化计算实例的方法的操作的流程图。
图9示出了根据一些实施方案的示例性提供商网络环境。
图10是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。
图11是示出可以用于一些实施方案中的示例性计算机系统的框图。
具体实施方式
本公开涉及使提供商网络能够使用边缘优化计算实例管理用户工作负载在提供商底层扩展处的部署和执行的方法、设备、系统和非暂时性计算机可读存储介质。根据本文描述的实施方案,一种提供商网络使用户能够创建和配置“应用程序配置文件”,所述“应用程序配置文件”包括与在提供商底层扩展处执行用户工作负载相关的参数(例如,包括将专用于基于配置文件启动的实例的期望计算资源量、所启动的实例的期望延时和地理约束、实例布局和扩展配置等)。一旦创建应用程序配置文件,用户就可以通过基于定义的应用程序配置文件请求实例启动来请求将用户工作负载部署到提供商底层扩展。然后,服务提供商网络可以使用边缘优化计算实例(例如,为在提供商底层扩展环境内执行而定制的计算实例)在一个或多个提供商底层扩展处自动启动和布局用户的工作负载。在一些实施方案中,一旦部署了此类边缘优化实例,服务提供商网络就可以根据专用于实例的各种类型的计算资源来管理实例的自动调整,管理实例的生命周期以确保提供商底层扩展位置处的最大容量可用性,并执行其他实例管理过程。除了其他益处之外,应用程序配置文件和边缘优化实例的使用还使得用户能够轻松地以抽象化一组可能不同的提供商底层扩展位置(例如,具有变化的硬件基础设施、总容量、蜂窝或其他类型的网络拓扑等的位置)的许多细节的方式在提供商底层扩展处启动工作负载,并进一步使得云提供商能够更好地管理此类位置的有限容量,并满足客户的工作负载性能预期。
云提供商网络(或“云”)是指大的网络可访问计算资源池(诸如计算、存储和联网资源、应用程序和服务)。云可以提供对可配置计算资源共享池的方便、按需网络访问,所述计算资源可以响应于客户命令而以编程方式配置和发布。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用程序以及提供那些服务的云提供商数据中心中的硬件和软件。一些客户可能希望使用此类云提供商网络的资源和服务,但是出于各种原因(例如,与客户装置的通信延时、法律合规性、安全性或其他原因)而更愿意在其自身网络内(例如在客户本地)、在由云提供商管理的单独网络处、在通信服务提供商的网络内或在另一种独立网络内配置这些资源和服务。
在一些实施方案中,云提供商网络的片段(在本文中被称为“提供商底层扩展(PSE)”或“边缘位置(EL)”)可以被配置在与云提供商网络分离的网络内。例如,云提供商网络通常包括被称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络的服务的物理硬件的网络结构。在一些实施方式中,提供商底层“扩展”可以是由一个或多个服务器形成的云提供商网络底层的扩展,所述一个或多个服务器位于客户或合作伙伴设施、单独的云提供商管理的设施中、通信服务提供商设施、或包括服务器的任何其他类型的设施本地,其中此类服务器通过网络(例如,公共可访问网络,诸如互联网)与云提供商网络的附近可用区或区域进行通信。客户可以经由云提供商底层或另一种网络访问提供商底层扩展,并且可以使用相同的应用程序编程接口(API)来创建和管理提供商底层扩展中的资源,就像它们将用于创建和管理云提供商网络的区域中的资源一样。
如上文指示,一种示例性类型的提供商底层扩展是由位于客户或合作伙伴设施本地的服务器形成的提供商底层扩展。位于云提供商网络数据中心之外的这种类型的底层扩展可以被称为云提供商网络的“前哨”。另一种示例性类型的提供商底层扩展是由位于由云提供商管理的设施中的服务器形成但是包括至少部分地由云提供商网络的单独控制平面控制的数据平面容量的提供商底层扩展。
在一些实施方案中,提供商底层扩展的又一示例是部署在通信服务提供商网络内的网络。通信服务提供商通常包括已部署网络的公司,终端用户通过所述网络获得网络连接性。例如,通信服务提供商可以包括移动或蜂窝网络提供商(例如,运营3G、4G和/或5G网络)、有线互联网服务提供商(例如,电缆、数字订户线、光纤等)和WiFi提供商(例如,在诸如酒店、咖啡店、机场等位置处)。虽然数据中心中的计算资源的传统部署由于集中化而提供了各种益处,但是终端用户装置与那些计算资源之间的物理约束(诸如网络距离和网络跃点的数量)可能阻止实现非常低的延时。通过在通信服务提供商网络中安装或部署容量,云提供商网络运营商可以为计算资源提供对终端用户装置的显著降低的访问延时,在一些情况下提供个位数毫秒延时。这种对计算资源的低延时访问是为现有的基于云的应用程序提供改进的响应性并实现游戏流、虚拟现实、实时渲染、工业自动化和自主车辆的下一代应用程序的重要推动力。
如本文所使用,安装在通信服务提供商网络(或可能的其他网络)内的云提供商网络的计算资源有时也被称为“云提供商网络边缘位置”或简称为“边缘位置”,因为它们比集中式数据中心中的计算资源更接近于终端用户连接到网络的“边缘”。此类边缘位置可以包括一个或多个联网计算机系统,所述一个或多个联网计算机系统为云提供商网络的客户提供计算资源,以便以比那些计算实例托管在数据中心站点中可实现的延时更低的延时为终端用户提供服务。部署在通信服务提供商网络中的提供商底层扩展也可以被称为“波长区”。
图1示出了根据一些实施方案的包括云提供商网络并且还包括云提供商网络的各种提供商底层扩展的示例性系统。云提供商网络100(有时简称为“云”)是指网络可访问的计算资源池(诸如计算、存储和联网资源、应用程序和服务),其可以是虚拟化的或裸机的。云可以提供对可配置计算资源共享池的便利的、按需网络访问,所述计算资源可以响应于客户命令而以编程方式配置和发布。可以动态地置备和重新配置这些资源以调整到可变负载。因此,云计算可以被视为通过公共可访问网络(例如,互联网、蜂窝通信网络)作为服务交付的应用程序以及提供那些服务的云提供商数据中心中的硬件和软件。
云提供商网络100可以通过网络向用户提供按需的、可扩展的计算平台,例如,允许用户经由其使用计算服务器(所述计算服务器经由中央处理单元(CPU)和图形处理单元(GPU)中的一者或两者任选地与本地存储装置一起使用而提供计算实例)和块存储服务器(所述块存储服务器为指定的计算实例提供虚拟化持久块存储)而具有可扩展“虚拟计算装置”供他们使用。这些虚拟计算装置具有个人计算装置的属性,所述属性包括硬件(各种类型的处理器、本地存储器、随机存取存储器(RAM)、硬盘和/或固态驱动器(“SSD”)存储装置)、操作系统选项、联网能力和预装载应用程序软件。每个虚拟计算装置还可以将其控制台输入和输出(例如,键盘、显示器和鼠标)虚拟化。这种虚拟化允许用户使用诸如浏览器、应用程序编程接口(API)、软件开发工具包(SDK)等计算机应用程序连接到他们的虚拟计算装置,以便像个人计算装置一样配置和使用他们的虚拟计算装置。与拥有用户可用的固定数量的硬件资源的个人计算装置不同,与虚拟计算装置相关联的硬件可以取决于用户需要的资源而放大或缩小。
如上文指示,用户(例如,用户138)可以经由中间网络136使用各种接口104(例如,API)连接到虚拟化计算装置和其他云提供商网络100资源和服务。API是指客户端(例如,电子装置134)与服务器之间的接口和/或通信协议,使得如果客户端以预定义格式发出请求,则客户端应当接收特定格式的响应或致使发起定义的动作。在云提供商网络背景中,API通过允许客户从云提供商网络获得数据或在云提供商网络内引起动作来为客户提供访问云基础设施的网关,从而使得能够开发与托管在云提供商网络中的资源和服务交互的应用程序。API还可以使得云提供商网络的不同服务能够彼此交换数据。用户可以选择部署他们的虚拟计算系统以提供基于网络的服务供自己使用和/或供他们的客户或客户端使用。
云提供商网络100可以包括被称为底层的物理网络(例如,金属板盒、电缆、机架硬件)。可以将底层视为包含运行提供商网络的服务的物理硬件的网络结构。底层可以与云提供商网络100的其余部分隔离,例如,可能无法从底层网络地址路由到运行云提供商服务的生产网络中的地址,或路由到托管客户资源的客户网络。
云提供商网络100还可以包括在底层上运行的虚拟化计算资源的覆盖网络。在至少一些实施方案中,网络底层上的管理程序或其他装置或进程可以使用封装协议技术来封装并通过网络底层在提供商网络内的不同主机上的客户端资源实例之间路由网络分组(例如,客户端IP分组)。封装协议技术可以用在网络底层上以经由覆盖网络路径或路线在网络底层上的端点之间路由封装的分组(也被称为网络底层分组)。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。因而,可以根据覆盖网络中的构造(例如,可以被称为虚拟私有云(VPC)的虚拟网络、可以被称为安全组的端口/协议防火墙配置)沿着底层网络路由网络分组。映射服务(未示出)可以协调这些网络分组的路由。映射服务可以是将覆盖互联网协议(IP)和网络标识符的组合映射到底层IP使得分布式底层计算装置可以查找将分组发送到哪里的区域分布式查找服务。
为了进行说明,每个物理主机装置(例如,计算服务器106、块存储服务器108、对象存储服务器110、控制服务器112)可以在底层网络中具有IP地址。硬件虚拟化技术可以使得多个操作系统能够例如作为计算服务器106上的虚拟机(VM)在主机计算机上同时运行。主机上的管理程序或虚拟机监视器(VMM)在主机上的各种VM之间分派主机的硬件资源并监视VM的执行。每个VM可以被设置有覆盖网络中的一个或多个IP地址,并且主机上的VMM可以知晓主机上的VM的IP地址。VMM(和/或网络底层上的其他装置或过程)可以使用封装协议技术来封装网络分组(例如,客户端IP分组)并通过网络底层在云提供商网络100内的不同主机上的虚拟化资源之间路由所述网络分组。封装协议技术可以用在网络底层上以经由覆盖网络路径或路线在网络底层上的端点之间路由封装的分组。封装协议技术可以被视为提供覆盖在网络底层上的虚拟网络拓扑。封装协议技术可以包括映射服务,所述映射服务维护映射目录,所述映射目录将IP覆盖地址(例如,对客户可见的IP地址)映射到底层IP地址(对客户不可见的IP地址),所述底层IP地址可以由云提供商网络上的各种进程访问以用于在端点之间路由分组。
如图所示,在各种实施方案中,云提供商网络底层的流量和操作可以被广泛地细分为两类:在逻辑控制平面114A上承载的控制平面流量和在逻辑数据平面116A上承载的数据平面操作。虽然数据平面116A表示用户数据通过分布式计算系统的移动,但是控制平面114A表示控制信号通过分布式计算系统的移动。控制平面114A通常包括分布在一个或多个控制服务器112上并由其实施的一个或多个控制平面组件或服务。控制平面流量通常包括管理操作,诸如为各种客户建立隔离的虚拟网络、监视资源使用率和健康状况、标识要启动请求的计算实例的特定主机或服务器、根据需要置备附加硬件等等。数据平面116A包括在云提供商网络上实施的客户资源(例如,计算实例、容器、块存储卷、数据库、文件存储)。数据平面流量通常包括非管理操作,诸如将数据传送到客户资源以及从客户资源传送数据。
控制平面组件通常在与数据平面服务器不同的一组服务器上实施,并且控制平面流量和数据平面流量可以通过单独/不同的网络发送。在一些实施方案中,控制平面流量和数据平面流量可以由不同的协议支持。在一些实施方案中,通过云提供商网络100发送的消息(例如,分组)包括用于指示流量是控制平面流量还是数据平面流量的标志。在一些实施方案中,可以检查流量的有效载荷以确定其类型(例如,是控制平面还是数据平面)。用于区分流量类型的其他技术是可能的。
如图所示,数据平面116A可以包括一个或多个计算服务器106,所述计算服务器可以是裸机(例如,单个租户)或者可以由管理程序虚拟化以为一个或多个客户运行多个VM(有时被称为“实例”)或microVM。这些计算服务器106可以支持云提供商网络的虚拟化计算服务(或“硬件虚拟化服务”)。虚拟化计算服务可以是控制平面114A的一部分,从而允许客户经由接口104(例如,API)发布命令以启动和管理他们的应用程序的计算实例(例如,VM、容器)。虚拟化计算服务可以提供具有不同的计算和/或存储器资源的虚拟计算实例。在一个实施方案中,虚拟计算实例中的每一个可以对应于若干实例类型中的一种。实例类型的特征可以在于其硬件类型、计算资源(例如,CPU或CPU内核的数量、类型和配置)、存储器资源(例如,本地存储器的容量、类型和配置)、存储资源(例如,本地可访问存储装置的容量、类型和配置)、网络资源(例如,其网络接口和/或网络能力的特性)和/或其他合适的描述性特性。使用实例类型选择功能性,可以例如(至少部分地)基于来自客户的输入为客户选择实例类型。例如,客户可以从一组预定义的实例类型中选择实例类型。作为另一个示例,客户可以指定实例类型的期望资源和/或实例将运行的工作负载的要求,并且实例类型选择功能性可以基于这样的规范来选择实例类型。
数据平面116A还可以包括一个或多个块存储服务器108,所述块存储服务器可以包括用于存储客户数据卷的持久性存储装置以及用于管理这些卷的软件。这些块存储服务器108可以支持云提供商网络的受管理块存储服务。受管理块存储服务可以是控制平面114A的一部分,允许客户经由接口104(例如,API)发布命令以创建和管理他们在计算实例上运行的应用程序的卷。块存储服务器108包括数据在其上被存储为块的一个或多个服务器。块是字节或位序列,通常包含一定的整数个记录,具有块大小的最大长度。分块数据通常存储在数据缓冲区中并且一次对整个块读取或写入所述分块数据。通常,卷可以对应于数据的逻辑集合,诸如代表用户维持的一组数据。用户卷(可以被视为例如大小的范围从1GB至1太字节(TB)或更大的个别硬盘驱动器)由存储在块存储服务器上的一个或多个块组成。虽然被视为个别硬盘驱动器,但是应当理解,卷可以被存储作为在一个或多个底层物理主机装置上实施的一个或多个虚拟化装置。卷可以被分区几次(例如,最多16次),其中每个分区由不同的主机托管。卷的数据可以在云提供商网络内的多个装置之间复制,以便提供卷的多个副本(其中此类副本可以共同表示计算系统上的卷)。分布式计算系统中的卷副本可以例如通过允许用户访问卷的主副本或卷的以块级与主副本同步的辅助副本有益地提供自动故障转移和恢复,使得主副本或辅助副本的故障不会阻止对卷信息的访问。主副本的作用可以是促进卷上的读取和写入(有时被称为“输入输出操作”或简称为“I/O操作”),并将任何写入传播到辅助副本(优选地在I/O路径中同步地传播,但是也可以使用异步复制)。辅助副本可以与主副本同步更新,并在故障转移操作期间提供无缝过渡,由此辅助副本承担主副本的角色,并且以前的主副本被指定为辅助副本或置备新的替换辅助副本。虽然本文中的某些示例讨论了主副本和辅助副本,但是应当理解,逻辑卷可以包括多个辅助副本。计算实例可以通过客户端将其I/O虚拟化为卷。客户端表示使得计算实例能够连接到远程数据卷(例如,存储在通过网络访问的物理分离的计算装置上的数据卷)并在远程数据卷处执行I/O操作的指令。客户端可以在包括计算实例的处理单元(例如,CPU或GPU)的服务器的卸载卡上实施。
数据平面116A还可以包括一个或多个对象存储服务器110,所述对象存储服务器表示云提供商网络内的另一种类型的存储装置。对象存储服务器110包括一个或多个服务器,数据在所述一个或多个服务器上被存储为称为桶的资源内的对象并且可以用于支持云提供商网络的受管理对象存储服务。每个对象通常包括所存储的数据、启用对象存储服务器关于分析所存储对象的各种能力的可变量的元数据,以及可以用于检索对象的全局唯一标识符或密钥。每个桶与给定的用户账户相关联。用户可以将与期望一样多的对象存储在他们的桶中,可以写入、读取和删除他们的桶中的对象,并且可以控制对他们的桶和桶中包含的对象的访问。此外,在具有分布在上述区域中的不同区域上的多个不同对象存储服务器的实施方案中,用户可以选择存储桶的区域(或多个区域),例如以优化延时。客户可以使用桶来存储各种类型的对象,包括可以用于启动VM的机器映像,以及表示卷数据的时间点视图的快照。
提供商底层扩展102(“PSE”)在单独网络内提供云提供商网络100的资源和服务,由此将云提供商网络100的功能性扩展到新位置(例如,出于与客户装置通信的延时、法律合规性、安全性等相关的原因)。如所指示的,此类提供商底层扩展102可以包括云提供商网络管理的提供商底层扩展140(例如,由位于与和云提供商网络100相关联的那些设施分开的云提供商管理的设施中的服务器形成)、通信服务提供商底层扩展142(例如,由与通信服务提供商设施相关联的服务器形成)、客户管理的提供商底层扩展144(例如,由位于客户或合作伙伴设施本地的服务器形成),以及其他可能类型的底层扩展。
如示例性提供商底层扩展140中所示,提供商底层扩展102可以类似地包括控制平面118B与数据平面120B之间的逻辑分离,所述控制平面和数据平面分别扩展云提供商网络100的控制平面114A和数据平面116A。提供商底层扩展102可以例如由云提供商网络运营商预先配置有硬件与软件和/或固件元素的适当组合,以支持各种类型的计算相关资源,并且以反映使用云提供商网络的体验的方式来这样做。例如,一个或多个提供商底层扩展位置服务器可以由云提供商置备以部署在提供商底层扩展102内。如上所述,云提供商网络100可以提供一组预定义的实例类型,每个实例类型具有不同类型和数量的底层硬件资源。也可以以各种大小提供每种实例类型。为了使得客户能够在提供商底层扩展102中继续使用与他们在所述区域中所使用的相同的实例类型和大小,服务器可以是异构服务器。异构服务器可以同时支持相同类型的多个实例大小,并且还可以被重新配置为托管其底层硬件资源支持的任何实例类型。异构服务器的重新配置可以使用服务器的可用容量即时发生,即,当其他VM仍在运行并消耗提供商底层扩展位置服务器的其他容量时发生。这可以通过允许更好地打包服务器上的运行实例来提高边缘位置内计算资源的利用率,并且还提供关于云提供商网络100和云提供商网络提供商底层扩展上的实例使用的无缝体验。
如图所示,提供商底层扩展服务器可以托管一个或多个计算实例122。计算实例122可以是VM,或打包代码及其所有依赖项的容器,因此应用程序可以跨计算环境(例如,包括VM)快速且可靠地运行。另外,如果客户需要,则服务器可以托管一个或多个数据卷124。在云提供商网络100的区域中,此类卷可以托管在专用块存储服务器上。然而,由于在提供商底层扩展102处具有比在所述区域中明显更小的容量的可能性,因此如果提供商底层扩展包括此类专用块存储服务器,则可能无法提供最佳利用体验。因此,块存储服务可以在提供商底层扩展102中被虚拟化,使得VM中的一者运行块存储软件并存储卷124的数据。类似于云提供商网络100的区域中的块存储服务的操作,提供商底层扩展102内的卷124可以被复制以实现持久性和可用性。卷可以被置备在其自己在提供商底层扩展102内的隔离虚拟网络中。计算实例122和任何卷124共同构成提供商网络数据平面116A在提供商底层扩展102内的数据平面扩展120B。
在一些实施方式中,提供商底层扩展102内的服务器可以托管某些本地控制平面组件126,例如,在返回到云提供商网络100的连接发生中断的情况下使得提供商底层扩展102能够继续运行的组件。这些组件的示例包括:迁移管理器,如果需要维持可用性,则所述迁移管理器可以在提供商底层扩展服务器之间移动计算实例122;以及密钥值数据存储区,所述密钥值数据存储区指示卷副本所在的位置。然而,通常用于提供商底层扩展的控制平面118B功能性将保留在云提供商网络100中,以便允许客户使用提供商底层扩展的尽可能多的资源容量。
在提供商底层扩展102上运行的服务器软件可以由云提供商设计为在云提供商底层网络上运行,并且该软件可以能够通过使用本地网络管理器128在提供商底层扩展102中未经修改地运行以在边缘位置内创建底层网络的专用副本(“影子底层”)。本地网络管理器128可以在提供商底层扩展102服务器上运行并且例如通过充当虚拟专用网络(VPN)端点或提供商底层扩展102与云提供商网络100中的代理130、132之间的端点并通过实施映射服务(用于流量封装和解封装)以使数据平面流量(来自数据平面代理)和控制平面流量(来自控制平面代理)与适当服务器相关来桥接影子底层与提供商底层扩展102网络。通过实施提供商网络的底层-覆盖映射服务的本地版本,本地网络管理器128允许提供商底层扩展102中的资源与云提供商网络100中的资源进行无缝通信。在一些实施方式中,单个本地网络管理器可以为托管提供商底层扩展102中的计算实例122的所有服务器执行这些动作。在其他实施方式中,托管计算实例122的服务器中的每一者可以具有专用的本地网络管理器。在多机架边缘位置中,机架间通信可以通过本地网络管理器,其中本地网络管理器维持彼此之间的开放隧道。
提供商底层扩展位置可以利用通过提供商底层扩展102网络到云提供商网络100的安全联网隧道,例如,以在遍历提供商底层扩展102网络和任何其他中间网络(可能包括公共互联网)时维持客户数据的安全性。在云提供商网络100内,这些隧道由包括隔离的虚拟网络(例如,在覆盖网络中)、控制平面代理130、数据平面代理132和底层网络接口的虚拟基础设施组件组成。此类代理可以被实施为在计算实例上运行的容器。在一些实施方案中,托管计算实例的提供商底层扩展102位置中的每个服务器可以利用至少两个隧道:一个隧道用于控制平面流量(例如,约束应用协议(CoAP)流量),一个隧道用于封装的数据平面流量。云提供商网络内的连接性管理器(未示出)例如通过在需要时自动地置备这些隧道及其组件并将它们维持在健康的操作状态来管理它们的云提供商网络侧生命周期。在一些实施方案中,提供商底层扩展102位置与云提供商网络100之间的直接连接可以用于控制数据平面并进行数据平面通信。与通过其他网络的VPN相比,直接连接可以提供恒定的带宽和更一致的网络性能,因为它的网络路径相对固定和稳定。
可以在云提供商网络100中置备控制平面(CP)代理130以表示边缘位置中的特定主机。CP代理是云提供商网络100中的控制平面114A与提供商底层扩展102的控制平面118B中的控制平面目标之间的中介。即,CP代理130提供用于将去往提供商底层扩展服务器的管理API流量从区域底层穿隧到提供商底层扩展102的基础设施。例如,云提供商网络100的虚拟化计算服务可以向提供商底层扩展102的服务器的VMM发出命令以启动计算实例122。CP代理维护到提供商底层扩展的本地网络管理器128的隧道(例如,VPN)。在CP代理中实施的软件确保只有格式良好的API流量离开和返回到底层。CP代理提供了一种机制来暴露云提供商底层上的远程服务器,同时仍然保护底层安全材料(例如,加密密钥、安全令牌)不离开云提供商网络100。由CP代理强加的单向控制平面流量隧道还防止任何(可能受到威胁的)装置回叫到底层。CP代理可以与提供商底层扩展102处的服务器一对一地实例化,或者可能能够管理同一提供商底层扩展中的多个服务器的控制平面流量。
数据平面(DP)代理132也可以在云提供商网络100中置备以表示提供商底层扩展102中的特定服务器。DP代理132充当服务器的影子或锚点,并且可以由云提供商网络100内的服务使用来监视主机的健康状况(包括其可用性、已使用的/免费计算和容量、已使用的/免费存储和容量,以及网络带宽使用率/可用性)。DP代理132还允许隔离的虚拟网络通过充当云提供商网络100中的服务器的代理来跨越提供商底层扩展102和云提供商网络100。每个DP代理132可以被实施为分组转发计算实例或容器。如图所示,每个DP代理132可以与本地网络管理器128维持VPN隧道,所述本地网络管理器管理到DP代理132所表示的服务器的流量。该隧道可以用于在提供商底层扩展服务器与云提供商网络100之间发送数据平面流量。在提供商底层扩展102与云提供商网络100之间流动的数据平面流量可以通过与该提供商底层扩展相关联的DP代理132。对于从提供商底层扩展102流向云提供商网络100的数据平面流量,DP代理132可以接收封装的数据平面流量,验证其正确性,并允许其进入云提供商网络100。DP代理132可以将封装的流量从云提供商网络100直接转发到提供商底层扩展102。
本地网络管理器128可以提供与在云提供商网络100中建立的代理130、132的安全网络连接性。在本地网络管理器128与代理之间已经建立连接之后,客户可以经由接口104发出命令,以使用提供商底层扩展资源以与将针对托管在云提供商网络100内的计算实例发出此类命令的方式类似的方式将计算实例进行实例化(和/或使用计算实例执行其他操作)。从客户的角度来看,客户现在可以无缝地使用提供商底层扩展内的本地资源(以及位于云提供商网络100中的资源,如果需要)。在提供商底层扩展102处的服务器上设置的计算实例可以与位于同一网络中的电子装置通信,以及根据需要与在云提供商网络100中设置的其他资源通信。可以实施本地网关146以提供提供商底层扩展102与和所述扩展相关联的网络(例如,在提供商底层扩展142的示例中的通信服务提供商网络)之间的网络连接性。
可能存在需要在对象存储服务与提供商底层扩展102之间传送数据的情况。例如,对象存储服务可以存储用于启动VM的机器映像,以及表示卷的时间点备份的快照。对象网关可以在PSE服务器或专用存储装置上提供,并为客户提供对其PSE中的对象存储桶内容的可配置的按桶高速缓存,以最大限度地减少PSE区域延时对客户工作负载的影响。对象网关还可以临时存储来自PSE中的卷的快照的快照数据,然后在可能的情况下与区域中的对象服务器同步。对象网关还可以存储客户指定在PSE内或客户场所上使用的机器映像。在一些实施方式中,PSE内的数据可以用唯一密钥加密,并且出于安全原因,云提供商可以限制密钥从区域共享到PSE。因此,在对象存储服务器与对象网关之间交换的数据可以利用加密、解密和/或重新加密,以便保留关于加密密钥或其他敏感数据的安全边界。变换中介可以执行这些操作,并且可以(在对象存储服务器上)使用PSE加密密钥创建PSE桶以存储快照和机器映像数据。
以上述方式,PSE 102形成边缘位置,因为它在传统云提供商数据中心之外和更靠近客户装置处提供云提供商网络的资源和服务。如本文所指的边缘位置可以通过多种方式结构化。在一些实施方式中,边缘位置可以是云提供商网络底层的扩展,包括在可用区之外(例如,在云提供商的小型数据中心或位于靠近客户工作负载并且可能远离任何可用区的其他设施中)提供的有限数量的容量。此类边缘位置可以被称为“远区”(由于远离其他可用区)或“近区”(由于靠近客户工作负载)。近区可以通过各种方式例如直接、经由另一种网络或经由与区域的专用连接而连接到诸如互联网等公共可访问网络。虽然通常近区比某个区域具有更有限的容量,但是在一些情况下,近区可能具有相当大的容量,例如数千个或更多机架。
在一些实施方式中,边缘位置可以是由位于客户或合作伙伴设施本地的一个或多个服务器形成的云提供商网络底层的扩展,其中此类服务器通过网络(例如,公共可访问网络,诸如互联网)与云提供商网络的附近可用区或区域进行通信。位于云提供商网络数据中心之外的这种类型的底层扩展可以被称为云提供商网络的“前哨”。一些前哨可以例如作为多接入边缘计算(MEC)站点集成到通信网络中,所述MEC站点的物理基础设施分布在电信数据中心、电信聚合站点和/或电信网络内的电信基站上。在本地示例中,前哨的有限容量可能仅供拥有场所的客户(以及客户允许的任何其他账户)使用。在电信示例中,前哨的有限容量可以在向电信网络的用户发送数据的多个应用程序(例如,游戏、虚拟现实应用程序、医疗保健应用程序)之间共享。
边缘位置可以包括至少部分地由提供商网络的附近可用区的控制平面控制的数据平面容量。因而,可用区组可以包括“父”可用区和归属于父可用区(例如,至少部分地由其控制平面控制)的任何“子”边缘位置。某些有限的控制平面功能性(例如,需要与客户资源进行低延时通信的特征,和/或使得边缘位置能够在与父可用区断开连接时继续运行的特征)也可能存在于一些边缘位置中。因此,在上述示例中,边缘位置是指位于云提供商网络的边缘处、靠近客户装置和/或工作负载的至少数据平面容量的扩展。
图2示出了根据一些实施方案的其中云提供商网络边缘位置被部署在通信服务提供商网络内的示例性系统。通信服务提供商(CSP)网络200通常包括到终端用户电子装置的下游接口和到其他网络(例如,互联网)的上游接口。在该示例中,CSP网络200是无线“蜂窝”CSP网络,其包括无线电接入网络(RAN)202、204、聚合站点(AS)206、208和核心网络(CN)210。RAN 202、204包括向电子装置212提供无线连接性的基站(例如,NodeB、eNodeB、gNodeB)。核心网络210通常包括与CSP网络的管理相关的功能性(例如,计费、移动性管理等)以及在CSP网络与其他网络之间中继流量的传输功能性。聚合站点206、208可以用于将来自许多不同无线电接入网络的流量整合到核心网络,并将源自核心网络的流量引导到各种无线电接入网络。
终端用户电子装置212在图2中从左到右无线连接到无线电接入网络202的基站(或无线电基站)214。此类电子装置212有时被称为用户设备(UE)或客户场所设备(CPE)。数据流量通常通过由第3层路由器的多个跃点(例如,在聚合站点)组成的光纤传输网络路由到核心网络210。核心网络210通常容纳在一个或多个数据中心中。对于去往CSP网络200之外的位置的数据流量,网络组件222至226通常包括防火墙,流量可以通过所述防火墙进入或离开CSP网络200到达外部网络,诸如互联网或云提供商网络100。注意,在一些实施方案中,CSP网络200可以包括允许流量从核心网络210更下游的站点(例如,在聚合站点或RAN处)进入或离开的设施。
提供商底层扩展216至220包括作为云提供商网络的一部分进行管理但是安装或定位在CSP网络的各个点内(例如,在CSP拥有或租用的空间本地)的计算资源。计算资源通常提供云提供商可以分派给其客户使用的一定量的计算和存储器容量。计算资源还可以包括存储和加速器容量(例如,固态驱动器、图形加速器等)。这里,提供商底层扩展216、218和220与云提供商网络100通信。
通常,例如,就网络跃点和/或距离而言,提供商底层扩展距离云提供商网络100越远(或更靠近电子装置212),提供商底层扩展内的计算资源与电子装置212之间的网络延时越低。然而,物理站点约束通常限制可以安装在CSP内的各个点处的提供商底层扩展位置计算容量的量,或者确定是否可以完全在各个点处安装计算容量。例如,与位于RAN 202、204内的提供商底层扩展相比,位于核心网络210内的提供商底层扩展通常可以具有大得多的占用空间(在物理空间、电力需求、冷却需求等方面)。
CSP网络内提供商底层扩展的安装或定位可能因CSP网络的特定网络拓扑或架构而异。如图2指示,提供商底层扩展通常可以连接到CSP网络可以中断基于分组的流量(例如,基于IP的流量)的任何位置。另外,给定的提供商底层扩展与云提供商网络100之间的通信通常安全地转接CSP网络200的至少一部分(例如,经由安全隧道、虚拟专用网络、直接连接等)。在所示的示例中,网络组件222促进数据流量路由到与RAN 202集成的提供商底层扩展216和从所述提供商底层扩展路由数据流量,网络组件224促进数据流量路由到与AS 206集成的提供商底层扩展218和从所述提供商底层扩展路由数据流量,并且网络组件226促进数据流量路由到与CN 210集成的提供商底层扩展220和从所述提供商底层扩展路由数据流量。网络组件222至226可以包括路由器、网关或防火墙。为了促进路由,CSP可以向边缘位置中的每一者分派来自CSP网络地址空间中的一个或多个IP地址。
在5G无线网络开发工作中,边缘位置可以被视为多接入边缘计算(MEC)的一种可能实施方式。此类边缘位置可以连接到CSP 5G网络中的各个点,所述点作为用户平面功能(UPF)的一部分为数据流量提供中断。较旧的无线网络也可以包含边缘位置。例如,在3G无线网络中,边缘位置可以连接到CSP网络的分组交换网络部分,诸如连接到服务通用分组无线电服务支持节点(SGSN)或连接到网关通用分组无线电服务支持节点(GGSN)。在4G无线网络中,边缘位置可以作为核心网络或演进分组核心(EPC)的一部分连接到服务网关(SGW)或分组数据网络网关(PGW)。
在一些实施方案中,提供商底层扩展228与云提供商网络100之间的流量可以从CSP网络200中断,而无需路由通过核心网络210。例如,RAN 204的网络组件230可以被配置为在RAN 204的提供商底层扩展216与云提供商网络100之间路由流量,而不遍历聚合站点或核心网络210。作为另一个示例,聚合站点208的网络组件231可以被配置为在聚合站点208的提供商底层扩展232与云提供商网络100之间路由流量而不遍历核心网络210。网络组件230、231可以包括网关或路由器,所述网关或路由器具有路由数据以将来自边缘位置的去往云提供商网络100的流量引导到云提供商网络100(例如,通过直接连接或中间网络234)并将来自云提供商网络100的去往提供商底层扩展的流量引导到提供商底层扩展。
在一些实施方案中,提供商底层扩展可以连接到多于一个CSP网络。例如,当两个CSP通过公共点共享或路由流量时,提供商底层扩展可以连接到两个CSP网络。例如,每个CSP可以将其网络地址空间的某个部分分配给提供商底层扩展,并且提供商底层扩展可以包括路由器或网关,所述路由器或网关可以区分与CSP网络中的每一者交换的流量。例如,来自一个CSP网络的去往提供商底层扩展的流量与从另一个CSP网络接收的流量相比可能具有不同的目标IP地址、源IP地址和/或虚拟局域网(VLAN)标签。源自提供商底层扩展的到CSP网络中的一者上的目标的流量可以被类似地封装以具有适当的VLAN标签、源IP地址(例如,来自从目标CSP网络地址空间分派给提供商底层扩展的池)和目标IP地址。
应注意,虽然图2的示例性CSP网络架构包括无线电接入网络、聚合站点和核心网络,但是CSP网络的架构的命名和结构在几代无线技术之间、在不同CSP之间以及在无线CSP网络与固定线路CSP网络之间可能有所不同。另外,虽然图2示出了边缘位置在CSP网络内可以定位的几个位置,但是其他位置也是可能的(例如,在基站处)。
图3更详细地示出了根据一些实施方案的云提供商网络和通信服务提供商网络内的提供商底层扩展的示例性组件以及它们之间的连接性。提供商底层扩展300在CSP网络302内提供云提供商网络的资源和服务,由此将云提供商网络100的功能性扩展为更靠近连接到CSP网络的终端用户装置304。
提供商底层扩展300类似地包括控制平面306B与数据平面308B之间的逻辑分离,所述控制平面和数据平面分别扩展云提供商网络100的控制平面114A和数据平面116A。提供商底层扩展300可以例如由云提供商网络运营商预先配置有硬件与软件和/或固件元素的适当组合,以支持各种类型的计算相关资源,并且以反映使用云提供商网络的体验的方式来这样做。例如,一个或多个提供商底层扩展位置服务器310可以由云提供商置备以部署在CSP网络302内。
在一些实施方式中,提供商底层扩展300内的服务器310可以托管某些本地控制平面组件314,例如,在返回到云提供商网络100的连接发生中断的情况下使得提供商底层扩展300能够继续运行的组件。此外,某些控制器功能通常可以在数据平面服务器上、甚至在云提供商数据中心中本地实施,例如用于收集用于监视实例健康状况的指标并将指标发送到监视服务的功能以及用于协调实时迁移期间实例状态数据的传送的功能。然而,通常用于提供商底层扩展300的控制平面306B功能性将保留在云提供商网络100中,以便允许客户使用提供商底层扩展的尽可能多的资源容量。
如图所示,提供商底层扩展服务器310可以托管计算实例312。计算实例可以是VM、microVM,或打包代码及其所有依赖项的容器,因此应用程序可以跨计算环境(例如,包括VM)快速且可靠地运行。因此,容器是应用程序层的抽象化(意味着每个容器模拟不同的软件应用程序进程)。尽管每个容器都运行隔离的进程,但是多个容器可以例如通过在同一虚拟机中启动而共享通用操作系统。相比之下,虚拟机是硬件层的抽象化(意味着每个虚拟机模拟可以运行软件的物理机)。虚拟机技术可以使用一个物理服务器以运行多个服务器(其中每一者被称为虚拟机)的等效物。虽然多个虚拟机可以在一个物理机上运行,但是每个虚拟机通常具有其自己的操作系统副本,以及应用程序及其相关文件、库和依赖项。虚拟机通常被称为计算实例或简称为“实例”。一些容器可以在运行容器代理的实例上运行,而一些容器可以在裸机服务器上运行。
在一些实施方案中,边缘优化计算实例的执行由在服务器310上运行的轻量级虚拟机管理器(VMM)支持,在所述服务器上基于应用程序配置文件启动边缘优化计算实例。这些VMM使得能够在几分之一秒内启动轻量级微型虚拟机(microVM)。这些VMM还可以使得容器运行时和容器编排器能够将容器作为microVM进行管理。尽管如此,这些microVM还利用由传统VM例如通过VMM将其作为隔离进程运行而提供的安全性和工作负载隔离以及容器带来的资源效率。如本文所使用的,microVM是指如下VM:使用有限装置模型和/或使用由轻量级VMM支持的最小OS内核进行初始化,并且每个microVM可以具有<5MiB的低存储器开销,使得数千个microVM可以打包到单个主机上。例如,microVM可以具有OS内核的精简版本(例如,仅具有所需的OS组件及其依赖项)以最大限度地减少启动时间和存储器占用空间。在一个实施方式中,轻量级VMM的每个进程封装一个且仅一个microVM。所述进程可以运行以下线程:API、VMM和vCPU。API线程负责API服务器和相关联的控制平面。VMM线程公开了机器模型、最小遗留装置模型、microVM元数据服务(MMDS)以及VirtIO装置模拟网络和块装置。另外,存在一个或多个vCPU线程(每个来宾CPU内核一个vCPU线程)。
另外,如果客户需要,则服务器310可以托管一个或多个数据卷324。卷可以被置备在其自己在提供商底层扩展300内的隔离虚拟网络中。计算实例312和任何卷324共同构成提供商网络数据平面116A在提供商底层扩展300内的数据平面扩展308B。
可以实施本地网关316以提供提供商底层扩展300与CSP网络302之间的网络连接。云提供商可以用CSP网络302上的IP地址配置本地网关316,并与CSP网络组件320交换路由数据(例如,经由边界网关协议(BGP))。本地网关316可以包括一个或多个路由表,所述路由表控制入站流量到提供商底层扩展300和出站流量离开提供商底层扩展300的路由。在其中CSP网络302对CSP网络302的不同部分使用单独的VLAN(例如,一个VLAN标签用于无线网络,另一个VLAN标签用于固定网络)的情况下,本地网关316还可以支持多个VLAN。
在提供商底层扩展300的一些实施方案中,扩展包括一个或多个交换机,有时称为架顶(TOR)交换机(例如,在基于机架的实施方案中)。TOR交换机连接到CSP网络路由器(例如,CSP网络组件320),诸如提供商边缘(PE)或软件定义广域网(SD-WAN)路由器。每个TOR交换机可以包括到CSP网络路由器的上行链路链路聚合(LAG)接口,每个LAG支持多个物理链路(例如,1G/10G/40G/100G)。所述链路可以运行链路聚合控制协议(LACP)并被配置为IEEE802.1q干道,以在同一接口上启用多个VLAN。这种LACP-LAG配置允许云提供商网络100的控制平面的边缘位置管理实体将更多对等链路添加到边缘位置而无需调整路由。TOR交换机中的每一者可以与运营商PE或SD-WAN路由器建立eBGP会话。CSP可以为边缘位置和CSP网络302的ASN提供专用自主系统编号(ASN)以促进路由数据的交换。
源自提供商底层扩展300的数据平面流量可以具有多个不同的目标。例如,寻址到云提供商网络100的数据平面116A中的目标的流量可以经由提供商底层扩展300与云提供商网络100之间的数据平面连接来路由。本地网络管理器318可以从计算实例312接收被寻址到例如云提供商网络100中的另一个计算实例的分组,并且用作为服务器的底层IP地址的目标封装所述分组,所述服务器托管另一计算实例,然后将其(例如,经由直接连接或隧道)发送到云提供商网络100。对于从寻址到托管在另一个提供商底层扩展322中的另一计算实例的计算实例312的流量,本地网络管理器318可以用作为被分配给另一提供商底层扩展322的IP地址的目标封装所述分组,由此允许CSP网络组件320处理分组的路由。替代地,如果CSP网络组件320不支持边缘位置间流量,则本地网络管理器318可以将分组寻址到云提供商网络100中的中继器,所述中继器可以经由其与云提供商网络100的数据平面连接(未示出)将分组发送到另一提供商底层扩展322。类似地,对于从计算实例312地址到CSP网络302或云提供商网络100之外的位置(例如,在互联网上)的流量,如果CSP网络组件320允许路由到互联网,则本地网络管理器318可以用与分配给计算实例312的运营商地址空间中的IP地址相对应的源IP地址封装分组。否则,本地网络管理器318可以将分组发送到云提供商网络100中的互联网网关,所述互联网网关可以为计算实例312提供互联网连接性。对于来自寻址到电子装置304的计算实例312的流量,本地网关316可以使用网络地址转译(NAT)来将分组的源IP地址从云提供商网络的地址空间中的地址更改为地址运营商网络空间。
本地网关316、本地网络管理器318和其他本地控制平面组件314可以在托管计算实例312的相同服务器310上运行,可以在与边缘位置服务器310集成的专用处理器上(例如,卸载卡上)运行,或者可以由与托管客户资源的那些服务器分开的服务器执行。
图4示出了根据一些实施方案的包括地理上分散的提供商底层扩展(或“边缘位置”)的示例性云提供商网络。如图所示,云提供商网络400可以形成为多个区域402,其中区域是其中云提供商具有一个或多个数据中心404的单独地理区域。每个区域402可以包括经由诸如例如光纤通信连接等专用高速网络彼此连接的两个或更多个可用区(AZ)。可用区是指包括一个或多个数据中心设施的隔离故障域,所述数据中心设施相对于其他可用区具有单独的电源、单独的联网和单独的冷却。云提供商可能会努力将可用区域定位在某个区域内,使彼此相距足够远,使得自然灾害、大范围停电或其他意外事件不会同时使多于一个可用区脱机。客户可以经由可公共访问的网络(例如,互联网、蜂窝通信网络、CSP网络)连接到云提供商网络的可用区内的资源。转接中心(TC)是将客户链接到云提供商网络的主要骨干位置,并且可以共同位于其他网络提供商设施(例如,互联网服务提供商、电信提供商)中。每个区域可以操作两个或更多个TC以实现冗余。
与区域数据中心或可用区的数量相比,边缘位置406的数量可以高得多。边缘位置406的这种广泛部署可以为大得多的终端用户装置组提供到云的低延时连接性(与碰巧非常靠近区域数据中心的那些终端用户装置组相比)。在一些实施方案中,每个边缘位置406可以对等到云提供商网络400的某个部分(例如,父可用区或区域数据中心)。这种对等允许在云提供商网络400中操作的各种组件管理边缘位置的计算资源。在一些情况下,多个边缘位置可以位于或安装在同一设施(例如,计算机系统的单独机架)中并且由不同的区或数据中心管理以提供附加冗余。应注意,虽然边缘位置在本文中通常被描述为在CSP网络内,但是在一些情况下,诸如当云提供商网络设施相对靠近通信服务提供商设施时,边缘位置可以保留在云提供商网络的物理场所内,同时经由光纤或其他网络链路连接到通信服务提供商网络。
边缘位置406可以通过多种方式结构化。在一些实施方式中,边缘位置406可以是云提供商网络底层的扩展,包括在可用区之外(例如,在云提供商的小型数据中心或位于靠近客户工作负载并且可能远离任何可用区的其他设施中)提供的有限数量的容量。此类边缘位置可以被称为本地区(由于比传统的可用区更本地或更接近一组用户)。本地区可以通过各种方式(例如直接、经由另一种网络或经由与区域的专用连接)而连接到诸如互联网等公共可访问网络。虽然通常本地区比某个区域具有更有限的容量,但是在一些情况下,本地区可能具有相当大的容量,例如数千个或更多机架。一些本地区可以使用与典型的云提供商数据中心类似的基础设施,而不是本文描述的边缘位置基础设施。
如本文所指示的,由许多云服务提供商提供的核心服务使用户能够部署和使用通用计算资源来执行用户工作负载。然而,现有的通用计算服务在很大程度上是为希望启动计算实例并允许那些实例无限期运行的用户而设计的。这些使用案例通常由服务提供商基础设施促成,所述基础设施具有分布在许多地区的许多大型数据中心,每个数据中心都与充足的容量相关联,服务提供商可以根据需要轻松扩展这些容量。这些基础设施支持的通用计算服务通常使用户能够部署和使用许多不同类型和大小的计算实例,其中可以根据他们计划执行的计算类型从各种定义的实例类型中选择此类计算实例。
如上所述,提供商底层扩展的引入使得云提供商的客户能够在扩展云提供商网络的位置部署各种类型的计算资源,包括用于执行用户工作负载的通用计算资源。作为一个示例,并且如图1至图3所示,这些提供商底层扩展可以包括安装在通信服务提供商(CSP)网络边缘附近、由云提供商管理的其他类型的非传统位置处(例如,安装在机场、证券交易所或其他实体拥有的网络附近的位置处),以及安装在由云提供商的用户管理的位置处(例如,安装在云提供商客户的本地位置内)的底层扩展。在这些和其他提供商底层扩展位置处,终端用户计算装置可以以非常低的延时(在某些情况下为个位数毫秒延时)与部署的资源进行通信。因此,希望计算实例在此类位置处尽可能快地启动,以避免在边缘处抵消这些低延时增益中的一些。例如,如果终端用户装置可以以几十毫秒或更短的延时时间访问在提供商底层扩展内运行的实例,但启动实例需要几秒钟,则这些延时增益中的一些会立即丢失。此外,由于提供商底层扩展处的可用容量总量通常可能显著少于由云提供商管理的传统数据中心,因此希望支持能够快速启动的边缘优化实例,执行启动它们所针对的计算任务,并且尽可能快地终止,以便为其他工作负载释放提供商底层扩展处的容量。
根据本文的实施方案,提供商网络使得用户能够使用边缘优化实例在提供商底层扩展处执行工作负载。在一些实施方案中,提供商网络的用户经由用户定义的“应用程序配置文件”来利用此类边缘优化实例。应用程序配置文件通常使得用户能够定义一组参数,所述参数与用户期望用户工作负载如何在提供商底层扩展处执行有关。所述参数可以包括例如计算资源相关的配置、在提供商底层扩展处执行工作负载的延时配置文件、地理相关配置、布局配置等,如本文更详细描述的。图5是示出根据一些实施方案的边缘优化计算实例用于在提供商底层扩展处执行客户工作负载的环境的图示。在图5中,编号为“1”至“7”的圆圈示出了过程,所述过程包括:用户为用户期望部署在提供商底层扩展位置(例如,CSP网络518内的提供商底层扩展514)处的工作负载创建应用程序配置文件,用户发送基于所定义的应用程序配置文件启动一个或多个边缘优化实例的请求,以及云服务提供商使一个或多个边缘优化实例(例如,边缘优化计算实例526)基于相关应用程序配置文件在一个或多个提供商底层扩展(例如,提供商底层扩展位置514)处启动。
在图5中的圆圈“1”处,在一些实施方案中,从电子装置134向提供商网络100发送创建应用程序配置文件的应用程序配置文件创建请求500。如上所述,电子装置134和提供商网络100之间的通信(诸如创建应用程序配置文件的请求)可以通过接口104(诸如通过使用应用编程接口(API)调用、经由实施为网站或应用程序的控制台等)进行路由。除了用作控制平面服务的前端之外,接口104还可以执行诸如验证发起请求的用户的身份和权限、评估请求并将其路由到适当的控制平面服务等操作。在一些实施方案中,在圆圈“2”处,PSE计算服务502处理请求500,并且在圆圈“3”处,存储与生成所述请求的用户账户相关联的所得应用程序配置文件(例如,作为存储在存储服务504或其他存储位置处的应用程序配置文件506的一部分)。在一些实施方案中,PSE计算服务502通常使得用户能够管理用户工作负载到提供商底层扩展102的部署,并且在一些实施方案中,可以是提供商网络100的更一般硬件虚拟化服务的一部分。
图6是示出根据一些实施方案的用于创建应用程序配置文件的示例性请求的图示,所述应用程序配置文件用于在提供商底层扩展处执行客户工作负载。例如,应用程序配置文件创建请求600示出了经由PSE计算服务502创建新应用程序配置文件的请求的示例性格式。尽管用户通常可以通过指定特定类型的计算实例(例如,与CPU、存储器、存储装置和联网容量的特定组合相关联的计算实例类型)来请求在提供商网络处启动计算实例,但是应用程序配置文件替代地使用户能够指定用户期望在一个或多个提供商底层扩展处启动计算实例时执行的应用程序或工作负载的配置文件。然后,提供商网络100可以根据用户的后续请求,使用用户工作负载的该配置文件,以满足用户在配置文件中定义的参数的方式启动一个或多个边缘优化计算实例。以这种方式,用户可以专注于定义他们期望他们的应用程序和工作负载如何操作和执行,而不必单独考虑用于执行那些工作负载的底层计算实例的细节(例如,单独考虑要启动的计算实例的特定变体、直接管理那些实例的布局和分组等)。此外,用于执行用户工作负载的底层计算实例的这种抽象化使得提供商网络在如何提供和管理用于支持工作负载的实例方面具有额外的灵活性。
如图6所示,用户已使用电子装置134生成应用程序配置文件创建请求600。如图所示,应用程序配置文件请求600可以包括指示期望创建新的应用程序配置文件的动作名称(例如,“CSP edge create-application-profile”)、指示应用程序配置文件的“用户友好”名称的参数值(例如“--profile name my_edge_app”)以及与在提供商网络的提供商底层扩展处执行所标识的工作负载相关的多个其他可选参数。
在一些实施方案中,可以包括在应用程序配置文件创建请求600中的一个参数值是标识要用作基于应用程序配置文件启动计算实例的模板的资源的值。例如,如果用户创建了VM映像、虚拟设备、容器映像或可以用于启动计算实例的任何其他类型的资源(诸如,例如,VM、microVM、容器等,其存储为应用程序资源508),则用户可以提供资源的标识符(例如,云提供商网络100已知的资源的标识符)。在一些实施方案中,用户可以提供存储可以用于启动计算实例的资源的存储位置的标识符(例如,云提供商网络100内的存储位置或存储资源的其他位置的URL或其他标识符)。
在一些实施方案中,可以在应用程序配置文件创建请求600中指定的另一个示例性参数包括与将专用于基于配置文件启动的实例的计算资源有关的参数。例如,用户可以根据CPU、存储器、联网性能或任何其他资源相关参数来指定资源约束(例如,用户可能规定要基于应用程序配置文件启动的实例被分派两个vCPU、8GiB存储器、高达10Gbps的联网或任何其他资源组合),使得为基于应用程序配置文件启动的实例提供所请求的资源(假设所请求的资源在满足其他应用程序配置文件约束的任何提供商底层扩展位置处是可用的)。在一些实施方案中,用户可以根据定义的实例类型(例如,与定义量的CPU、存储器、联网等相关联的实例类型、由云提供商网络100定义的资源)来指定资源约束。其他资源相关参数可以包括要由所启动的实例使用的块装置映射、内核版本等。
在一些实施方案中,其他示例性参数包括与将边缘优化实例布局在提供商底层扩展处的其他方面有关的参数。例如,可以指定的一个通信服务提供商相关参数包括特定通信服务提供商的标识(例如,以指示用户希望在与通信服务提供商A或通信服务提供商B相关联的提供商底层扩展处但是不在与通信服务提供商C相关联的提供商底层扩展处启动实例)。可以被指定的又一示例性通信服务提供商相关参数包括一个或多个特定地理位置,在所述特定地理位置处期望启动边缘优化实例(例如,在奥斯汀市中心附近的提供商底层扩展处、在靠近旧金山湾区的提供商底层扩展处、在西南地区或东北地区的提供商底层扩展处等)。又一个示例性参数包括用于在提供商底层扩展处执行用户工作负载的延时配置文件,其中延时配置文件通常指示边缘优化实例相对于终端用户或其他网络点之间的期望延时(例如,在对终端用户具有20毫秒或更短延时的PSE处、在洛杉矶附近对终端用户具有30毫秒或更短延时的PSE处等)。
在一些实施方案中,可以在应用程序配置文件创建请求600中指定的其他示例性参数包括各种联网配置。例如,为了实现在专用网络中运行的区域内应用程序与在提供商底层扩展中运行的应用程序之间的通信,可以指定应用程序配置文件配置使得将专用网络端点提供给区域内专用网络以调用边缘优化实例。为了实现双向通信,客户还可以向他们的提供商底层扩展应用程序提供专用网络端点,所述专用网络端点可以用于从提供商底层扩展到区域的通信。
在一些实施方案中,可以在应用程序配置文件创建请求600中指定的其他示例性参数包括一旦已经基于应用程序配置文件启动了一个或多个实例就使用的扩展策略。例如,用户可以在应用程序配置文件中为他们的应用程序指定向内扩展和向外扩展策略,其中此类策略使得能够调整提供商底层扩展位置中和其上的容量。在一些实施方案中,当向内扩展时,新容量默认在负载下的相同位置中启动并扩展到其他位置,前提是它们满足客户端延时约束(如果有的话)。例如,如果未指定客户端延时限制,则可以在负载下的同一位置中添加新容量并将新容量扩展到其他位置,直到受监视指标低于扩展阈值。
如上所述,在一些实施方案中,云提供商网络100处的PSE计算服务502接收应用程序配置文件创建请求600。一旦接收到所述请求,PSE服务502就处理所述请求,包括验证请求的指定参数和其他方面,并将表示应用程序配置文件的数据对象与其他应用程序配置文件506一起存储在云提供商网络100的存储服务504或其他存储位置处。
在一些实施方案中,响应于接收到标识要用于基于配置文件启动边缘优化实例的资源的存储位置的应用程序配置文件创建请求600,PSE服务502将资源的副本发送到提供商底层扩展位置,在所述提供商底层扩展位置处,边缘优化实例看起来很可能将在未来被启动。例如,基于对应应用程序配置文件中指定的参数,PSE计算服务502可以标识满足应用程序配置文件中指定的任何容量、延时、地理和其他约束的一个或多个PSE。一旦被标识,PSE计算服务502就可以发送资源的副本以便存储在提供商底层扩展处,由此使得提供商底层扩展能够更轻松地基于资源(一旦被请求)启动计算实例。在其他示例中,如本文所述,PSE计算服务502可以在接收到启动一个或多个实例的请求时发送此类资源的副本。
在某些情况下,客户可能会随时间的推移更新与先前定义的应用程序配置文件相关联的资产和/或配置。例如,在一些实施方案中,用户可以向PSE计算服务502生成应用程序配置文件更新请求,以标识将从其启动边缘优化实例的更新资源的位置,或者更新与应用程序配置文件相关联的其他配置。在其他实施方案中,PSE计算服务502可以自动标识对由现有应用程序配置文件标识的一个或多个资源的更新。为了适应此类更新,并且为了允许客户管理如何将此类更新传播到当前启动边缘优化实例的提供商底层扩展,在一些实施方案中,边缘计算服务502允许客户创建应用程序配置文件的单独版本。例如,对应用程序配置文件或相关联的资源的每次改变都可能致使生成与唯一标识符相关联的新应用程序配置文件版本。客户可以使用此标识符在与PSE计算服务502相关联的API的不同部分中引用其应用程序的特定版本(例如,使得用户可以基于应用程序配置文件的特定版本来指定边缘优化计算实例的启动或者执行其他此类操作)。
如上所述,一旦用户定义了应用程序配置文件,用户就可以通过标识相关联的应用程序配置文件并任选地请求启动指定数量的实例来启动边缘优化计算实例。例如,在图5中的圆圈“4”处,用户可以致使工作负载启动请求510的生成运行标识的应用程序配置文件的N个实例,其中N可以对应于满足应用程序配置文件的约束的要启动的边缘优化实例的数量。类似于上述应用程序配置文件创建请求500、电子装置134和提供商网络100之间的通信(诸如基于应用程序配置文件启动一个或多个实例的请求)可以通过接口104(诸如通过使用应用编程接口(API)调用、经由实施为网站或应用程序的控制台等)进行路由。除了用作控制平面服务的前端之外,接口104还可以执行诸如验证发起请求的用户的身份和权限、评估请求并将其路由到适当的控制平面服务等操作。
在一些实施方案中,在圆圈“5”处,此类启动请求由PSE计算服务502接收,所述PSE计算服务可以包括若干组件(例如,布局管理器、网络管理器和存储管理器等),所述组件用于共同标识一个或多个提供商底层扩展位置(例如,从提供商底层扩展514和其他边缘位置516中),在所述位置可以启动边缘优化实例以满足标识的应用程序配置文件中的参数。如上所述,标识的提供商底层扩展位置的数量可以取决于在标识的应用程序配置文件中指定的大量约束。一旦被标识,则在圆圈“6”处,PSE计算服务502向PSE位置发送指令,所述指令请求启动实例(以及相关联资源,诸如卷528或其他资源)(例如,经由本地网关530和本地网络管理器524,也可能经由CSP网络组件532)。在一些实施方案中,在圈“7”处,然后,请求的边缘优化实例可以在提供商底层扩展内的一个或多个服务器520处启动,如下面更详细描述的。
图7示出了根据一些实施方案的与响应于启动请求启动边缘优化实例相关的更多细节。如图7所示,在电子装置134处生成工作负载启动请求700。在其他示例中,可以由另一应用程序或服务响应于自动扩展策略的触发,或者响应于其他事件,生成工作负载启动请求700。如图所示,工作负载启动请求700可以包括:动作名称,所述动作名称指示期望基于所标识的应用程序配置文件(例如,“csp edge run-5–profile-name my_edge_app”)以及与各种参数相关的值来启动N个边缘优化计算实例,所述参数例如要在其中启动实例的一个或多个通信服务提供商的标识符、要分配给实例的IP地址、要在其中启动实例的地理位置、要使用的应用程序配置文件版本的标识符、要启动实例的子网的标识符以及其他可能参数。
在一些实施方案中,除了请求中指定的任何相关参数之外,PSE计算服务502还使用应用程序配置文件中的客户指定的参数来基于启动请求700确定要在其中启动实例的一个或多个提供商底层扩展。作为一个示例,对于应用程序配置文件中指定的延时相关标准,PSE计算服务502可以针对存储在数据存储区(例如,数据库)中的延时数据来评估所述标准。通常,延时数据可以包括或允许推导CSP网络714内的点之间以及可能CSP网络714内的点和云提供商网络100中的点之间的延时。延时数据还可以包括关于到CSP网络714的各种入口点的位置的地理数据(例如,电子装置通过其访问CSP网络714的基站或其他装备的覆盖区域)。
在接收到对满足应用程序配置文件中指定的标准的合适的提供商底层扩展位置的请求时,PSE计算服务502可以访问延时数据以标识哪些提供商底层扩展位置满足那些要求。对于所示示例,可以假设,客户已指定区域内的终端用户装置对请求的计算实例的延时要求。PSE计算服务502可以使用延时数据来标识PSE位置702与所述区域相关联(例如,因为所述PSE位置包括覆盖所述区域的特定基站)。然后,PSE计算服务502可以使用信息来确定哪些PSE位置满足客户延时要求。这里,边缘PSE计算服务502可以确定PSE位置702(以及可能其他PSE位置704)满足延时要求。
除了标识满足指定延时配置文件的提供商底层扩展之外,PSE位置布局服务还可以基于其他应用程序配置文件参数(例如,与一个或多个特定通信服务提供商相关联的提供商底层扩展位置、根据指定资源要求具有足够可用容量的提供商底层扩展位置等)来进一步缩小合适的提供商底层扩展位置。基于提供商底层扩展位置的标识,PSE计算服务502可以在请求不能得到满足的情况下向客户返回错误,或者基于所标识的应用程序配置文件继续启动计算实例。例如,如果没有提供商底层扩展位置满足客户的应用程序配置文件要求,或者如果客户已请求跨N个提供商底层扩位置分布的N个计算实例,但少于N个提供商底层扩展位置满足客户的应用程序配置文件要求,则请求可能失败。假设可以满足客户的请求,则PSE计算服务502可以向提供商底层扩展位置发出控制平面命令,以启动请求的实例(例如,向控制平面组件712)。
在一些实施方案中,PSE计算服务502执行若干步骤来启动和配置实例,而不管要在其上启动实例的PSE位置是如何被标识的。在一些实施方案中,PSE计算服务502可以在提供商底层扩展位置处创建或扩展与客户相关联的隔离虚拟网络。隔离虚拟网络可以被认为是在提供商网络底层(或底层扩展)之上运行的虚拟网络,客户流量(例如,数据平面流量)通过所述虚拟网络发起或终止。然后,PSE计算服务502可以向PSE位置702的物理服务器(例如,一个或多个物理服务器710)上的VMM 708发出命令,以启动具有到隔离虚拟网络的虚拟网络接口(例如,具有在分配给隔离虚拟网络的私有IP地址范围内的云提供商网络IP地址)的计算实例。另外,PSE计算服务502可以将来自由CSP分配给边缘位置的IP地址组的第二运营商IP地址与计算实例相关联。该关联可以包括在PSE位置的本地网关上创建NAT表条目,以将从边缘位置到终端用户电子装置的流量的源IP地址替换为分配的运营商IP地址,并类似地将从终端用户电子装置到分配的运营商IP地址的流量路由到分配给隔离虚拟网络的专用IP地址范围内的第一云提供商网络IP地址。
在某些情况下,所标识的合适的提供商底层扩展位置的数量可能超过客户基于应用程序配置文件所请求的边缘优化计算实例的数量。在此类情况下,PSE计算服务502可以以附加的选择标准继续选择将使用哪个合适的边缘位置来托管客户请求的边缘优化计算实例。一个这样的选择标准是合适的提供商底层扩展位置上的可用容量。测量可用容量的一种方式是跟踪每个提供商底层扩展位置或每个提供商底层扩展位置服务器先前启动的边缘优化实例的数量。PSE计算服务502可以跟踪(例如,在数据库中)哪些提供商底层扩展位置先前已用于启动边缘优化计算实例以及那些边缘优化实例的资源消耗。测量可用容量的另一种方式是基于提供商底层扩展位置或提供商底层扩展位置的服务器的资源利用率。在提供商底层扩展位置或提供商底层扩展位置服务器上本地执行的代理或其他进程可以监视用于托管边缘优化实例的处理器、存储器、网络适配器和存储装置的利用率,并将该利用率数据报告给PSE计算服务502。PSE计算服务502可以从所标识的合适的PSE位置中选择具有最高容量(或最低利用率)的提供商底层扩展位置。
用于获得延时数据的各种方法是可能的,包括下文描述的那些方法。为了促进一组稳健的客户延时要求,PSE计算服务502可以使用本文描述的一种或多种方法或其他方法来确定例如终端用户电子装置和基站、基站和提供商底层扩展位置、基站和云提供商网络区域或可用区数据中心、提供商底层扩展位置和其他提供商底层扩展位置以及提供商底层扩展位置到云提供商网络区域或可用区数据中心之间的延时。延时通常是指一个装置向接收者发送消息与接收者接收消息之间的单向时间,或者是指一个装置发出请求与随后接收对所述请求的响应之间的往返时间。在一些实施方案中,延时数据提供或允许推导各个点之间的延时以用于PSE计算服务502的布局确定。
在第一种方法下,CSP网络714(或其他类型的提供商底层扩展位置)可以包括延时服务。延时服务可以定期接收或以其他方式监视整个CSP网络714中的延迟。延时服务可以包括API,PSE计算服务502可以向所述API发出调用以获取延时数据。这种方法可以被称为基于查询的方法。延时服务的示例性API接收一个或多个路由(例如,经由CSP网络714内的端点指定)并返回路由的延时。在标识了CSP网络中的各种端点(例如,通过IP地址)的情况下,PSE计算服务502可以使用延时服务来构建通过CSP网络的点对点延时的视图。例如,基于对CSP网络的各种入口点(例如,基站)及其地理位置的了解,PSE计算服务502可以构建从每个入口点到每个边缘位置的延时数据集。并且基于对与CSP网络集成的各种边缘位置的了解,PSE计算服务502还可以测量云提供商网络100和每个提供商底层扩展位置之间的延时。PSE计算服务502可以将来自延时服务的响应和其他延时测量结果作为延时数据存储或高速缓存在数据存储区中。
根据第二种方法,CSP可以提供CSP网络714拓扑的详细信息,PSE计算服务502可以根据所述信息做出或推导信息以做出布局确定。详细信息可以以离线方式提供(例如,从CSP到云提供商的文件传输)。这种方法可以被称为基于模型的方法。网络拓扑信息可以被提供在表示如网络跃点的数量和网络节点之间(例如,基站与边缘位置之间、边缘位置之间以及边缘位置与云提供商网络之间,云提供商网络可能由云提供商使用与CSP网络和云提供商网络之间的连接性相关的网络拓扑信息进行扩充)的距离等内容的图形或其他合适的数据结构中或被转换为所述图形或其他合适的数据结构。另外,网络拓扑信息可以包括与终端用户装置的对网络的入口点的地理位置有关的信息(例如,基站覆盖范围)。使用一组试探法,网络拓扑信息可以用于对通过CSP网络的各种延时(例如,点对点延时)进行建模。例如,试探法可以包括在给定距离处的网络节点之间的信号的估计延迟(例如,使用光速)、由通过网络的各种跃点增加的建模延时(例如,由于路由器或其他网络装备处的处理延迟)等。由于网络拓扑可能随时间变化,因此CSP可以定期提供表征CSP网络拓扑的更新的信息。PSE计算服务502可以将建模延时作为延时数据存储在数据存储区中。
根据第三种方法,CSP和/或云提供商可以建立“发布者”节点网络,所述节点收集延时数据并将其报告给PSE计算服务502。此类发布者节点可以通过多种方式收集延时数据,所述多种方式诸如查验其他装置、订阅由CSP网络组件发出的事件或定期轮询CSP网络API以收集QoS数据。虽然类似于基于查询的方法(它提供了比基于模型的方法更新的网络延时视图),但是第三种方法(被称为基于监视器的方法)可以在无需与CSP协调的情况下实施(无论是通过获得对内部联网API(诸如延时服务)的访问,要求CSP部署可能不存在的延时监视设施,还是通过依赖于CSP得到网络拓扑数据)。例如,边缘位置和/或终端用户电子装置可以包括监视到其他装置的延时的应用程序。在PSE位置处,应用程序可以由计算实例执行或作为控制平面组件执行。在终端用户电子装置处,应用程序可以是作为用于将应用程序部署到终端用户装置的SDK的一部分并入的后台进程。在任一情况下,应用程序都可以定期地从云提供商网络100的服务获取其他PSE位置和/或电子装置的标识(例如,经由IP地址),测量所标识的装置的延时(例如,经由查验请求),并将结果报告给边缘位置布局服务。在终端用户装置的情况下,应用程序可以进一步将终端用户装置与其入口点之间的延时数据报告给CSP网络(例如,基站)。PSE计算服务502可以将所报告的数据作为延时数据存储在数据存储区中。
可以使用多种不同的架构来支持在提供商底层扩展位置执行边缘优化计算实例(例如,诸如边缘优化实例706)。在一些实施方案中,边缘优化计算实例的执行由在服务器710上运行的轻量级虚拟机管理器(VMM)(例如,VMM 708)支持,在所述服务器上基于应用程序配置文件启动边缘优化计算实例。这些VMM 708使得能够在几分之一秒内启动轻量级微型虚拟机(microVM)。这些VMM还可以使得容器运行时和容器编排器能够将容器作为microVM进行管理。尽管如此,这些microVM还利用由传统VM例如通过VMM将其作为隔离进程运行而提供的安全性和工作负载隔离以及容器带来的资源效率。
如本文所使用的,microVM是指如下VM:使用有限装置模型和/或使用由轻量级VMM支持的最小OS内核进行初始化,并且每个microVM可以具有<5MiB的低存储器开销,使得数千个microVM可以打包到单个主机上。例如,microVM可以具有OS内核的精简版本(例如,仅具有所需的OS组件及其依赖项)以最大限度地减少启动时间和存储器占用空间。在一个实施方式中,轻量级VMM的每个进程封装一个且仅一个microVM。所述进程可以运行以下线程:API、VMM和vCPU。API线程负责API服务器和相关联的控制平面。VMM线程公开了机器模型、最小遗留装置模型、microVM元数据服务(MMDS)以及VirtIO装置模拟网络和块装置。另外,存在一个或多个vCPU线程(每个来宾CPU内核一个vCPU线程)。
此类VMM的使用进一步实现了专用于每个边缘优化计算实例的资源量的完全灵活性,并能够在执行期间动态调整专用于实例的资源量。如上所述,这使得用户能够在应用程序配置文件中指定任何资源规范,并且在其上启动边缘优化实例的服务器可以适应灵活的资源规范。在其他实施方案中,边缘优化计算实例的执行是基于单内核或其他基于VM、容器或其他应用程序格式的流线型实例类型的创建和执行。例如,单内核可以与应用程序和运行应用程序所需的最少内核、装置驱动程序和库一起封装在机器映像中。一般而言,此类实施方式使得边缘优化计算实例706能够以最小的开销快速启动。
如上所述,在一些实施方案中,分配给边缘优化计算实例的资源可以响应于用户请求或其他条件(例如,特定实例经历的负载变化)而随时间动态地调整。例如,如果用户基于最初请求一个vCPU的应用程序配置文件启动边缘优化实例,则在其上启动所述实例的VMM最初可能会将边缘优化实例限制为使用等于一个vCPU的CPU周期(例如,使用一些Linux内核的“cgroups”特征或其他类似机制)。在一些实施方案中,当边缘优化实例正在运行时,用户随后可以请求为同一实例分派一个或多个附加vCPU(例如,使得为所述实例分派等于两个CPU而不是仅一个CPU的CPU周期)。在此示例中,响应于所述请求,PSE计算服务502可以向对应的VMM 708发送指令,所述指令致使VMM向所述实例分派足够数量的CPU周期(假设此类资源在服务器上可容忍的超额订阅阈值内可用)。类似地,用户可以根据存储器、网络资源或其他资源维度动态调整专用于边缘优化实例的资源量。在一些实施方案中,还可以执行边缘优化实例的动态调整,以执行用户已定义的自动扩展策略(例如,基于实例经历的变化负载来自动调整实例),以管理提供商底层扩展处的可用容量,或者响应于其他条件。
如上所述,在一些实施方案中,将边缘优化实例布局和执行到提供商底层扩展服务器处的服务器上可以包括将服务器上可用的资源总量超额订阅指定量(例如,可以向布局在服务器上的实例共同提供超过底层物理资源的实际数量或量某个阈值百分比的多个vCPU或其他资源)。在一些实施方案中,可以使用基于令牌的模型来管理资源的超额订阅,其中例如CPU周期或其他资源的使用可以与递增地提供给实例并在使用时被实例耗尽的令牌相关联,由此提供对各个实例的资源使用的节流机制。在将边缘优化实例布局到提供商底层扩展位置处的有限数量的服务器上时,在服务器和提供商底层扩展上超额订阅资源的能力通常使云提供商网络100具有额外的灵活性。
在一些实施方案中,边缘优化计算实例的执行包括专注于最大限度地提高在其上布局实例的服务器的资源利用率。具体地,云提供商网络100可以寻求防止边缘优化计算实例在不满足资源利用率的定义阈值的情况下占用提供商底层扩展位置处的服务器上的空间。例如,由于在任何给定时间提供商底层扩展服务器上只能存在有限数量的实例,并且由于提供商底层扩展位置上可用的服务器总数通常是有限的,因此此类“空闲”实例可能会不必要地阻止其他生产效率更高的边缘优化实例使用那些有限的资源。因此,在一些实施方案中,对边缘优化实例的管理包括监视和分析在边缘位置运行的每个边缘优化实例的实际利用率,并且在一些实例中,还包括移除未充分利用的实例,以便为其他生产效率更高的实例释放容量。
在一些实施方案中,边缘优化计算实例的执行可能受到严格的时间限制。例如,云提供商可以将边缘优化实例的执行限制在执行实例的强制重新启动之前的最长时间段(例如,最多6小时,或最多任何其他定义的时间段)。在该示例中,当边缘优化实例达到其生命周期的终点时,PSE计算服务502可以尝试重新启动边缘优化实例并恢复其先前的配置(例如,包括IP地址、存储卷和其他配置)。然而,如果没有足够的容量来满足边缘优化实例根据其相关应用程序配置文件的要求,则当容量变得可用时,边缘优化实例的执行可能会排队等待满足。
在一些实施方案中,如上所述,从提供商底层扩展服务器移除边缘优化实例是基于对与实例的实际资源利用率相关的度量的监视。例如,上述cgroups特征或其他工具可以用于随时间的推移测量布局在服务器上的实例的资源利用率,并将此类数据发送到PSE计算服务502。在此示例中,如果PSE计算服务502确定服务器包括不满足所定义的利用率阈值的某个数量的实例,并且在PSE位置存在其他待布局的实例,则PSE计算服务502可以向PSE位置发送终止未充分利用的实例的指令。在其他实施方案中,PSE计算服务502可以向与实例相关联的用户或服务生成通知,所述通知指示如果不满足资源利用率阈值,则实例将在未来的某个点终止。一旦此类未充分利用的实例终止,就可以将其他实例布局在对应的服务器上。在其他示例中,PSE计算服务502可以替代地决定将未充分利用的实例留在服务器上,并将服务器上的资源超额订阅给其他实例。
图8是示出根据一些实施方案的用于使用户能够定义用于在提供商底层扩展处执行客户工作负载的应用程序配置文件并基于定义的应用程序配置文件在提供商底层扩展处启动边缘优化计算实例的方法的操作800的流程图。操作800(或本文描述的其他过程或其变型和/或组合)的一些或全部在配置有可执行指令的一个或多个计算机系统的控制下执行,并且作为共同在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)由硬件或其组合来实现。代码例如以包括可由一个或多个处理器执行的指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读存储介质是非暂时性的。在一些实施方案中,操作800中的一个或多个(或全部)由其他附图的PSE计算服务502执行。
操作800包括:在框802处,接收创建应用程序配置文件的第一请求,所述请求包括与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数的值。在一些实施方案中,与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数包括以下各者中的至少一者:要在其中启动计算实例的一组地理区域、要在其中启动计算实例的一组通信服务提供商、延时阈值,并且其中所述方法还包括标识满足应用程序配置文件中指定的参数的值的一组候选提供商底层扩展。
在一些实施方案中,与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数包括以下各者中的至少一者:虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型或联网性能水平,并且其中所述方法还包括标识具有能够托管满足应用程序配置文件中指定的参数的值的计算实例的服务器的一组候选提供商底层扩展。
在一些实施方案中,与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数包括以下各者中的至少一者:基于应用程序配置文件启动的计算实例的布局策略,或基于应用程序配置文件启动的计算实例的扩展策略。
在一些实施方案中,应用程序配置文件基于应用程序配置文件标识要用于启动计算实例的资源的存储位置,并且所述操作还包括:从存储位置获取资源;基于应用程序配置文件标识要在其上启动计算实例的候选提供商底层扩展;以及将资源发送到候选提供商底层扩展以便存储在候选提供商底层扩展处。
操作800还包括:在框804处,存储与服务提供商网络的用户账户相关联的应用程序配置文件。
操作800还包括:在框806处,接收执行工作负载的实例的第二请求,所述请求标识应用程序配置文件。
在一些实施方案中,所述操作还包括标识具有至少一个服务器的一组候选提供商底层扩展,在所述至少一个服务器上可以启动满足应用程序配置文件的计算实例,所述一组提供商底层扩展包括提供商底层扩展,其中所述提供商底层扩展包括为执行客户计算实例提供容量的多个服务器,并且至少部分地由服务提供商网络的控制平面控制。
操作800还包括:在框808处,向提供商底层扩展发送基于应用程序配置文件启动计算实例的指令,所述计算实例将用于在提供商底层扩展处执行工作负载。在一些实施方案中,所述计算实例是在由提供商底层扩展的服务器托管的虚拟机管理器(VMM)上运行的microVM。
在一些实施方案中,所述操作还包括:获取指示计算实例对计算资源的利用率的度量数据;基于度量数据确定计算实例对计算资源的利用率未能满足利用率阈值;以及终止计算实例。
在一些实施方案中,所述操作还包括:获取指示计算实例对计算资源的利用率的度量数据;基于度量数据确定增加由在提供商底层扩展处托管计算实例的服务器分派给计算实例的计算资源量;以及致使托管计算实例的服务器在计算实例的运行时期间增加分派给计算实例的计算资源量。
在一些实施方案中,计算实例在物理资源少于分派给服务器上的计算实例的虚拟资源的组合量的服务器上启动,并且物理资源量和虚拟资源量之间的差值在超额订阅阈值内。
在一些实施方案中,提供商底层扩展包括以下各者中的一者:由位于由提供商网络的客户管理的设施中的服务器形成的网络、由位于与通信服务提供商相关联的设施中的服务器形成的网络、由位于由云提供商管理的设施中的服务器形成并且至少部分地由服务提供商网络的单独控制平面控制的网络。
图9示出了根据一些实施方案的示例性提供商网络(或“服务提供商系统”)环境。提供商网络900可以经由一个或多个虚拟化服务910向客户提供资源虚拟化,所述一个或多个虚拟化服务允许客户购买、租借或以其他方式获得在一个或多个数据中心中一个或多个提供商网络内的装置上实施的虚拟化资源(包括但不限于计算资源和存储资源)的实例912。本地互联网协议(IP)地址916可以与资源实例912相关联;本地IP地址是提供商网络900上的资源实例912的内部网络地址。在一些实施方案中,提供商网络900还可以提供客户可从提供商900获得的公共IP地址914和/或公共IP地址范围(例如,互联网协议版本4(IPv4)或互联网协议版本6(IPv6)地址)。
常规上,提供商网络900可以经由虚拟化服务910来允许服务提供商的客户(例如,操作包括一个或多个客户装置952的一个或多个客户端网络950A至950C的客户)使分配或分派给客户的至少一些公共IP地址914与分配给客户的特定资源实例912动态地相关联。提供商网络900还可以允许客户将先前映射到分派给客户的一个虚拟化计算资源实例912的公共IP地址914重新映射到也分派给客户的另一虚拟化计算资源实例912。使用由服务提供商提供的虚拟化计算资源实例912和公共IP地址914,服务提供商的客户(诸如客户网络950A至950C的运营商)可以例如实施客户特定的应用程序并且在中间网络940(诸如互联网)上呈现客户的应用程序。然后,中间网络940上的其他网络实体920可以生成到由一个或多个客户网络950A至950C发布的目的地公共IP地址914的流量;流量被路由到服务提供商数据中心,并且在数据中心处经由网络底层被路由到当前映射到目的地公共IP地址914的虚拟化计算资源实例912的本地IP地址916。类似地,来自虚拟化计算资源实例912的响应流量可以经由网络底层被路由回到中间网络940上到源实体920。
如本文中所使用,本地IP地址是指例如提供商网络中的资源实例的内部或“专用”网络地址。本地IP地址可以在由互联网工程任务组(IETF)注释请求(RFC)1918预留的地址块内和/或具有由IETF RFC4193指定的地址格式,并且在提供商网络内可以是可变的。源自提供商网络外部的网络流量不会直接路由到本地IP地址;而是,流量使用映射到资源实例的本地IP地址的公共IP地址。提供商网络可以包括提供网络地址转译(NAT)或类似功能性以执行从公共IP地址到本地IP地址的映射的网络装置或设备,反之亦然。
公共IP地址是由服务提供商或由客户分配给资源实例的互联网可变网络地址。路由到公共IP地址的流量例如经由1:1NAT转译并转发到资源实例的相应本地IP地址。
一些公共IP地址可以由提供商网络基础设施分配给特定资源实例;这些公共IP地址可以被称为标准公共IP地址,或简称为标准IP地址。在一些实施方案中,标准IP地址到资源实例的本地IP地址的映射是所有资源实例类型的默认启动配置。
至少一些公共IP地址可以被分派给提供商网络900的客户或由提供商网络的客户获得;然后,客户可以将其分派的公共IP地址分配给分派给客户的特定资源实例。这些公共IP地址可以被称为客户公共IP地址,或简称为客户IP地址。代替如在标准IP地址的情况下一样由提供商网络900分配给资源实例,客户IP地址可以由客户例如经由服务提供商提供的API分配给资源实例。与标准IP地址不同,客户IP地址被分派给客户账户,并且可以根据需要或期望由相应客户重新映射到其他资源实例。客户IP地址与客户账户相关联,而不是与特定资源实例相关联,并且客户控制所述IP地址,直到客户选择释放它。与常规的静态IP地址不同,客户IP地址允许客户通过将客户的公共IP地址重新映射到与客户账户关联的任何资源实例来屏蔽资源实例或可用区故障。例如,客户IP地址使得客户能够通过将客户IP地址重新映射到替换资源实例来解决客户资源实例或软件的问题。
图10是根据一些实施方案的向客户提供存储服务和硬件虚拟化服务的示例性提供商网络的框图。硬件虚拟化服务1020向客户提供多个计算资源1024(例如,VM)。例如,可以将计算资源1024租借或租赁给提供商网络1000的客户(例如,实施客户网络1050的客户)。每个计算资源1024可以设置有一个或多个本地IP地址。提供商网络1000可以被配置为将分组从计算资源1024的本地IP地址路由到公共互联网目标,以及从公共互联网源路由到计算资源1024的本地IP地址。
提供商网络1000可以为例如经由本地网络1056耦合到中间网络1040的客户网络1050提供经由耦合到中间网络1040和提供商网络1000的硬件虚拟化服务1020实施虚拟计算系统1092的能力。在一些实施方案中,硬件虚拟化服务1020可以提供一个或多个API1002(例如,web服务接口),经由所述API,客户网络1050可以例如经由控制台1094(例如,基于web的应用程序、独立应用程序、移动应用程序等)访问由硬件虚拟化服务1020提供的功能性。在一些实施方案中,在提供商网络1000处,客户网络1050处的每个虚拟计算系统1092可以对应于被租赁、租借或以其他方式提供给客户网络1050的计算资源1024。
客户可以例如经由一个或多个API 1002从虚拟计算系统1092和/或另一客户装置1090(例如,经由控制台1094)的实例访问存储服务1010的功能性,以从提供商网络1000所提供的虚拟数据存储区1016(例如,文件夹或“桶”、虚拟化卷、数据库等)的存储资源1018A至1018N访问数据以及将数据存储到所述存储资源。在一些实施方案中,可以在客户网络1050处提供虚拟化数据存储网关(未示出),所述虚拟化数据存储网关可以在本地高速缓存至少一些数据(例如,频繁访问的或关键的数据),并且可以经由一个或多个通信信道与存储服务1010通信以从本地高速缓存上传新的或修改的数据,使得维护数据的主存储区(虚拟化数据存储区1016)。在一些实施方案中,用户经由虚拟计算系统1092和/或在另一个客户装置1090上可以经由充当存储虚拟化服务的存储服务1010安装和访问虚拟数据存储区1016卷,并且这些卷在用户看来可以是本地(虚拟化)存储装置1098。
虽然在图10中未示出,但还可以经由API 1002从提供商网络1000内的资源实例访问虚拟化服务。例如,客户、设备服务提供商或其他实体可以经由API 1002从提供商网络1000上的相应的虚拟网络内访问虚拟化服务,以请求分派虚拟网络内或另一虚拟网络内的一个或多个资源实例。
说明性系统
在一些实施方案中,实施本文描述的技术的一部分或全部的系统可以包括通用计算机系统(诸如图11中所示的计算机系统1100),所述通用计算机系统包括一个或多个计算机可访问介质,或被配置为访问所述一个或多个计算机可访问介质。在所示的实施方案中,计算机系统1100包括经由输入/输出(I/O)接口1130耦合到系统存储器1120的一个或多个处理器1110。计算机系统1100还包括耦合到I/O接口1130的网络接口1140。虽然图11将计算机系统1100示出为单个计算装置,但在各种实施方案中,计算机系统1100可以包括一个计算装置或被配置为作为单个计算机系统1100一起工作的任何数量的计算装置。
在各种实施方案中,计算机系统1100可以是包括一个处理器1110的单处理器系统或包括若干处理器1110(例如,两个、四个、八个或另一合适数量)的多处理器系统。处理器1110可以是能够执行指令的任何合适的处理器。例如,在各种实施方案中,处理器1110可以为实施多种指令集架构(ISA)中的任何一种(诸如,x86、ARM、PowerPC、SPARC、或MIPS ISA或任何其他合适的ISA)的通用或嵌入式处理器。在多处理器系统中,处理器1110中的每一个通常可以但未必实施相同的ISA。
系统存储器1120可以存储可由一个或多个处理器1110访问的指令和数据。在各种实施方案中,可以使用任何合适的存储器技术(诸如,随机存取存储器(RAM)、静态RAM(SRAM)、同步动态RAM(SDRAM)、非易失性/快闪型存储器或任何其他类型的存储器)来实施系统存储器1120。在所示实施方案中,实施一个或多个期望功能的程序指令和数据(诸如上述那些方法、技术和数据)被示出为作为服务代码1125和数据1126存储在系统存储器1120内。
在一个实施方案中,I/O接口1130可以被配置为协调装置中的处理器1110、系统存储器1120与任何外围装置(包括网络接口1140或其他外围接口)之间的I/O流量。在一些实施方案中,I/O接口1130可以执行任何必需协议、时序或其他数据变换以将来自一个组件(例如,系统存储器1120)的数据信号转换成适于供另一组件(例如,处理器1110)使用的格式。在一些实施方案中,I/O接口1130可以包括支持通过各种类型的外围总线(例如,诸如外围组件互连(PCI)总线标准或通用串行总线(USB)标准的变体)附接的装置。在一些实施方案中,I/O接口1130的功能可以分成两个或更多个单独组件,例如,诸如北桥和南桥。而且,在一些实施方案中,I/O接口1130(诸如到系统存储器1120的接口)的功能性中的一些或全部可以直接并入处理器1110中。
网络接口1140可以被配置为允许在计算机系统1100与附接到一个或多个网络1150的其他装置1160(例如,诸如如图1中示出的其他计算机系统或装置)之间交换数据。在各种实施方案中,例如,网络接口1140可以支持经由任何适当的有线或无线通用数据网络(诸如,以太网网络类型)进行的通信。另外,网络接口1140可以支持经由电信/电话网络(诸如模拟语音网络或数字光纤通信网络)、经由存储局域网(SAN)(诸如光纤通道SAN)或经由I/O任何其他合适类型的网络和/或协议进行的通信。
在一些实施方案中,计算机系统1100包括一个或多个卸载卡1170(包括一个或多个处理器1175,并且可能包括一个或多个网络接口1140),所述一个或多个卸载卡使用I/O接口1130(例如,实施快速外围组件互连——快速(PCI-E)标准的一个版本或诸如快速路径互连(QPI)或超路径互连(UPI)的另一互连的总线)来连接。例如,在一些实施方案中,计算机系统1100可以充当托管计算实例的主机电子装置(例如,作为硬件虚拟化服务的一部分进行操作),并且一个或多个卸载卡1170执行可以管理在主机电子装置上执行的计算实例的虚拟化管理器。作为一个示例,在一些实施方案中,卸载卡1170可以执行计算实例管理操作,诸如暂停和/或取消暂停计算实例、启动和/或终止计算实例、执行存储器传输/复制操作等。在一些实施方案中,这些管理操作可以由卸载卡1170与由计算机系统1100的其他处理器1110A至1110N执行的管理程序(例如,根据来自管理程序的请求)协作来执行。然而,在一些实施方案中,由卸载卡1170实施的虚拟化管理器可以容纳来自其他实体(例如,来自计算实例本身)的请求,并且可以不与任何单独的管理程序协作(或服务于任何单独的管理程序)。
在一些实施方案中,系统存储器1120可以是被配置为存储如上文所描述的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,程序指令和/或数据可以在不同类型的计算机可访问介质上接收、发送或存储。一般来说,计算机可访问介质可以包括非暂时性存储介质或存储器介质,诸如磁性介质或光学介质,例如经由I/O接口1130耦合到计算机系统1100的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可以包括任何易失性或非易失性介质,诸如RAM(例如,SDRAM、双倍数据速率(DDR)SDRAM、SRAM等)、只读存储器(ROM)等,所述任何易失性或非易失性介质可以作为系统存储器1120或另一种类型的存储器包括在计算机系统1100的一些实施方案中。此外,计算机可访问介质可以包括经由通信介质(诸如网络和/或无线链路,诸如可以经由网络接口1140实施)传达的传输介质或信号,诸如电信号、电磁信号或数字信号。
本文所讨论或提出的各种实施方案可以在多种多样的操作环境中实施,在一些情况下,所述操作环境可以包括可以用于操作许多应用程序中的任一者的一个或多个用户计算机、计算装置或处理装置。用户或客户端装置可以包括:许多通用个人计算机中的任一者,诸如运行标准操作系统的台式计算机或笔记本计算机;以及运行移动软件并且能够支持许多联网协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可以包括许多工作站,所述工作站运行多种可商业购得的操作系统和用于诸如开发和数据库管理等目的的其他已知应用程序中的任一者。这些装置还可以包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和/或能够经由网络通信的其他装置。
大多数实施方案利用本领域技术人员将熟悉的至少一种网络来支持使用多种广泛可用的协议中的任一者进行通信,所述协议诸如传输控制协议/互联网协议(TCP/IP)、文件传输协议(FTP)、通用即插即用(UPnP)、网络文件系统(NFS)、公共互联网文件系统(CIFS)、可扩展消息传递和到场协议(XMPP)、AppleTalk等。所述网络可以包括例如局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、互联网、内联网、外联网、公用电话交换网(PSTN)、红外网络、无线网络以及它们的任何组合。
在利用web服务器的实施方案中,web服务器可以运行各种服务器或中间层应用程序中的任一种,包括HTTP服务器、文件传输协议(FTP)服务器、通用网关接口(CGI)服务器、数据服务器、Java服务器、流量应用程序服务器等。服务器还可能能够响应于来自用户装置的请求(诸如通过执行可以被实施为以任何编程语言(诸如
Figure BDA0003741702860000481
C、C#或C++)或任何脚本语言(诸如Perl、Python、PHP或TCL)以及它们的组合编写的一个或多个脚本或程序的一个或多个Web应用)而执行程序或脚本。服务器还可以包括数据库服务器,包括但不限于商业上可从Oracle(R)、Microsoft(R)、Sybase(R)、IBM(R)等购得的数据库服务器。数据库服务器可以为关系型或非关系型(例如,“NoSQL”)、分布式或非分布式等。
本文公开的环境可以包括多种数据存储区以及如上文所讨论的其他存储器和存储介质。这些可以驻留在多种位置中,诸如驻留在一个或多个计算机本地(和/或驻留在其中)的存储介质上,或驻留在跨网络远离计算机中的任一者或全部的存储介质上。在实施方案的特定集中,信息可以驻留在本领域技术人员熟悉的存储区域网(SAN)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要文件可以视情况本地或远程存储。在系统包括计算机化装置的情况下,每个这样的装置可以包括可以经由总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和/或至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可以包括一个或多个存储装置,诸如硬盘驱动器、光存储装置和诸如随机存取存储器(RAM)或只读存储器(ROM)等固态存储装置,以及可移除介质装置、存储卡、闪存卡等。
此类装置还可以包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)和工作存储器,如上文所述。计算机可读存储介质读取器可以与计算机可读存储介质连接或被配置为接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除存储装置以及用于暂时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用程序、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用程序或web浏览器。应当明白,备选实施方案可以具有与上述不同的大量变型。例如,还可以使用自定义硬件,和/或特定元件可以在硬件、软件(包括便携式软件,诸如小应用程序)或这两者中实施。此外,可以采用与诸如网络输入/输出装置等其他计算装置的连接。
用于包含代码或部分代码的存储介质和计算机可读介质可以包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,诸如但不限于以用于存储和/或传输信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实施的易失性和非易失性、可移除和不可移除的介质,包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪存存储器或其他存储器技术、只读光盘存储器(CD-ROM)、数字通用光盘(DVD)或其他光存储器装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可以用于存储期望信息并且可以由系统装置访问的任何其他介质。基于本文中提供的公开和教导,本领域一般技术人员将会明白用于实施各种实施方案的其他方式和/或方法。
在以上描述中,描述各种实施方案。出于解释目的,阐述了具体配置和细节以便提供对实施方案的透彻理解。然而,对于本领域技术人员来说也显而易见的是,可以在没有具体细节的情况下实践所述实施方案。此外,为了不使所描述的实施方案变得模糊,可能会省略或简化众所周知的特征。
在本文中使用带有虚线边框(例如,大破折号、小破折号、点破折号和点)的带括号的文本和框来示出向一些实施方案添加附加特征的任选操作。然而,这种表示法不应被视为意味着这些是唯一选项或任选操作和/或在某些实施方案中带有实线边界的框不是任选的。
在各种实施方案中,具有后缀字母的附图标记(例如,1018A至1018N)可以用于指示所引用实体的一个或多个实例,并且当存在多个实例时,每个实例不必相同,而是可以替代地共享一些一般特征或按惯例行事。此外,除非有相反的明确说明,否则所使用的特定后缀并非意在暗示存在特定量的实体。因此,在各种实施方案中,使用相同或不同后缀字母的两个实体可以具有或可以不具有相同数量的实例。
对于“一个实施方案”、“实施方案”、“示例性实施方案”等的提及指示所述的实施方案可以包括特定特征、结构或特性,但是每一个实施方案都可以不必包括所述特定特征、结构或特性。此外,此类短语不一定是指同一实施方案。此外,当结合实施方案来描述特定特征、结构或特性时,应认为,无论是否有明确描述,结合其他实施方案来实施此类特征、结构或特性也在本领域技术人员的知识范围内。
此外,在上述各种实施方案中,除非另外特别指出,否则诸如短语“A、B或C中的至少一个”的析取语言意图被理解为表示A、B或C或其任何组合(例如,A、B和/或C)。因而,析取语言通常并不意图也不应被理解为暗示给定的实施方案要求至少一个A、至少一个B或至少一个C各自都存在。
所公开的技术的至少一些实施方案可以根据以下条款来描述:
1.一种计算机实施方法,其包括:
接收创建应用程序配置文件的第一请求,所述请求包括与在服务提供商网络的提供商底层扩展处执行客户工作负载相关的参数值,其中所述服务提供商网络的提供商底层扩展:
包括为执行客户计算实例提供容量的计算机系统,以及
至少部分地由所述服务提供商网络的控制平面控制;
存储与所述服务提供商网络的客户账户相关联的所述应用程序配置文件;
接收执行所述工作负载的实例的第二请求,所述请求标识所述应用程序配置文件;以及
向提供商底层扩展发送基于所述应用程序配置文件启动计算实例的指令,所述计算实例用于在所述提供商底层扩展处执行所述工作负载。
2.根据条款1所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述客户工作负载相关的所述参数包括以下各者中的至少一者:要用于启动计算实例的资源的存储位置、要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值、基于所述应用程序配置文件启动的计算实例的布局策略、要用于执行所述工作负载的计算实例的类型、内核版本、虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型、联网性能水平或用于扩展所述工作负载的执行的扩展策略。
3.根据条款1至2中任一项所述的计算机实施方法,其还包括:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定所述计算实例对所述计算资源的利用率未能满足利用率阈值;以及
终止所述计算实例。
4.一种计算机实施方法,其包括:
接收创建应用程序配置文件的第一请求,所述请求包括与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数的值,其中所述参数包括用于在提供商底层扩展处执行所述工作负载的延时配置文件;
接收执行所述工作负载的实例的第二请求,所述请求标识所述应用程序配置文件;以及
向提供商底层扩展发送基于所述应用程序配置文件启动计算实例的指令,所述计算实例用于在所述提供商底层扩展处执行所述工作负载。
5.根据条款4所述的计算机实施方法,所述方法还包括:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定所述计算实例对所述计算资源的利用率未能满足利用率阈值;以及
终止所述计算实例。
6.根据条款4所述的计算机实施方法,其还包括:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定增加由在所述提供商底层扩展处托管所述计算实例的服务器分派给所述计算实例的计算资源量;以及
致使托管所述计算实例的所述服务器在所述计算实例的运行时期间增加分派给所述计算实例的所述计算资源量。
7.根据条款4至6中任一项所述的计算机实施方法,所述方法还包括标识具有至少一个服务器的一组候选提供商底层扩展,在所述至少一个服务器上可以启动满足所述应用程序配置文件的计算实例,所述一组提供商底层扩展包括所述提供商底层扩展,其中所述提供商底层扩展:
包括为执行客户计算实例提供容量的多个服务器,以及
至少部分地由所述服务提供商网络的控制平面控制。
8.根据条款4至7中任一项所述的计算机实施方法,其中所述计算实例是在由所述提供商底层扩展的服务器托管的虚拟机管理器(VMM)上运行的microVM。
9.根据条款4至8中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值,并且其中所述方法还包括标识满足所述应用程序配置文件中指定的所述参数的所述值的一组候选提供商底层扩展。
10.根据条款4至9中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型或联网性能水平,并且其中所述方法还包括标识具有能够托管满足所述应用程序配置文件中指定的所述参数的所述值的计算实例的服务器的一组候选提供商底层扩展。
11.根据条款4至10中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:用于基于所述应用程序配置文件启动的计算实例的布局策略,或用于基于所述应用程序配置文件启动的计算实例的扩展策略。
12.根据条款4至11中任一项所述的计算机实施方法,其中所述计算实例在具有少于分派给所述服务器上的计算实例的虚拟资源的组合量的物理资源的服务器上启动,并且其中所述物理资源量和虚拟资源量之间的差值在超额订阅阈值内。
13.根据条款4至12中任一项所述的计算机实施方法,其中所述应用程序配置文件基于所述应用程序配置文件标识要用于启动计算实例的资源的存储位置,并且其中所述方法还包括:
从所述存储位置获取所述资源;
基于所述应用程序配置文件标识要在其处启动计算实例的候选提供商底层扩展;以及
将所述资源发送到所述候选提供商底层扩展以便存储在所述候选提供商底层扩展处。
14.根据条款4至13中任一项所述的计算机实施方法,其中所述提供商底层扩展包括以下各者中的一者:由位于由所述提供商网络的客户管理的设施中的服务器形成的网络、由位于与通信服务提供商相关联的设施中的服务器形成的网络、由位于由云提供商管理的设施中的服务器形成并且至少部分地由所述服务提供商网络的单独控制平面控制的网络。
15.一种系统,其包括:
由第一一个或多个电子装置实施的提供商底层扩展(PSE)计算服务,所述PSE计算服务包括在执行时致使所述PSE计算服务执行以下操作的指令:
接收创建应用程序配置文件的第一请求,所述请求包括与在所述PSE计算服务是其一部分的服务提供商网络的提供商底层扩展处执行客户工作负载相关的参数的值,其中所述参数包括用于在提供商底层扩展处执行所述工作负载的延时配置文件,
接收执行所述工作负载的实例的第二请求,所述请求标识所述应用程序配置文件,
向提供商底层扩展发送基于所述应用程序配置文件启动计算实例的指令,所述计算实例用于在所述提供商底层扩展处执行所述工作负载;以及
由第二一个或多个电子装置实施的提供商底层扩展,其中所述提供商底层扩展包括计算机系统,所述计算机系统提供用于执行客户计算实例的容量,并且至少部分地由所述服务提供商网络的控制平面控制,所述提供商底层扩展包括在执行时致使所述提供商底层扩展执行以下操作的指令:
接收基于所述应用程序配置文件启动计算实例的所述指令,以及
在所述提供商底层扩展内的计算机系统上启动所述计算实例。
16.根据条款15所述的系统,其中与在所述服务提供商网络的提供商底层扩展处执行所述客户工作负载相关的所述参数包括以下各者中的至少一者:要用于启动计算实例的资源的存储位置、要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值、用于基于所述应用程序配置文件启动的计算实例的布局策略、要用于执行所述工作负载的计算实例的类型、内核版本、虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型、联网性能水平或用于扩展所述工作负载的执行的扩展策略。
17.根据条款15至16中任一项所述的系统,其中所述PSE计算服务还包括在执行时致使所述PSE计算服务执行以下操作的指令:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定所述计算实例对所述计算资源的利用率未能满足利用率阈值;以及
终止所述计算实例。
18.根据条款15至16中任一项所述的系统,其中所述PSE计算服务还包括在执行时致使所述PSE计算服务执行以下操作的指令:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定增加由在所述提供商底层扩展处托管所述计算实例的服务器分派给所述计算实例的计算资源量;以及
致使托管所述计算实例的所述服务器在所述计算实例的运行时期间增加分派给所述计算实例的所述计算资源量。
19.根据条款15至18中任一项所述的系统,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值,并且其中所述指令在执行时进一步致使所述PSE服务标识满足所述应用程序配置文件中指定的所述参数的所述值的一组候选提供商底层扩展。
20.根据条款15至19中任一项所述的系统,其中所述提供商底层扩展包括以下各者中的一者:由位于由所述提供商网络的客户管理的设施中的服务器形成的网络、由位于与通信服务提供商相关联的设施中的服务器形成的网络、由位于由云提供商管理的设施中的服务器形成并且至少部分地由所述服务提供商网络的单独控制平面控制的网络。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,显而易见的是,在不偏离如所附权利要求中所阐述的本公开的更宽泛的精神及范围的情况下,可以对其进行各种修改及改变。

Claims (15)

1.一种计算机实施方法,其包括:
接收创建应用程序配置文件的第一请求,所述请求包括与在服务提供商网络的提供商底层扩展处执行工作负载相关的参数的值,其中所述参数包括用于在提供商底层扩展处执行所述工作负载的延时配置文件;
接收执行所述工作负载的实例的第二请求,所述请求标识所述应用程序配置文件;以及
向提供商底层扩展发送基于所述应用程序配置文件启动计算实例的指令,所述计算实例用于在所述提供商底层扩展处执行所述工作负载。
2.根据权利要求1所述的计算机实施方法,所述方法还包括:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定所述计算实例对所述计算资源的利用率未能满足利用率阈值;以及
终止所述计算实例。
3.根据权利要求1所述的计算机实施方法,所述计算机实施方法还包括:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定增加由在所述提供商底层扩展处托管所述计算实例的服务器分派给所述计算实例的计算资源量;以及
致使托管所述计算实例的所述服务器在所述计算实例的运行时期间增加分派给所述计算实例的所述计算资源量。
4.根据权利要求1至3中任一项所述的计算机实施方法,所述方法还包括标识具有至少一个服务器的一组候选提供商底层扩展,在所述至少一个服务器上可以启动满足所述应用程序配置文件的计算实例,所述一组提供商底层扩展包括所述提供商底层扩展,其中所述提供商底层扩展:
包括为执行客户计算实例提供容量的多个服务器,以及
至少部分地由所述服务提供商网络的控制平面控制。
5.根据权利要求1至4中任一项所述的计算机实施方法,其中所述计算实例是在由所述提供商底层扩展的服务器托管的虚拟机管理器(VMM)上运行的microVM。
6.根据权利要求1至5中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值,并且其中所述方法还包括标识满足所述应用程序配置文件中指定的所述参数的所述值的一组候选提供商底层扩展。
7.根据权利要求1至6中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型或联网性能水平,并且其中所述方法还包括标识具有能够托管满足所述应用程序配置文件中指定的所述参数的所述值的计算实例的服务器的一组候选提供商底层扩展。
8.根据权利要求1至7中任一项所述的计算机实施方法,其中与在所述服务提供商网络的提供商底层扩展处执行所述工作负载相关的所述参数包括以下各者中的至少一者:用于基于所述应用程序配置文件启动的计算实例的布局策略,或用于基于所述应用程序配置文件启动的计算实例的扩展策略。
9.根据权利要求1至8中任一项所述的计算机实施方法,其中所述计算实例在具有少于分派给所述服务器上的计算实例的虚拟资源的组合量的物理资源的服务器上启动,并且其中所述物理资源量和虚拟资源量之间的差值在超额订阅阈值内。
10.根据权利要求1至9中任一项所述的计算机实施方法,其中所述应用程序配置文件基于所述应用程序配置文件标识要用于启动计算实例的资源的存储位置,并且其中所述方法还包括:
从所述存储位置获取所述资源;
基于所述应用程序配置文件标识要在其处启动计算实例的候选提供商底层扩展;以及
将所述资源发送到所述候选提供商底层扩展以便存储在所述候选提供商底层扩展处。
11.根据权利要求1至10中任一项所述的计算机实施方法,其中所述提供商底层扩展包括以下各者中的一者:由位于由所述提供商网络的客户管理的设施中的服务器形成的网络、由位于与通信服务提供商相关联的设施中的服务器形成的网络、由位于由云提供商管理的设施中的服务器形成并且至少部分地由所述服务提供商网络的单独控制平面控制的网络。
12.一种系统,其包括:
由第一一个或多个电子装置实施的提供商底层扩展(PSE)计算服务,所述PSE计算服务包括在执行时致使所述PSE计算服务执行以下操作的指令:
接收创建应用程序配置文件的第一请求,所述请求包括与在所述PSE计算服务是其一部分的服务提供商网络的提供商底层扩展处执行客户工作负载相关的参数的值,其中所述参数包括用于在提供商底层扩展处执行所述工作负载的延时配置文件,
接收执行所述工作负载的实例的第二请求,所述请求标识所述应用程序配置文件,
向提供商底层扩展发送基于所述应用程序配置文件启动计算实例的指令,所述计算实例用于在所述提供商底层扩展处执行所述工作负载;以及
由第二一个或多个电子装置实施的提供商底层扩展,其中所述提供商底层扩展包括计算机系统,所述计算机系统提供用于执行客户计算实例的容量,并且至少部分地由所述服务提供商网络的控制平面控制,所述提供商底层扩展包括在执行时致使所述提供商底层扩展执行以下操作的指令:
接收基于所述应用程序配置文件启动计算实例的所述指令,以及
在所述提供商底层扩展内的计算机系统上启动所述计算实例。
13.根据权利要求12所述的系统,其中与在所述服务提供商网络的提供商底层扩展处执行所述客户工作负载相关的所述参数包括以下各者中的至少一者:要用于启动计算实例的资源的存储位置、要在其中启动计算实例的一组地理区域、要在其处启动计算实例的一组通信服务提供商、延时阈值、用于基于所述应用程序配置文件启动的计算实例的布局策略、要用于执行所述工作负载的计算实例的类型、内核版本、虚拟中央处理单元(vCPU)的数量、存储器的量、存储装置的类型、联网性能水平或用于扩展所述工作负载的执行的扩展策略。
14.根据权利要求12或13中任一项所述的系统,其中所述PSE计算服务还包括在执行时致使所述PSE计算服务执行以下操作的指令:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定所述计算实例对所述计算资源的利用率未能满足利用率阈值;以及
终止所述计算实例。
15.根据权利要求12或13中任一项所述的系统,其中所述PSE计算服务还包括在执行时致使所述PSE计算服务执行以下操作的指令:
获取指示所述计算实例对计算资源的利用率的度量数据;
基于所述度量数据确定增加由在所述提供商底层扩展处托管所述计算实例的服务器分派给所述计算实例的计算资源量;以及
致使托管所述计算实例的所述服务器在所述计算实例的运行时期间增加分派给所述计算实例的所述计算资源量。
CN202080092892.6A 2019-11-29 2020-11-13 使用边缘优化计算实例在提供商底层扩展处执行用户工作负载 Pending CN114945903A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/699,300 US10924429B1 (en) 2019-11-29 2019-11-29 Using edge-optimized compute instances to execute user workloads at provider substrate extensions
US16/699,300 2019-11-29
PCT/US2020/060481 WO2021108150A1 (en) 2019-11-29 2020-11-13 Using edge-optimized compute instances to execute user workloads at provider substrate extensions

Publications (1)

Publication Number Publication Date
CN114945903A true CN114945903A (zh) 2022-08-26

Family

ID=73740603

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080092892.6A Pending CN114945903A (zh) 2019-11-29 2020-11-13 使用边缘优化计算实例在提供商底层扩展处执行用户工作负载

Country Status (4)

Country Link
US (3) US10924429B1 (zh)
EP (1) EP4058891A1 (zh)
CN (1) CN114945903A (zh)
WO (1) WO2021108150A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11470017B2 (en) * 2019-07-30 2022-10-11 At&T Intellectual Property I, L.P. Immersive reality component management via a reduced competition core network component
US10924429B1 (en) 2019-11-29 2021-02-16 Amazon Technologies, Inc. Using edge-optimized compute instances to execute user workloads at provider substrate extensions
US11496556B1 (en) * 2021-04-26 2022-11-08 Cisco Technology, Inc. Service provider selection for application-driven routing
GB2609444B (en) * 2021-07-30 2024-01-17 Sage Global Services Ltd System, method and apparatus for computer communication
US11916809B2 (en) * 2022-04-29 2024-02-27 Microsoft Technology Licensing, Llc Autonomous operation of edge-based deployments
US20240111599A1 (en) * 2022-09-30 2024-04-04 Amazon Technologies, Inc. Code execution on a distributed unit
US12028268B1 (en) * 2022-12-16 2024-07-02 Amazon Technologies, Inc. Fallback capacity providers for capacity management of workload infrastructure

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243819B1 (en) * 2014-03-26 2019-03-26 Amazon Technologies, Inc. Template generation based on analysis

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007004661A (ja) * 2005-06-27 2007-01-11 Hitachi Ltd 仮想計算機の制御方法及びプログラム
US8539098B2 (en) * 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US7962647B2 (en) * 2008-11-24 2011-06-14 Vmware, Inc. Application delivery control module for virtual network switch
US8856319B1 (en) * 2010-02-03 2014-10-07 Citrix Systems, Inc. Event and state management in a scalable cloud computing environment
US8423998B2 (en) * 2010-06-04 2013-04-16 International Business Machines Corporation System and method for virtual machine multiplexing for resource provisioning in compute clouds
ITMI20111209A1 (it) * 2011-06-30 2012-12-31 Ibm Monitoraggio a livello utente in un ambiente di elaborazione a nuvola
DE102012217202B4 (de) * 2011-10-12 2020-06-18 International Business Machines Corporation Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen
US9229750B1 (en) * 2012-08-17 2016-01-05 Google Inc. Virtual machine networking
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US9794107B2 (en) * 2013-02-06 2017-10-17 Alcatel Lucent Method and apparatus for providing migration of cloud components across address domains
US9614789B2 (en) * 2015-01-08 2017-04-04 Futurewei Technologies, Inc. Supporting multiple virtual switches on a single host
US9898307B2 (en) * 2015-12-21 2018-02-20 Intel Corporation Starting application processors of a virtual machine
US9936019B2 (en) * 2016-03-16 2018-04-03 Google Llc Efficient live-migration of remotely accessed data
US11256548B2 (en) * 2018-05-03 2022-02-22 LGS Innovations LLC Systems and methods for cloud computing data processing
US10902018B2 (en) * 2018-08-28 2021-01-26 Microsoft Technology Licensing, Llc Synchronizing in-use source data and an unmodified migrated copy thereof
US10531436B1 (en) * 2018-09-12 2020-01-07 Capital One Services, Llc Multiple network connections to increase data throughput of mobile device
US11231953B2 (en) * 2019-08-21 2022-01-25 Red Hat, Inc. Minimizing downtime when importing virtual machines from other platforms
US10924429B1 (en) * 2019-11-29 2021-02-16 Amazon Technologies, Inc. Using edge-optimized compute instances to execute user workloads at provider substrate extensions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10243819B1 (en) * 2014-03-26 2019-03-26 Amazon Technologies, Inc. Template generation based on analysis

Also Published As

Publication number Publication date
US11757792B2 (en) 2023-09-12
US11463377B2 (en) 2022-10-04
US10924429B1 (en) 2021-02-16
EP4058891A1 (en) 2022-09-21
WO2021108150A1 (en) 2021-06-03
US20210168092A1 (en) 2021-06-03
US20230084799A1 (en) 2023-03-16

Similar Documents

Publication Publication Date Title
CN114902182B (zh) 通信服务提供商网络中的云计算
CN114946166B (zh) 在包括云边缘位置的异构计算环境中的动态资源移动的方法和系统
CN115004661B (zh) 通信服务提供商网络内托管的云计算实例的移动性
CN114902183B (zh) 云计算实例在通信服务提供商网络中的基于延时的布局
US11337227B2 (en) Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11394662B2 (en) Availability groups of cloud provider edge locations
US11171843B2 (en) Multi-carrier access to provider substrate extensions
US11757792B2 (en) Using edge-optimized compute instances to execute user workloads at provider substrate extensions
US11159344B1 (en) Connectivity of cloud edge locations to communications service provider networks
US11470047B1 (en) Managed virtual networks for computing cloud edge locations
US11425054B1 (en) User-configured multi-location service deployment and scaling
US11219034B1 (en) Distributed network connectivity monitoring of provider network edge location resources from cellular networks
US11765244B1 (en) Latency-based service discovery and routing for multi-location service-oriented applications
US11595347B1 (en) Dual-stack network addressing in cloud provider network edge locations

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