CN110709819A - 管理多单租户SaaS服务 - Google Patents

管理多单租户SaaS服务 Download PDF

Info

Publication number
CN110709819A
CN110709819A CN201880035983.9A CN201880035983A CN110709819A CN 110709819 A CN110709819 A CN 110709819A CN 201880035983 A CN201880035983 A CN 201880035983A CN 110709819 A CN110709819 A CN 110709819A
Authority
CN
China
Prior art keywords
instance
control plane
tenant
instances
application
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.)
Granted
Application number
CN201880035983.9A
Other languages
English (en)
Other versions
CN110709819B (zh
Inventor
威廉·厄尔
马丁·泰列费尔
迈克尔·达林
钱德拉·普拉萨德
雅罗斯洛·科瓦尔斯基
安娜·贝伦贝格
罗伊·彼得科夫斯基
克里斯蒂安·肯纳韦
亚历山大·莫尔
加德夫·哈里达斯
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Priority to CN202311160423.5A priority Critical patent/CN117251199A/zh
Publication of CN110709819A publication Critical patent/CN110709819A/zh
Application granted granted Critical
Publication of CN110709819B publication Critical patent/CN110709819B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/45562Creating, deleting, cloning virtual machine instances
    • 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/45575Starting, stopping, suspending or resuming 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)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

系统(10)包括在数据处理硬件(372)上执行的控制平面管理器(340)处接收用于单租户软件即服务(SaaS)应用的实例管理配置数据(360);以及在控制平面管理器处接收单租户SaaS应用的映像(350);以及由控制平面管理器基于实例管理配置数据生成控制平面(330)。控制平面被配置为基于所接收到的映像来创建单租户SaaS应用的多个实例(310),并且基于所接收到的实例管理配置数据来管理单租户SaaS应用的实例。该系统还包括在数据处理硬件上执行控制平面。

Description

管理多单租户SaaS服务
技术领域
本公开涉及管理多单租户软件即服务(SaaS)服务。
背景技术
构建被分发为服务(SaaS)的软件通常涉及多个用户的处理(“多租户”)。管理多租户的一个因素是创建多个客户(“租户”)中的每一个的有效和可靠的隔离的能力。租户之间的隔离具有两个主要目的:安全性和性能。当租户有权访问共享资源时,必须仔细控制该访问,以确保没有人能够访问其他人的数据。此外,当租户共享关键资源时,一个租户对资源的需求激增可能会使其他租户饿死,从而导致他们的性能下降。这被称为“吵闹的邻居”问题。在极端情况下,一个租户可能会危及整个SaaS操作,从而使所有其他租户退出服务。因此,可能希望尽可能地将租户彼此隔离,以最小化单个租户对其他租户的影响。但是,各个租户之间的隔离程度越大,管理架构的负担就越重,因为每个租户都必须单独供给和操作。
发明内容
本公开的一个方面提供一种包括数据处理硬件和存储器硬件的系统。存储器硬件与数据处理硬件通信并且存储指令,指令在数据处理硬件上执行时,使数据处理硬件执行多个操作。在一些示例中,所述操作中的一个可以包括接收用于单租户软件即服务(SaaS)应用的实例管理配置数据。另一操作可以包括接收单租户SaaS应用的多个可执行映像。映像可以包括虚拟机映像、容器映像或虚拟机映像和容器映像的组合。又一操作可以包括由控制平面管理器基于实例管理配置数据生成控制平面。控制平面被配置为基于所接收到的映像,创建单租户SaaS应用的多个实例,并且基于所接收到的实例管理配置数据,管理单租户SaaS应用的实例。另一操作可以包括在数据处理硬件上执行控制平面。
本公开的实施方式可以包括下述可选特征中的一个或多个。在一些实施方式中,控制平面被配置用于单租户SaaS应用的实例的生命周期管理。生命周期管理可以包括用于创建、读取、更新、删除、备份、恢复、重新启动和关闭单租户SaaS应用的实例的操作。实例管理配置数据定义单租户SaaS应用的实例的生命周期管理的操作。在一些示例中,实例管理配置数据包括用于定义单租户SaaS应用的实例的生命周期管理的多个可选参数。
在一些实施方式中,控制平面被配置为在虚拟机、虚拟机簇或专用主机设备上创建单租户SaaS应用的每个实例。控制平面可以被配置为评估单租户SaaS应用的每个实例的操作或使用度量;以及将所评估的操作或使用度量存储在与数据处理硬件通信的存储器硬件中。使用量度可以包括等待时间、误差、字节输入/输出、以及对实例的调用,例如,特定于应用的专用功能性的其他度量。
在一些实施方式中,实例管理配置数据包括用于创建单租户SaaS应用的实例的多个可选参数。参数可以包括以下中的一个或多个:部署类型、服务权限、可用性、安全隔离级、主机位置、以及监视和支持参数。在一些示例中,实例管理配置数据包括一个或多个实例模板,该实例模板包括一个或多个预定义参数。
本公开的另一方面提供一种方法,该方法包括:在数据处理硬件上执行的控制平面管理器处,接收用于单租户软件即服务应用的实例管理配置数据。控制平面管理器可以接收单租户SaaS应用的映像并且基于实例管理配置数据生成控制平面。控制平面被配置为基于所接收到的映像,实例化单租户SaaS应用的多个实例,并且基于所接收到的实例管理配置数据,管理单租户SaaS应用的实例。根据实例管理配置数据,在数据处理硬件上执行控制平面。
该方面可以包括下述可选特征中的一个或多个。在一些示例中,控制平面被配置用于单租户SaaS应用的实例的生命周期管理。实例的生命周期管理可以包括用于创建、读取、更新、备份恢复、重新启动、关闭、和删除单租户SaaS应用的操作。可以由实例管理配置数据定义单租户SaaS应用的实例的生命周期管理。
在一些示例中,控制平面被配置为在虚拟机或专用主机设备上创建和部署单租户SaaS应用的每个实例。控制平面可以被配置为评估单租户SaaS应用的每个实例的操作或使用度量,以及将所评估的操作或使用度量存储在与数据处理硬件通信的存储器硬件中。使用量度可以包括例如等待时间、误差、字节输入/输出以及对实例的调用。
在一些示例中,实例管理配置数据包括用于创建和管理单租户SaaS应用的实例的多个可选参数。所述参数可以包括以下中的一个或多个:部署类型、服务权限、可用性、安全隔离、主机位置、以及监视和支持。此外,实例管理配置数据可以包括一个或多个实例模板,一个或多个实例模板包括一个或多个预定义参数。
在附图和下文描述中阐述了本公开的一种或多种实施方式的细节。根据说明书和附图以及根据权利要求书,其他方面、特征和优点将是显而易见的。
附图说明
图1A-1D是用于管理多单租户软件即服务(SaaS)服务的系统的示例的示意图。
图2是用于管理多单租户SaaS服务的示例方法的流程图。
图3是可用于实现本文描述的系统和方法的示例计算设备的示意图。
各个附图中相同的参考符号指示相同的元件。
具体实施方式
通常,云软件环境被配置为托管单个软件应用的多个实例。例如,传统上可能诸如在台式计算机上本地托管的软件应用的各个实例现在可以被托管在远程服务器或服务器集合上,并且以即用即付方式提供给用户,即所谓的软件即服务(SaaS)应用。
对于一些SaaS应用,应用实例是隔离的,以便提供所需的安全级别。例如,可能需要将使用SaaS应用的第一客户与使用SaaS应用的第二竞争客户隔离开,以确保数据隐私。可以使用多单租户(MST)SaaS应用来实现高度隔离,其中,多个客户或租户在SaaS应用的各自实例之间被隔离。虽然适合其目的,但MST SaaS应用在开发和部署方面面临挑战,因为在SaaS应用的整个生命周期中,创建了多个隔离实例,并且必须对其进行管理(例如,更新、修复、删除)。为了提高创建和管理实例的效率,云环境可以利用控制平面,所述控制平面提供了用于创建和管理SaaS应用的所有实例的单个集线器(hub)。例如,对SaaS应用的更新可以由控制平面同时推送到所有实例,而不是必须手动将其合并到每个实例中。
随着越来越多的软件应用转变为SaaS应用,提高为MST SaaS应用创建控制平面的速度变得越来越重要。因此,本公开内容尤其提供了一种用于自动创建MST SaaS应用的控制平面的系统和方法,允许服务生产者(即软件开发人员)快速实现MST SaaS应用。
图1A提供了多单租户系统10的示例。系统10包括分布式系统100,该分布式系统100包括多个松散耦合的服务器110,每个服务器通常包括计算资源112(例如,一个或多个计算机处理器)和/或存储资源114(例如,物理存储器、闪存和/或磁盘)。系统10可以包括虚拟机(VM)层200,该虚拟机层包括被配置为在分布式系统100上操作的一个或多个虚拟机210。在一些示例中,可以跨多个服务器110、110a、110b分配单个虚拟机210、210a,其中,多个虚拟处理器212、212a、212b协作以执行单个虚拟机210、210a的多个任务。替代地,虚拟机210、210b之一可以被托管在服务器110、110c中的单个服务器上。
服务层300可以包括被提供为软件即服务(SaaS)的应用映像350的多个实例310。应用映像可以包括一个或多个虚拟机映像、一个或多个容器映像,或虚拟机映像和容器映像的组合。每个应用实例310可以被托管在虚拟机210、210a、210b中的对应一个上。例如,需要高可用性和/或多区域可用性的应用实例310、310a可以被托管在多个物理服务器110、110a、110b之间分配的虚拟机210、210a上。在一些示例中,应用实例310、310b可以被托管在专用虚拟机210、210b上,使得每个虚拟机210、210b在服务器110、110c中的专用服务器上运行。附加地或替代地,一个或多个应用实例310、310c可以直接在专用服务器110、110n上被实现和托管,无需使用虚拟机210。
继续参考图1A和1B,系统10包括控制平面330和控制平面管理器340,各自被配置为在具有数据处理硬件372和存储器硬件374的服务器370上操作。尽管服务器370被示出为单个服务器370,与分布式系统100的服务器110无关,但在一些示例中,控制平面管理器340和控制平面330可以被托管在分布式系统100的一个或多个服务器10上。附加地或替代地,控制平面管理器340和控制平面330可以彼此在单独的服务器110上操作。系统10可以进一步包括与控制平面330通信的使用数据库380,并被配置为存储与服务层300,更具体而言是服务层300的应用实例310的使用和操作有关的元数据。
参考图1C,控制平面管理器340通常被配置为接收应用映像350,并且基于由服务生产者20(即,提供多单租户应用的一方)提供的实例管理配置数据360,为应用映像350生成应用控制平面330。更具体地,控制平面管理器340可以生成定义控制平面330的创建和操作的可执行脚本或逻辑,使得控制平面330可以由服务消费者30执行以生成应用实例310。定义控制平面330的脚本可以被参数化,使得当生成新的应用实例310时,服务消费者30可以选择应用实例310的各种属性,如下文更详细所述。
如图1D所示,与生成控制平面330的可执行脚本一起,控制平面管理器340还可以发布标准化的消费者应用编程接口(API)390,该API被配置为提供服务消费者30对控制平面330的参数化脚本的访问。例如,基于实例管理配置数据360,消费者API 390可以呈现替代的消费者可选择参数362和/或实例模板364,以包括在控制平面330的脚本中。
继续参考图1C,实例管理配置数据360可以包括用于生成和执行控制平面330的多个参数362和/或规则。参数362的一部分可以是与控制平面330的可执行脚本的创建相对应的固定参数362,而参数362的另一部分可以包括当创建新的应用实例310时,与要由服务消费者30选择的应用实例310的期望属性有关的消费者可选参数362、362a-362g。
在一些示例中,消费者可选参数362之一可以包括部署类型362、362a。部署类型362、362a1-362a5包括单个VM部署362a1、高可用性(HA)部署362a2、群集部署362a3、直接部署362a4和自定义部署362a5。如上所述,单个VM部署362a1将单个应用实例310b与单个虚拟机210、210b相关联。相反,HA部署可以跨越两个或多个虚拟机210、210a分配应用实例310、310a,其中,虚拟机210、210a中的一个充当主计算机,而其他虚拟机处于待机状态。可以在不同的配置(诸如单区域、多区域和多区域配置)中提供HA部署362a2。群集部署362a3允许在单个VM部署362a1和HA部署362a2的组合上创建应用实例310。此外,如上所述,也可以在直接部署362a4配置中创建应用实例310,由此,应用实例310、310c被直接托管在服务器110、110n的硬件上。
除了标识部署类型362、362a,参数362还可以包括服务权限362、362b的指定。例如,服务生产者20可以相对于创建、读取、更新、删除、备份、和恢复应用实例310来定义服务消费者30的权限,如下文更详细地论述的。替代地或附加地,服务消费者30可以在控制平面330允许的范围内定义服务生产者20的权限。
服务生产者20还可定义控制平面330和/或应用实例310、310c的可用性362、362c。可用性362、362c的定义可以包括被允许创建和使用应用实例310的服务消费者30或组的白名单362c1和/或被禁止创建和使用应用实例310的服务消费者30或组的黑名单362c2。可用性362、362c可以基于服务消费者30的预定义类别或范围。例如,特定地理区域中的服务消费者30可以被列入白名单或列入黑名单。
服务生产者20还可以定义不同服务消费者30可能需要的各种安全隔离级362、362d。例如,与处理敏感度较低的数据的服务消费者30相比,具有高度敏感数据的银行和其他代理可能需要更高级别的安全隔离362、362d。在一些示例中,安全隔离级别362、362d可以包括具有足够的安全隔离级别362、362d的选项,以实现诸如HIPAA(健康保险携带和责任法案)、MPAA(美国电影协会)、和/或FISMA(联邦信息安全管理法)的认证。
实例管理配置数据360可以进一步包括与允许的主机位置362、362e有关的参数。例如,服务生产者20可以指定可以托管应用实例310的特定托管平台(例如,谷歌云平台、亚马逊网络服务、微软Azure、本地服务器等)。因此,控制平面330的部署脚本可以被配置用于基于实例管理配置数据360,在一个或多个主机位置362e上自动供给、创建、和操作应用实例310。如稍后所讨论的,取决于服务消费者30希望使用哪个托管平台,在创建应用实例310期间,服务消费者30可以执行控制平面330的这些各种部署脚本。
在一些示例中,实例管理配置数据360包括监视和支持参数362、362f。这样的参数362、362f指示控制平面330评估服务层300和应用实例310的各种度量。
参考图1D,在创建控制平面330时,参数362、362a-362f中的一个或多个可以被合并到一个或多个实例模板364、364a-364n中,该实例模板可由控制平面330访问。实例模板364、364a-364n可以包括参数362、362a-362f的组合,服务消费者30在创建和使用应用实例310时通常使用这些参数。例如,第一实例模板364、364a可以被配置为自动创建具有高可用性部署类型362a2、低安全隔离362d的应用实例310,并被配置用于多个主机位置362e上的创建和操作,而第二模板364、364b可以被配置为对单个VM部署362a1自动创建具有高安全性隔离362d的应用实例310。附加或替代的,取决于服务消费者30对各种参数的预期使用,可以配置具有参数362的任何组合的实例模板364、364c-364n。
附加地或替代地,服务生产者20可以定义可用于由服务消费者30自定义362、362g的参数。例如,参数362、362g可以进一步包括实例模板中不包括的、用于处理擦除、备份/恢复、更新/推出、失败等的过程的定义。
当服务生产者20希望将单租户软件应用实现为多单租户(MST)SaaS时,服务生产者20将输入或选择参数362,以将其包括在提供给控制平面管理器340的实例管理配置数据360中。然后执行控制平面管理器340,以基于实例管理配置数据360生成控制平面330。
一旦由控制平面管理器340创建,控制平面330通常被配置为管理和监视应用实例30的生命周期。如图3所示,控制平面330可以包括实例管理器332、租户管理器334、和实例监视器336。尽管被示为单独的模块,但是实例管理器332、租户管理器334(或服务管理器)、和实例监视器336可以被集成配置,其中与每个模块332、334、336相关联的任务由单个程序执行。控制平面330可以进一步包括应用映像350和实例管理配置数据360,包括一个或多个实例模板364。
如图1D中所详述的,实例管理器332被配置为使每个应用实例310、310a-310n的生命周期管理自动化,并且将多个生命周期管理命令333a-333g传送到服务层300。生命周期管理命令333a-333g可以对应于各个应用实例310、310a-n的创建333a、读取333b、更新333c、删除333d、备份和恢复333e、重新启动333f、以及关闭333g的操作。应用实例310的创建333a可以包括供给和实例化,从而实例管理器332被配置为通过根据需要为应用实例310分配资源来供给虚拟机210或服务器110,并且在供给主机110、210上实例化应用实例310。应用实例310的更新333c可以包括将应用实例310进行到新版本,并且还可以包括在当前版本是不期望的情况下将应用实例310回滚到先前版本。附加地或替代地,控制平面330配置服务器10、虚拟机210和服务消费者30之间的网络连接。这可以包括配置负载平衡器、防火墙、自动定标器、存储系统、以及与提供安全和连续网络连接相关的其他服务。
如图所示,服务生产者20和服务消费者30中的每一个都有权访问实例管理器332,从而可以由任一方20、30单方面执行生命周期管理命令333a-333g。但是,如上所述,服务生产者20可以在实例管理配置数据360中定义服务消费者30的权限。例如,服务生产者20可以限制服务消费者30对一个或多个生命周期管理命令333a-333g的访问。附加地或替代地,服务生产者20可以将规则分配给一个或多个生命周期管理命令333a-333g,诸如要求服务生产者20准许服务消费者30执行一个或多个生命周期管理命令333a-333g。。
服务生产者20可以赋予服务消费者30权限来限制服务生产者20访问或执行一个或多个生命周期管理命令333a-333g。服务生产者20可以允许服务消费者30“选择加入”以执行任何一个生命周期管理命令333a-333g,其中,服务消费者30必须准许或接受执行。例如,可能要求服务消费者30准许执行更新命令333c,从而允许服务消费者30控制正在运行应用实例310的哪个版本。
继续参考图1D,控制平面330可以进一步包括通常配置为提供服务层300的全局管理和监视的租户管理器334。租户管理器334可以被配置为编译租户列表335a,其示出在服务层300中具有应用实例310的所有服务消费者30。租户详细信息335b可以包括每个服务消费者30的身份和人口统计信息、分配给与每个服务消费者30相关联的应用实例310的参数362、以及与每个服务消费者30相关联的应用实例310的当前版本的列表。
租户管理器334可以进一步被配置为监视跨越所有服务消费者30的全局度量335c。例如,租户管理器334可以监视由应用实例310、310a-310n对分布式系统100的综合使用以及与健康有关的度量。
租户管理器334可以包括全局管理器335d,该全局管理器335d被配置为提供与实例管理器332相似的功能,但是相对于整个服务层300。例如,全局管理器335d可以被配置为跨越所有应用实例310、310a-310n提供滚动的全局更新364d。全局管理器335d还可以被配置为通过从服务者层300移除所有服务者消费者30并且同样地移除所有应用实例310来擦除服务层300。在从服务层300移除了服务消费者30和应用实例310的情况下,全局管理器335d可以管理所移除的应用实例310的下游相关性,并且取消供给上游服务的所有对应实例。
控制平面330可以进一步包括实例监视器366,该实例监视器366被配置为评估每个应用实例310的操作或使用量度336a-336d,并且将使用量度336a-336d存储在使用数据库380中。使用数据库380可以被托管在服务器370的存储器硬件374中,如图1A所示。例如,实例监控器336可以评估使用度量338、338a-338d,包括实例延迟338,338a、误差338,338b、字节输入/输出338,338c、以及对实例338,338d的调用。在一些示例中,与每个应用实例310的生命周期有关的附加度量由实例监视器336根据需要进行评估。
然后将评估的度量标准335c,338作为与每个服务消费者30关联的元数据存储在使用数据库380中。然后可以将使用量度335c,338从使用数据库380导出到期望的分析软件(未示出)。附加地或替代地,控制平面330对使用度量335c,338执行分析,并且向服务生产者20和/或服务消费者30提供仪表板,以示出由应用实例310和/或服务消费者30分解的关键度量。例如,控制平面330可以针对每个应用实例310、应用实例310的组或区域,或者对于整个服务层300,示出服务生产者20的健康状况,并且允许服务生产者在实例级和服务级解决潜在的问题。
图2示出了根据本公开,自动实现多单租户SaaS应用的方法400的示例。在框402处,方法400包括接收针对单租户SaaS应用的实例管理配置数据360。如上所述,实例管理配置数据360包括与控制平面330和应用实例310的创建和执行有关的参数362。在框404处,方法400包括接收单租户SaaS应用的映像350。在框406,控制平面管理器340基于接收到的实例管理配置数据360来生成控制平面330。控制平面330被配置为基于接收到的应用映像350,实例化SaaS应用的多个应用实例310。一旦生成,就可以执行控制平面330,如框408所示,并且可以基于应用映像350和实例管理配置数据360来创建一个或多个单租户SaaS应用实例310,如框410所示。在框412处,控制平面330基于实例管理配置数据360继续管理所创建的应用实例310的生命周期。生命周期管理可以包括用于创建、读取、更新、删除、备份、恢复、重新启动、和关闭单租户SaaS应用的实例310的操作。
根据一些实施方式,可以提供用于供给多单租户(MST)软件即服务(SaaS)服务的方法、系统和计算机可读介质。该方法可以由一个或多个计算设备的一个或多个处理器来实现,并且包括:接收软件即服务应用的单租户映像;以及接收该单租户软件即服务应用的实例管理配置数据。该方法可以生成用于软件即服务应用的控制平面,该控制平面被配置为基于软件即服务应用的单租户映像来生成软件即服务应用的多个单租户实例,并基于接收到的实例管理配置数据来管理该软件即服务应用的多个单租户实例。软件即服务应用的单租户映像和实例管理配置数据可以由控制平面管理器接收,该控制平面管理器被配置为生成用于软件即服务应用的控制平面。在使用中,控制平面可以基于软件即服务应用的单租户映像,生成软件即服务应用的多个单租户实例,并且基于实例管理配置数据,管理软件即服务应用的多个单租户实例。在一些实施方式中,控制平面可以被配置为对软件即服务应用的每个实例提供公共接口层。在一些实现中,可以在相应的虚拟机实例中,将软件即服务应用的每个实例与其他实例隔离。控制平面可以被配置为从软件即服务应用的一个或多个或每个实例中获得使用和/或操作度量。控制平面可以被配置为基于软件即服务应用的每个实例的相应实例管理简档来更新软件即服务应用的一个或多个或每个实例。在一些实施方式中,软件即服务应用的一个或多个或每个实例可以与相应的唯一实例标识符相关联,并且控制平面可以被配置为基于相应的唯一实例标识符,与软件即服务应用的一个或多个或每个实例交互。例如,可以基于相应的唯一实例标识符,将软件即服务应用的一个或多个或每个实例的使用和/或操作度量存储在公共数据库中。软件即服务应用可以包括以下中的一个或多个:应用软件、数据库资源、数据库管理资源、客户关系管理资源以及其他应用资源。
通过多单租户SaaS系统的一些实施方式,可以将每个租户有效地隔离到单独的实例,从而可以提高性能和安全性。可能不需要复杂的多租户架构,而是可以通过单个控制平面控制和监视系统。在一些示例中,实例的虚拟化和/或容器化可以允许立即进行放大和缩小,以进行有效的资源管理和使用。控制平面可以在不同的租户或用户之间提供备份和/或更新的不同调度,以及提供不同级别的SaaS供给定制。与在单个实例中供给的多个租户相比,为每个租户或用户提供和管理单独的实例可以允许更直接地执行管理和/或数据分析。该系统的实施方式可以提供对SaaS服务的多个单租户实例的实例化和操作的通用控制和管理,这可以提供以下技术优势:可控地隔离各个实例、提高不同实例之间的数据安全性、提高每个实例的性能的可靠性、提高租户和/或用户之间的数据访问和/或控制的安全性,以及提高各种单租户实例的资源分配的效率。
图3是可用于实现本文档中描述的系统和方法的示例计算设备500的示意图。计算设备500旨在表示各种形式的数字计算机,诸如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、大型机、以及其他适当的计算机。在此示出的组件、它们的连接和关系、以及它们的功能仅意味着示例性的,并不意味着限制本文档中所描述和/或要求保护的发明的实施方式。
计算设备500包括处理器510、存储器520、存储设备530、连接到存储器520和高速扩展端口550的高速接口/控制器540、以及连接到低速总线570和存储设备530的低速接口/控制器560。组件510、520、530、540、550和560中的每一个使用各种总线互连,并且可以安装在公共母板上或视情况以其他方式安装。处理器510可以处理用于在计算设备500内执行的指令,包括存储在存储器520中或存储设备530上、以在诸如耦合到高速接口540的显示器580的外部输入/输出设备上显示图形用户界面(GUI)的图形信息的指令。在其他实施方式中,视情况可以使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。而且,可以连接多个计算设备500,其中每个设备提供必要操作的多个部分(例如,作为服务器组、刀片服务器群或多处理器系统)。
存储器520非暂时性地在计算设备500内存储信息。存储器520可以是计算机可读介质、易失性存储器单元、或非易失性存储器单元。非暂时存储器520可以是用于暂时或永久地存储供计算设备500使用的程序(例如,指令序列)或数据(例如,程序状态信息)的物理设备。非易失性存储器的示例包括但不限于闪存和只读存储器(ROM)/可编程只读存储器(PROM)/可擦除可编程只读存储器(EPROM)/电可擦除可编程只读存储器(EEPROM)(例如,通常用于固件,诸如启动程序)。易失性存储器的示例包括但不限于随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、相变存储器(PCM)、以及磁盘或磁带。
存储设备530能够为计算设备500提供大容量存储。在一些实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备、或磁带设备;闪存或其他类似的固态存储设备;或者设备阵列,包括在存储区域网络或其他配置中的设备。在另外的实施方式中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含在被执行时实施诸如上文所述的一种或多种方法的指令。信息载体是计算机或机器可读介质,诸如存储器520、存储设备530、或处理器510上的内存。
高速控制器540管理计算设备500的带宽密集型操作,而低速控制器560管理较低带宽密集型操作。这样的职能分配只是示例性的。在一些实施方式中,高速控制器540耦合到存储器520、显示器580(例如,通过图形处理器或加速器来耦合)、以及耦合到高速扩展端口550,该高速扩展端口550可以接受各种扩展卡(未示出)。在一些实施方式中,低速控制器560耦合到存储设备530和低速扩展端口590。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口590可以耦合到诸如键盘、指示设备、扫描仪的一个或多个输入/输出设备,或例如通过网络适配器耦合到诸如交换机或路由器的联网设备)。
如图所示,计算设备500可以以多种不同的形式来实现。例如,其可以被实现为标准服务器500a或者在这样的服务器500a的群组中多次被实现为膝上型计算机500b,或者被实现为机架服务器系统500c的一部分。
可以在数字电子和/或光学电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件和/或其组合中实现本文描述的系统和技术的各个实施方式。这些各个实施方式可以包括在可编程系统上可执行和/或可解释的一个或多个计算机程序中的实施方式,该可编程系统包括至少一个可编程处理器,该可编程处理器可以是专用的或通用的,被耦合以从存储系统、至少一个输入设备、和至少一个输出设备接收数据和指令和向存储系统、至少一个输入设备、和至少一个输出设备传送数据和指令。
这些计算机程序(也称为程序、软件、软件应用或代码)包括用于可编程处理器的机器指令,并且可以以高级过程和/或面向对象的编程语言和/或以汇编/机器语言实现。如本文所使用的,术语“机器可读介质”和“计算机可读介质”指代任何计算机程序产品、非暂时性计算机可读介质,装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),其用于向可编程处理器提供机器指令和/或数据,包括将机器指令接收为机器可读信号的机器可读介质。术语“机器可读信号”指代用于向可编程处理器提供机器指令和/或数据的任何信号。
本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,所述可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。过程和逻辑流程也可以由专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行。作为示例,适合于执行计算机程序的处理器包括通用和专用微处理器、以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如磁盘、磁光盘或光盘),或者可操作地耦合以从用于存储数据的一个或多个大容量存储设备接收数据或向其传输数据,或者既接收数据也传输数据。但是,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储设备,包括例如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及CD ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或者并入专用逻辑电路。
为了提供与用户的交互,本公开的一个或多个方面可以在计算机上实现,该计算机具有例如CRT(阴极射线管)、LCD(液晶显示器)监视器或触摸屏的显示设备以用于向用户显示信息,以及可选地具有用户可以用来向计算机提供输入的键盘和指示设备,例如鼠标或轨迹球。其他类型的设备也可以用来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以以任何形式接收来自用户的输入,包括声、语音、或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与该用户交互,例如通过响应于从用户的客户端设备上的web浏览器接收到的请求,将网页发送到该web浏览器。
已经描述了许多实施方式。然而,将理解到,在不脱离本公开的精神和范围的情况下可以进行各种修改。因此,其他实施方式在权利要求书的范围内。

Claims (20)

1.一种系统(10),包括:
数据处理硬件(372);以及
与所述数据处理硬件(372)通信的存储器硬件(374),所述存储器硬件(374)存储指令,所述指令在所述数据处理硬件(372)上执行时使所述数据处理硬件(372)执行包括以下的操作:
在所述数据处理硬件(372)上执行的控制平面管理器(340)处接收用于单租户软件即服务SaaS应用的实例管理配置数据(360);
在所述控制平面管理器(340)处接收所述单租户SaaS应用的映像(350);
由所述控制平面管理器(340)基于所述实例管理配置数据(360)生成控制平面(330),所述控制平面(330)被配置为基于所接收到的映像(350)创建所述单租户SaaS应用的多个实例(310),并且基于所接收到的实例管理配置数据(360)管理所述单租户SaaS应用的实例(310);以及
在所述数据处理硬件(372)上执行所述控制平面(330)。
2.如权利要求1所述的系统(10),其中,所述控制平面(330)被配置用于所述单租户SaaS应用的实例(310)的生命周期管理(333),所述生命周期管理包括用于创建、读取、更新和删除所述单租户SaaS应用的实例(310)的操作。
3.如权利要求2所述的系统(10),其中,所述生命周期管理(333)进一步包括用于备份和恢复、重新启动和关闭所述单租户SaaS应用的实例(310)的操作。
4.如权利要求3所述的系统(10),其中,所述实例管理配置数据(360)定义所述单租户SaaS应用的实例(310)的生命周期管理(333)的操作。
5.如权利要求1-4中的任一项所述的系统(10),其中,所述控制平面(330)被配置为在虚拟机(210)或专用主机设备(110、210)上创建所述单租户SaaS应用的每个实例(310)。
6.如权利要求1-5中的任一项所述的系统(10),其中,所述控制平面(330)被配置为:
评估所述单租户SaaS应用的每个实例(310)的操作或使用度量(338);以及
将所评估的操作或使用度量(338)存储在与所述数据处理硬件(372)通信的所述存储器硬件(374)中。
7.如权利要求6所述的系统(10),其中,所述使用量度(338)包括等待时间、误差、字节输入/输出以及对实例(310)的调用。
8.如权利要求1至7中的任一项所述的系统(10),其中,所述实例管理配置数据(360)包括用于创建所述单租户SaaS应用的实例(310)的多个可选参数(362)。
9.如权利要求8所述的系统(10),其中,所述参数(362)包括以下中的一个或多个:部署类型(362a)、服务权限(362b)、可用性(362c)、安全隔离(362d)、主机位置(362e)以及监视和支持(362f)。
10.如权利要求1至9中的任一项所述的系统(10),其中,所述实例管理配置数据(360)包括一个或多个实例模板(364),所述一个或多个实例模板(364)包括一个或多个预定义参数(362)。
11.一种方法(400),包括:
在数据处理硬件(372)上执行的控制平面管理器(340)处接收用于单租户软件即服务SaaS应用的实例管理配置数据(360);
在所述控制平面管理器(340)处接收所述单租户SaaS应用的映像(350);
由所述控制平面管理器(340)基于所述实例管理配置数据(360)生成控制平面(330),所述控制平面(330)被配置为基于所接收到的映像(350)实例化所述单租户SaaS应用的多个实例(310),并且基于所接收到的实例管理配置数据(360)管理所述单租户SaaS应用的实例(310);以及
在所述数据处理硬件(372)上执行所述控制平面(330)。
12.如权利要求11所述的方法(400),其中,所述控制平面(330)被配置用于所述单租户SaaS应用的实例(310)的生命周期管理(333),所述生命周期管理(333)包括用于创建、读取、更新和删除所述单租户SaaS应用的实例的操作。
13.如权利要求12所述的方法(400),其中,所述生命周期管理(333)进一步包括用于备份和恢复、重新启动和关闭所述单租户SaaS应用的实例(310)的操作。
14.如权利要求13所述的方法(400),其中,所述实例管理配置数据(360)定义所述单租户SaaS应用的实例(310)的生命周期管理(333)的操作。
15.如权利要求11至14中的任一项所述的方法(400),其中,所述控制平面(330)被配置为在虚拟机(210)或专用主机设备(110、210)上创建和部署所述单租户SaaS应用的每个实例(310)。
16.如权利要求11-15中的任一项所述的方法(400),其中,所述控制平面(330)被配置为:
评估所述单租户SaaS应用的每个实例(310)的操作或使用度量(338);以及
将所评估的操作或使用度量(338)存储在与所述数据处理硬件(372)通信的所述存储器硬件(374)中。
17.如权利要求16所述的方法(400),其中,所述使用量度(338)包括等待时间、误差、字节输入/输出以及对实例(310)的调用。
18.如权利要求11至17中的任一项所述的方法(400),其中,所述实例管理配置数据(360)包括用于创建所述单租户SaaS应用的实例(310)的多个可选参数(362)。
19.如权利要求18所述的方法(400),其中,所述参数(362)包括以下中的一个或多个:部署类型(362a)、服务权限(362b)、可用性(362c)、安全隔离(362d)、主机位置(362e)以及监视和支持(362f)。
20.如权利要求11至19中的任一项所述的方法(400),其中,所述实例管理配置数据(360)包括一个或多个实例模板(364),所述一个或多个实例模板(364)包括一个或多个预定义参数(362)。
CN201880035983.9A 2017-10-27 2018-07-09 管理多单租户SaaS服务 Active CN110709819B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311160423.5A CN117251199A (zh) 2017-10-27 2018-07-09 管理多单租户SaaS服务

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/795,850 US10860336B2 (en) 2017-10-27 2017-10-27 Managing multi-single-tenant SaaS services
US15/795,850 2017-10-27
PCT/US2018/041336 WO2019083579A1 (en) 2017-10-27 2018-07-09 SAAS SERVICE MANAGEMENT OF MULTIPLE UNIQUE CLIENTS

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202311160423.5A Division CN117251199A (zh) 2017-10-27 2018-07-09 管理多单租户SaaS服务

Publications (2)

Publication Number Publication Date
CN110709819A true CN110709819A (zh) 2020-01-17
CN110709819B CN110709819B (zh) 2023-09-19

Family

ID=63165456

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201880035983.9A Active CN110709819B (zh) 2017-10-27 2018-07-09 管理多单租户SaaS服务
CN202311160423.5A Pending CN117251199A (zh) 2017-10-27 2018-07-09 管理多单租户SaaS服务

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202311160423.5A Pending CN117251199A (zh) 2017-10-27 2018-07-09 管理多单租户SaaS服务

Country Status (5)

Country Link
US (4) US10860336B2 (zh)
EP (2) EP4357919A3 (zh)
KR (3) KR102453818B1 (zh)
CN (2) CN110709819B (zh)
WO (1) WO2019083579A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068807A (zh) * 2020-07-17 2020-12-11 石化盈科信息技术有限责任公司 流程工业应用软件生态系统、开发方法及存储介质
CN114885024A (zh) * 2022-04-28 2022-08-09 远景智能国际私人投资有限公司 应用实例的路由方法、装置、设备及介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3593248A1 (en) * 2017-03-09 2020-01-15 Devicebook Inc. Intelligent platform
US11323315B1 (en) * 2017-11-29 2022-05-03 Amazon Technologies, Inc. Automated host management service
US11895201B2 (en) * 2020-03-27 2024-02-06 Intel Corporation Programmable integrated circuit configured as a remote trust anchor to support multitenancy
CN114301909B (zh) * 2021-12-02 2023-09-22 阿里巴巴(中国)有限公司 边缘分布式管控系统、方法、设备及存储介质
US12073267B2 (en) * 2022-03-11 2024-08-27 Adp, Inc. Zero code metadata-driven dynamic API

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117476A1 (en) * 2002-12-17 2004-06-17 Doug Steele Method and system for performing load balancing across control planes in a data center
EP2299360A1 (en) * 2009-09-18 2011-03-23 Group Business Software AG process for installing a software application and platform operating system
US20140075021A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation System and method for providing a cloud computing environment
US20150120818A1 (en) * 2013-10-24 2015-04-30 Samsung Sds Co., Ltd. Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine
CN105074702A (zh) * 2013-02-28 2015-11-18 亚马逊科技公司 提供单租户和多租户环境的数据库系统
US20160105311A1 (en) * 2014-10-13 2016-04-14 Vmware, Inc. Hybrid service fleet management for cloud providers
US20160182473A1 (en) * 2014-12-19 2016-06-23 Amazon Technologies, Inc. Multi-faceted compute instance identity
CN106897124A (zh) * 2015-12-18 2017-06-27 华为软件技术有限公司 一种多租户请求处理方法、装置及设备

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2463006A1 (en) * 2004-01-27 2005-07-27 Wrapped Apps Corporation On demand provisioning of web applications
JP4902282B2 (ja) * 2006-07-12 2012-03-21 株式会社日立製作所 業務システム構成変更方法、管理コンピュータ、および、業務システム構成変更方法のプログラム
US9626632B2 (en) * 2007-03-26 2017-04-18 International Business Machines Corporation Apparatus, system, and method for logically packaging and delivering a service offering
US9798529B2 (en) * 2009-05-29 2017-10-24 Oracle America, Inc. Java store
US8793348B2 (en) * 2009-09-18 2014-07-29 Group Business Software Ag Process for installing software application and platform operating system
US9135283B2 (en) * 2009-10-07 2015-09-15 Amazon Technologies, Inc. Self-service configuration for data environment
US8335765B2 (en) * 2009-10-26 2012-12-18 Amazon Technologies, Inc. Provisioning and managing replicated data instances
US8484568B2 (en) * 2010-08-25 2013-07-09 Verizon Patent And Licensing Inc. Data usage monitoring per application
US9003141B2 (en) * 2011-11-14 2015-04-07 Ca, Inc. Enhanced software application platform
KR101348401B1 (ko) * 2012-04-12 2014-01-09 주식회사 엘지씨엔에스 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체
EP2842044A4 (en) * 2012-04-26 2015-10-07 Hewlett Packard Development Co PLATFORM TIME ABSTRACTION
US8856382B2 (en) * 2012-07-30 2014-10-07 International Business Machines Corporation On-boarding services to a cloud environment
US9021462B2 (en) * 2013-03-13 2015-04-28 Johnson Controls Technology Company Systems and methods for provisioning equipment
US20140351399A1 (en) 2013-05-24 2014-11-27 Connectloud, Inc. Method and Apparatus for Determining Cloud Infrastructure Service Level Assurance Based on Device Taxonomy
US9760923B1 (en) * 2014-06-18 2017-09-12 Amdocs Software Systems Limited System, method, and computer program for service design and creation
US9436813B2 (en) * 2014-02-03 2016-09-06 Ca, Inc. Multi-tenancy support for a product that does not support multi-tenancy
US10404613B1 (en) * 2014-03-31 2019-09-03 Amazon Technologies, Inc. Placement of control and data plane resources
US10084723B2 (en) * 2014-09-25 2018-09-25 Oracle International Corporation System and method for providing an end-to-end lifecycle in a multitenant application server environment
US9672123B2 (en) * 2014-12-31 2017-06-06 Oracle International Corporation Deploying services on application server cloud with high availability
US9575740B2 (en) * 2015-01-21 2017-02-21 Samsung Electronics Co., Ltd. Apparatus and method for running multiple instances of a same application in mobile devices
US9521194B1 (en) 2015-03-16 2016-12-13 Amazon Technologies, Inc. Nondeterministic value source
US10033604B2 (en) * 2015-08-05 2018-07-24 Suse Llc Providing compliance/monitoring service based on content of a service controller
US9858105B1 (en) * 2015-11-24 2018-01-02 Amazon Technologies, Inc. Service for managing custom virtual machine images
US10021589B2 (en) * 2016-01-26 2018-07-10 Sprint Communications Company L.P. Wireless data system that associates internet protocol ports with quality-of-service for user applications
US11973758B2 (en) * 2016-09-14 2024-04-30 Microsoft Technology Licensing, Llc Self-serve appliances for cloud services platform
US10491689B2 (en) * 2016-09-16 2019-11-26 Oracle International Corporation Centralized monitoring of cloud operations
US10270711B2 (en) * 2017-03-16 2019-04-23 Red Hat, Inc. Efficient cloud service capacity scaling
US10467241B2 (en) * 2017-03-24 2019-11-05 Ca, Inc. Dynamically provisioning instances of a single-tenant application for multi-tenant use
WO2018200851A1 (en) * 2017-04-27 2018-11-01 Citrix Systems, Inc. Methods for enhancing a legacy single tenant application system to a multi-tenant application system with minimal changes
US10346443B2 (en) * 2017-05-09 2019-07-09 Entit Software Llc Managing services instances

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117476A1 (en) * 2002-12-17 2004-06-17 Doug Steele Method and system for performing load balancing across control planes in a data center
EP2299360A1 (en) * 2009-09-18 2011-03-23 Group Business Software AG process for installing a software application and platform operating system
US20140075021A1 (en) * 2012-09-07 2014-03-13 Oracle International Corporation System and method for providing a cloud computing environment
CN105074702A (zh) * 2013-02-28 2015-11-18 亚马逊科技公司 提供单租户和多租户环境的数据库系统
US20150120818A1 (en) * 2013-10-24 2015-04-30 Samsung Sds Co., Ltd. Multi-tenant saas platform and method for automated deployment of connector application, and tenant and service provider using virtual machine
US20160105311A1 (en) * 2014-10-13 2016-04-14 Vmware, Inc. Hybrid service fleet management for cloud providers
US20160182473A1 (en) * 2014-12-19 2016-06-23 Amazon Technologies, Inc. Multi-faceted compute instance identity
CN107113300A (zh) * 2014-12-19 2017-08-29 亚马逊科技公司 多面计算实例身份
CN106897124A (zh) * 2015-12-18 2017-06-27 华为软件技术有限公司 一种多租户请求处理方法、装置及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068807A (zh) * 2020-07-17 2020-12-11 石化盈科信息技术有限责任公司 流程工业应用软件生态系统、开发方法及存储介质
CN112068807B (zh) * 2020-07-17 2023-11-03 石化盈科信息技术有限责任公司 流程工业应用软件生态系统、开发方法及存储介质
CN114885024A (zh) * 2022-04-28 2022-08-09 远景智能国际私人投资有限公司 应用实例的路由方法、装置、设备及介质
CN114885024B (zh) * 2022-04-28 2023-09-12 远景智能国际私人投资有限公司 应用实例的路由方法、装置、设备及介质

Also Published As

Publication number Publication date
EP4357919A2 (en) 2024-04-24
KR102313432B1 (ko) 2021-10-14
US20220121456A1 (en) 2022-04-21
KR102651083B1 (ko) 2024-03-22
EP3616058B1 (en) 2024-03-20
EP3616058A1 (en) 2020-03-04
US20210073006A1 (en) 2021-03-11
KR20220139466A (ko) 2022-10-14
US20240231846A1 (en) 2024-07-11
US10860336B2 (en) 2020-12-08
US11922182B2 (en) 2024-03-05
US11221860B2 (en) 2022-01-11
KR102453818B1 (ko) 2022-10-11
US20190129729A1 (en) 2019-05-02
CN110709819B (zh) 2023-09-19
EP4357919A3 (en) 2024-05-29
KR20200000442A (ko) 2020-01-02
KR20210124543A (ko) 2021-10-14
WO2019083579A1 (en) 2019-05-02
CN117251199A (zh) 2023-12-19

Similar Documents

Publication Publication Date Title
CN110709819B (zh) 管理多单租户SaaS服务
US9760395B2 (en) Monitoring hypervisor and provisioned instances of hosted virtual machines using monitoring templates
US10019279B2 (en) Transparent secure interception handling
US11463306B2 (en) Fast provisioning in cloud computing environments
US8793344B2 (en) System and method for generating a response plan for a hypothetical event
US9354894B2 (en) Pluggable cloud enablement boot device and method that determines hardware resources via firmware
US10031761B2 (en) Pluggable cloud enablement boot device and method
US9389874B2 (en) Apparatus and methods for automatically reflecting changes to a computing solution in an image for the computing solution
US9678984B2 (en) File access for applications deployed in a cloud environment
US11620121B1 (en) Controlling the approval of software updates for computing resources
US10552633B2 (en) Privacy annotation from differential analysis of snapshots
US9588831B2 (en) Preventing recurrence of deterministic failures
US9798571B1 (en) System and method for optimizing provisioning time by dynamically customizing a shared virtual machine
US20200259837A1 (en) Validation of approver identifiers in a cloud computing environment
US20170155715A1 (en) Cloud storage of applications for mobile devices
KR20240025213A (ko) 다중과 단일 테넌트 SaaS 서비스 관리
Copeland et al. Getting started with Azure virtual machines

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
GR01 Patent grant
GR01 Patent grant