KR20240025213A - 다중과 단일 테넌트 SaaS 서비스 관리 - Google Patents
다중과 단일 테넌트 SaaS 서비스 관리 Download PDFInfo
- Publication number
- KR20240025213A KR20240025213A KR1020220103163A KR20220103163A KR20240025213A KR 20240025213 A KR20240025213 A KR 20240025213A KR 1020220103163 A KR1020220103163 A KR 1020220103163A KR 20220103163 A KR20220103163 A KR 20220103163A KR 20240025213 A KR20240025213 A KR 20240025213A
- Authority
- KR
- South Korea
- Prior art keywords
- control plane
- tenant
- instances
- instance
- application
- Prior art date
Links
- 238000007726 management method Methods 0.000 description 42
- 238000002955 isolation Methods 0.000 description 8
- 238000013515 script Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
시스템(10)은, 데이터 프로세싱 하드웨어(372) 상에서 실행되는 제어 평면 관리자에서, 단일 테넌트 SaaS(software-as-a-service) 애플리케이션에 대한 인스턴스 관리 구성 데이터를 수신하는 것; 제어 평면 관리자에서, 단일 테넌트 SaaS 애플리케이션의 이미지(350)를 수신하는 것; 및 제어 평면 관리자에 의해, 인스턴스 관리 구성 데이터에 기초하여 제어 평면을 생성하는 것을 포함한다. 제어 평면은 수신된 이미지에 기초하여 단일 테넌트 SaaS 애플리케이션의 다중 인스턴스들을 생성하고, 그리고 수신된 인스턴스 관리 구성 데이터에 기초하여 단일 테넌트 SaaS 애플리케이션의 인스턴스들을 관리하도록 구성된다. 시스템은 데이터 프로세싱 하드웨어 상에서 제어 평면을 실행하는 것을 또한 포함한다.
Description
본 개시내용은 다중과 단일 테넌트 SaaS(Software-as-a-Service) 서비스의 관리에 관한 것이다.
서비스로서 전달될 소프트웨어(SaaS)의 구축은 일반적으로 다수의 사용자들(“다중테넌시(multi-tenancy)”의 핸들링을 수반한다. 다중과 테넌시를 관리함에 있어서의 하나의 인자는 다수의 고객들(“테넌트들 (tenants)”각각을 효율적이고 안정적으로 격리를 생성할 수 있는 능력이다. 테넌트들 간의 격리는 두 가지 핵심 목표들: 보안 및 성능을 제공한다. 테넌트들이 공유 리소스들에 액세스할 수 있는 경우에, 하나의 테넌트가 다른 테넌트들의 데이터에 액세스할 수 없는 것을 보장하도록 이 액세스를 신중하게 제어해야 한다. 또한, 테넌트들이 핵심 리소스들을 공유할 때, 하나의 테넌트로부터의 리소스 수요의 급증(surge)은 다른 테넌트들을 위축시켜 그들이 저하된 성능을 겪게 할 수 있다. 이것을 “시끄러운 이웃들(noisy neighbors)”문제라고 한다. 극단적으로, 하나의 테넌트가 전체 SaaS 동작을 손상시켜, 다른 모든 테넌트들의 서비스를 중단시킬 수 있다. 따라서, 테넌트들 중 단 하나의 테넌트가 다른 테넌트들에 미치는 영향을 최소화하기 위해 가능한 한 테넌트들을 서로 격리하는 것이 바람직할 수 있다. 그러나, 개별 테넌트들 간의 격리 정도가 더 클수록, 각각의 테넌트 가 개별적으로 프로비저닝(provision)되고 동작되어야 하므로, 아키텍처를 관리하는 것이 더 부담이 된다.
본 개시내용의 구현들은 이하의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 구현들에서, 제어 평면은 단일 테넌트 SaaS 애플리케이션의 인스턴스들의 라이프사이클 관리를 위해 구성된다. 라이프사이클 관 리는 단일 테넌트 SaaS 애플리케이션의 인스턴스들에 대한 생성, 판독, 업데이트, 삭제, 백업, 복원, 재시작, 및 셧다운 동작들을 포함할 수 있다. 인스턴스 관리 구성 데이터는 단일 테넌트 SaaS 애플리케이션의 인스턴스들의 라이프사이클 관리 동작들을 정의한다. 일부 예들에서, 인스턴스 관리 구성 데이터는 단일 테넌트 SaaS 애플리케이션의 인스턴스들의 라이프사이클 관리를 정의하기 위한 복수의 선택 가능한 파라미터들을 포함한다. 일부 구현들에서, 제어 평면은 가상 머신, 가상 머신 클러스터 또는 전용 호스트 디바이스 상에 단일 테넌트 SaaS 애플리케이션의 각각의 인스턴스를 생성하도록 구성된다. 제어 평면은 단일 테넌트 SaaS 애플리케이 션의 각각의 인스턴스에 대한 동작 또는 사용 메트릭들을 평가하도록, 또한 평가된 동작 또는 사용 메트릭들을 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어에 저장하도록 구성될 수 있다. 사용 메트릭들은 레이턴시(latency), 에러들, 바이트 인/아웃(bytes in/out), 및 인스턴스에 대한 호출들, 예를 들어, 또는 애플리케이션의 특수 기능과 관련된 그외 메트릭들을 포함할 수 있다. 일부 구현들에서, 인스턴스 관리 구성 데이터는 단일 테넌트 SaaS 애플리케이션의 인스턴스들을 생성하기 위한 복수의 선택 가능한 파라미터들을 포함한다. 파라미터들은 배치 유형, 서비스 권한들, 가용성, 보안 격리 레벨들, 호스트 위치들, 및 모니터링 및 지원 파라미터들 중 하나 이상을 포함할 수 있다. 일부 예들에서, 인스턴스 관리 구성 데이터는 하나 이상의 미리 정의된 파라미터들을 포함하는 하나 이상의 인스턴스 템플릿(template)들을 포함한다. 본 개시내용의 다른 양태는 데이터 프로세싱 하드웨어 상에서 실행하는 제어 평면 관리자에서 단일 테넌트 SaaS(software-as-a-service) 애플리케이션에 대한 인스턴스 관리 구성 데이터를 수신하는 단계를 포함하는 방법을 제공한다. 제어 평면 관리자는 단일 테넌트 SaaS 애플리케이션의 이미지를 수신하고 인스턴스 관리 구성 데이터에 기초하여 제어 평면을 생성할 수 있다. 제어 평면은 수신된 이미지에 기초하여 단일 테넌트 SaaS 애플리케이션의 다중 인스턴스들을 인스턴스화(instantiate)하도록, 또한 수신된 인스턴스 관리 구성 데이터에 기초하여 단일 테넌트 SaaS 애플리케이션의 인스턴스들을 관리하도록 구성된다. 제어 평면은 인스턴스 관리 구성 데이터에 따라 데이터 프로세싱 하드웨어 상에서 실행된다. 본 양태는 이하의 선택적 특징들 중 하나 이상을 포함할 수 있다. 일부 예들에서, 제어 평면은 단일 테넌트 SaaS 애플리케이션의 인스턴스들의 라이프사이클 관리를 위해 구성된다. 인스턴스들의 라이프사이클 관리는 단일 테넌트 SaaS 애플리케이션에 대한 생성, 판독, 업데이트, 백업, 복원, 재시작, 셧다운, 및 삭제 동작들 을 포함할 수 있다. 단일 테넌트 SaaS 애플리케이션의 인스턴스들의 라이프사이클 관리는 인스턴스 관리 구성 데이터에 의해 정의될 수 있다. 일부 예들에서, 제어 평면은 단일 테넌트 SaaS 애플리케이션의 각각의 인스턴스를 가상 머신 또는 전용 호스트 디바이스 상에 생성 및 배치하도록 구성된다. 제어 평면은 단일 테넌트 SaaS 애플리케이션의 각각의 인스턴스에 대한 동작 또는 사용 메트릭들을 평가하고, 평가된 동작 또는 사용 메트릭들을 데이터 프로세싱 하드 웨어와 통신하는 메모리 하드웨어에 저장하도록 구성될 수 있다. 사용 메트릭들은 예를 들어 레이턴시, 에러들, 바이트 인/아웃, 및 인스턴스에 대한 호출들을 포함할 수 있다. 일부 예들에서, 인스턴스 관리 구성 데이터는 단일 테넌트 SaaS 애플리케이션의 인스턴스들을 생성 및 관리하기 위한 복수의 선택 가능한 파라미터들을 포함한다. 파라미터들은 배치 유형, 서비스 권한들, 가용성, 보안 격리, 호스트 위치, 및 모니터링 및 지원 중 하나 이상을 포함할 수 있다. 또한, 인스턴스 관리 구성 데이터는 하나 이상의 미리 정의된 파라미터들을 포함하는 하나 이상의 인스턴스 템플릿들을 포함할 수 있다. 본 발명의 실시예는 다중과 단일 테넌트 SaaS 서비스 관리 방안을 제공할 것으로 기대된다. 하나의 테넌트가 전체 SaaS 동작을 손상시켜, 다른 모든 테넌트들의 서비스를 중단시킬 수 있다. 따라서, 테넌트들 중 단 하나의 테넌트가 다른 테넌트들에 미치는 영향을 최소화하기 위해 가능한 한 테넌트들을 서로 격리하는 것이 바람직할 수 있다.
본 발명의 실시예에 제공되는 다중과 단일 테넌트 SaaS 서비스 관리 방안에 기반하여, 데이터 프로세싱 하드웨어 및 메모리 하드웨어를 포함하는 시스템을 제공한다. 메모리 하드웨어는 데이터 프로세싱 하드웨어와 통신하고, 데이터 프로세싱 하드웨어 상에서 실행될 때 데이터 프로세싱 하드웨어로 하여금 복수의 동작들을 수행하게 하는 명령어들을 저장한다. 일부 예들에서, 동작들 중 하나는 단일 테넌트 SaaS(software-as-a-service) 애플리케이션에 대한 인스턴스 관리 구성 데이터를 수신하는 것을 포함할 수 있다. 다른 동작은 단일 테넌트 SaaS 애플리케이션의 복수의 실행 가능 이미지들을 수신하는 것을 포함할 수 있다. 이미지들은 가상 머신 이미지들, 컨테이너 이미지들, 또는 가상 머신 이미지들과 컨테이너 이미지들의 조합을 포함할 수 있다. 또 다른 동작은 제어 평면 관리자에 의해 인스턴스 관리 구성 데이터에 기초하여 제어 평면을 생성하는 것을 포함할 수 있다. 제어 평면은 수신된 이미지들에 기초하여 단일 테넌트 SaaS 애플리케이션의 다중 인스턴스들을 생성하고, 그리고 수신된 인스턴스 관리 구성 데이터에 기초하여 단일 테넌트 SaaS 애플리케이션의 인스턴스들을 관리하도록 구성된다. 다른 동작은 데이터 프로세싱 하드웨어 상에 서 제어 평면을 실행하는 것을 포함할 수 있다.
본 발명의 실시예는 다중과 단일 테넌트 SaaS 서비스 관리를 제공하며, SaaS 서비스의 다수의 단일 테넌트 인스턴스들의 인스턴스화 및 동작에 대한 공통 제어 및 관리를 제공할 수 있다. 이는 개별 인스턴스들의 제어된 격리, 서로 다른 인스턴스들 간의 향상된 데이터 보안, 각각의 인스턴스의 성능의 향상된 신뢰성, 테넌트들 및/또는 사용자들 간의 데이터 액세스 및/또는 제어의 향상된 보안, 및 다양한 단일 테넌트 인스턴스들에 대한 리소스 할당의 향상된 효율성의 기술적 이점들을 제공할 수 있다.
도 1은 다중과 단일 테넌트 SaaS(software-as-a-service) 서비스를 관리하기 위한 시스템의 예의 개략도들이다.
일반적으로, 클라우드 소프트웨어 환경들은 단일 소프트웨어 애플리케이션의 다중 인스턴스들을 호스팅 하도록 구성된다. 예를 들어, 전통적으로 로컬로, 이를테면, 데스크톱 컴퓨터 상에서 호스팅될 수 있는 소프트 웨어 애플리케이션의 개별 인스턴스들은 이제 원격 서버 또는 서버들의 집합체 상에서 호스팅되고, SaaS(software-as-a-service) 애플리케이션으로 지칭되는 대로 종량제(pay-as-you-go basis)로 사용자에게 제 공될 수 있다. 일부 SaaS 애플리케이션들에 있어서, 원하는 보안 레벨들을 제공하기 위해 애플리케이션의 인스턴스들은 격리된다. 다수의 고객들 또는 테넌 트들이 SaaS 애플리케이션의 단일의 인스턴스들 중에서 분리되는 다중과 단일 테넌트(MST : Multi & single tenant) SaaS 애플리케이션을 사용하여 높은 레벨의 격리를 달성할 수 있다. MST SaaS 애플리케이션들은 그들의 용도에 적합하지만, 다수의 분리된 인스턴스들을 생성하고 SaaS 애플리케이션의 라이프사이클 전반에 걸쳐 관리(예를 들어, 업데이트, 복구, 삭제)해야 하므로, 개발 및 배치에서 난제들을 제공한다. 인스턴스 생성 및 관리의 효율성을 향상시키기 위해, 클라우드 환경들은 SaaS 애플리케이션의 모든 인스턴스들을 생성 및 관리하기 위한 단 일 허브를 제공하는 제어 평면을 활용할 수 있다. 더 많은 소프트웨어 애플리케이션들이 SaaS 애플리케이션들로 전환함에 따라, MST SaaS 애플리케이션들 에 대한 제어 평면이 생성될 수 있는 속도를 증가시키는 것이 점점 중요해지고 있다. 따라서, 본 개시내용은 특히 MST SaaS 애플리케이션들에 대한 제어 평면의 생성을 자동화하여, 서비스 생산자들(즉, 소프트웨어 개발자 들)이 MST SaaS 애플리케이션들을 신속하게 구현할 수 있게 하는 시스템 및 방법을 제공한다. 도 1은 다중과 단일 테넌트 시스템의 예를 제공한다. 시스템은 복수의 느슨하게 접속된 서버들을 포함하는 분산 시스템을 포함하고, 이들 서버들 각각은 전형적으로 컴퓨팅 리소스(예를 들어, 하나 이상의 컴퓨터 프로세서) 및/또는 저장 리소스들(예를 들어, 물리적 메모리, 플래시 메모리 또는 디스크들)을 포함한다. 시스템은 분산 시스템 상에서 동작하도록 구성된 하나 이상의 가상 머신들을 포함하는 가상 머신(VM) 계층을 포함할 수 있다. 서비스 계층은 SaaS(software-as-a-service)로서 제공될 애플리케이션 이미지의 복수의 인스 턴스들을 포함할 수 있다. 애플리케이션 이미지는 하나 이상의 가상 머신 이미지들, 하나 이상의 컨테이너 이미지들, 또는 가상 머신 이미지들과 컨테이너 이미지들의 조합을 포함할 수 있다. 각각의 애플리케이션 인스턴스는 가상 머신들 중 대응하는 하나 상에 호스팅될 수 있다. 추가로 또는 대안으로, 하나 이상의 애플리케이 션 인스턴스들은 가상 머신을 사용하지 않고 전용 서버 상에서 직접 구현되고 호스팅될 수 있다. 계속해서 시스템은 각각 데이터 프로세싱 하드웨어 및 메모리 하드웨어를 갖는 서버 상에서 동작하도록 구성된 제어 평면 및 제어 평면 관리자를 포함한다. 서버가 분산 시스템의 서버들과 독립적인 단일 서버로 도시되어 있지만, 일부 예들에서, 제어 평면 관리자 및 제어 평면은 분산 시스템의 하나 이상의 서버들 상에서 호스팅될 수 있다. 시스템은, 제어 평면과 통신하고 서비스 계층의 사용 및 동작에 관한 메타데이터, 보다 구체적으로 서비스 계층의 애플리케이션 인스턴스들을 저장하도록 구성된 사용 데이터베이스를 더 포함할 수 있다. 제어 평면 관리자는 일반적으로 애플리케이션 이미지를 수신하도록, 또한 서비스 생산자(즉, 다중과 단일 테넌트 애플리케이션을 제공하는 당사자)에 의해 제공되는 인스턴스 관리 구성 데이터에 기초하여 애플리케이션 이미지에 대한 애플리케이션 제어 평면을 생성하도록 구성 된다. 보다 구체적으로, 제어 평면 관리자는, 제어 평면이 서비스 소비자에 의해 실행되어 애플리케이션 인스턴스들을 생성할 수 있도록, 제어 평면의 생성 및 동작을 정의하는 실행 가능한 스크립 트 또는 로직(logic)을 생성할 수 있다. 새로운 애플리케이션 인스턴스들이 생성될 때 애플리케이션 소비자에 의해 애플리케이션 인스턴스의 다양한 속성들이 선택될 수 있도록, 제어 평면을 정의하는 스크립트를 파라미터화할 수 있다. 제어 평면의 실행 가능한 스크립트를 생성함과 아울러, 제어 평면 관리자는 서비스 소비자들에 의해 제어 평면의 파라미터화된 스크립트에 대한 액세스를 제공하도록 구성된 표준화된 소비자 애플리케이션 프로그래밍 인터페이스(API: Application Programming Interface)를 또한 퍼블리싱(publish)할 수 있다. 인스턴스 관리 구성 데이터는 제어 평면의 생성 및 실행을 위한 복수 의 파라미터들 및/또는 규칙들을 포함할 수 있다. 파라미터들의 일부는 제어 평면의 실행 가능한 스크립트의 생성에 대응하는 고정된 파라미터들일 수 있고, 파라미터들의 다른 부분은 새로운 애플리케이션 인스턴스가 생성될 때 서비스 소비자에 의해 선택될 애플리케이션 인스턴스들의 원하 는 속성들과 관련된 소비자 선택 가능 파라미터들을 포함할 수 있다. 서비스 생산자는 또한 제어 평면 및/또는 애플리케이션 인스턴스들의 가용성을 정의할 수 있다. 가용성의 정의는 애플리케이션 인스턴스들의 생성 및 사용이 허용되는 서비스 소비자들 또는 그룹들의 화이트리스트 및/또는 애플리케이션 인스턴스들의 생성 및 사용이 금지되는 서비스 소비자들 또는 그룹들의 블랙리스트를 포함할 수 있다. 가용성은 서비스 소비자들의 미리 정의된 클래스들 또는 범위들에 기초할 수 있다. 예를 들어, 특정 지리적 영 역들에 있는 서비스 소비자들은 화이트리스트 또는 블랙리스트에 포함될 수 있다. 서비스 생산자는 또한 상이한 서비스 소비자들에 의해 요청될 수 있는 다양한 레벨들의 보안 격리를 정의할 수 있다. 인스턴스 관리 구성 데이터는 허용된 호스트 위치들에 관한 파라미터를 더 포함할 수 있다. 예를 들어, 서비스 생산자는 애플리케이션 인스턴스들이 호스팅될 수 있는 특정 호스팅 플랫폼들(예를 들어, 구글 클라우드 플랫폼, 아마존 웹 서비스들, 마이크로소프트 애저, 로컬 서버 등)을 지정할 수 있다. 따라서, 제어 평면의 배치 스크립트들은 인스턴스 관리 구성 데이터에 기초하여 하나 이상의 호스트 위치들 상에서의 애플리케이션 인스턴스들의 자동 프로비저닝, 생성, 및 동작을 위해 구성될수 있다. 제어 평면의 생성시에, 하나 이상의 파라미터들은 제어 평면에 의해 액세스될 수 있는 하나 이상의 인스턴스 템플릿들에 통합될 수 있다. 인스턴스 템플릿들은 애플리케이션 인스턴스들의 생성 및 사용시에 서비스 소비자들에 의해 일반적으로 사용되는 파라미터들의 조합을 포함할 수 있다. 서비스 생산자가 단일 테넌트 소프트웨어 애플리케이션을 다중과 단일 테넌트(MST) SaaS로서 구현하고 자 하는 경우에, 서비스 생산자는 제어 평면 관리자에 제공된 인스턴스 관리 구성 데이터에 포함 될 파라미터들을 입력하거나 선택할 것이다. 이어서, 제어 평면 관리자는 인스턴스 관리 구성 데이터에 기초하여 제어 평면을 생성하도록 실행된다. 제어 평면은 제어 평면 관리자에 의해 일단 생성되면, 일반적으로 애플리케이션 인스턴스들의 라이프사이클을 관리 및 모니터링하도록 구성된다. 제어 평면은 인스턴스 관리자, 테넌트 관리자, 및 인스턴스 모니터를 포함할 수 있다. 인스턴스 관리자, 테넌트 관리자(또는 서비스 관리자), 및 인스턴스 모니터는 개별 모듈로서 도시되어 있지만, 일체로 구성될 수 있으며, 여기서 각각의 모듈과 연관된 태스크들은 단일 프로그램에 의해 실행된다. 제어 평면은 애플리케이션 이미지와, 하나 이상의 인스턴스 템플릿들을 포함하는 인스턴스 관리 구성 데이터를 더 포함할 수 있다. 인스턴스 관리자는 애플리케이션 인스턴스들 각각의 라이프사이클 관리를 자동화하도록, 또한 복수의 라이프사이클 관리 커맨드들을 서비스 계층 에 통신하도록 구성된다. 라이프사이클 관리 커맨드들은 개별 애플리케이션 인스턴스들의 생성, 판독, 업데이트, 삭제, 백업 및 복원, 재시작, 및 셧다운을 위한 동작들에 대응할 수 있다. 인스턴스 관리자가 필요에 따라 애플리케이션 인스턴스에 대한 리소스들을 할당함으로써 가상 머신 또는 서버를 프로비저닝하도록 또한 프로비저닝된 호스트 상에 애플리케이션 인스턴스를 인스턴스화하도록 구성되는 바와 같이, 애플리케이션 인스턴스의 생성은 프로비저닝 및 인스턴스화를 모두 포함할 수 있다. 애플리케이션 인스턴스의 업데이트는 애플리케이션 인스턴스를 새로운 버전으로 진보시키는 것을 포함할 수 있고, 또한 현재 버 전이 바람직하지 않은 상황에서는 애플리케이션 인스턴스를 이전 버전으로 롤백하는 것을 포함할 수 있다. 도시된 바와 같이, 라이프사이클 관리 커맨드들이 어느 한쪽 당사자에 의해 일방적 으로 실행될 수 있도록, 각각의 서비스 생산자 및 서비스 소비자가 인스턴스 관리자에 액세스한다. 그러나, 위에서 소개된 바와 같이, 서비스 생산자는 인스턴스 관리 구성 데이터에서의 서비스 소비자의 권한들을 정의할 수 있다. 서비스 생산자는 서비스 생산자에 의한 하나 이상의 라이프사이클 관리 커맨드들에 대한 액세스 또는 실행을 제한할 권한들을 서비스 소비자에게 제공할 수 있다. 서비스 생산자는 서비스 소비자가 라이프사이클 관리 커맨드들 중 어느 하나의 실행을 "옵트인(opt-in)"하는 것을 허 용할 수 있으며, 여기서 서비스 소비자는 실행을 승인 또는 수락해야 한다. 제어 평면은 일반적으로 서비스 계층의 글로벌 관리 및 모니터링을 제공하도록 구성된 테넌트 관리자를 더 포함할 수 있다. 테넌트 관리자는 서비스 계층에서 애 플리케이션 인스턴스를 갖는 모든 서비스 소비자들을 보여주는 테넌트 리스트를 컴파일하도록 구성될 수 있다. 테넌트 세부 사항들은 각각의 서비스 소비자에 대한 식별 및 인구 통계 정보, 각각 의 서비스 소비자와 연관된 애플리케이션 인스턴스에 할당된 파라미터들, 및 각각의 서비스 소비자와 연관된 현재 버전의 애플리케이션 인스턴스의 리스트를 포함할 수 있다. 테넌트 관리자는 모든 서비스 소비자들에 걸쳐 글로벌 메트릭들을 모니터링하도록 추가로 구성될 수 있다. 테넌트 관리자는 인스턴스 관리자와 유사하지만 전체적으로 서비스 계층과 관련된 기능을 제공하도록 구성된 글로벌 관리자를 포함할 수 있다. 예를 들어, 글로벌 관리자는 모든 애플리 케이션 인스턴스들에 걸쳐 롤링 글로벌 업데이트들을 제공하도록 구성될 수 있다. 글로벌 관리자는 서비스 계층으로부터 모든 서비스 소비자들을 제거하고 마찬가지로 모든 애플리케이션 인스턴스들을 제거함으로써 서비스 계층을 와이프아웃하도록 또한 구성될 수 있다. 서비스 소비자들 및 애플리케이션 인스턴스들이 서비스 계층으로부터 제거되면, 글로벌 관리자는 제 거된 애플리케이션 인스턴스들의 다운 스트림 종속성을 관리하고, 업스트림 서비스들의 모든 대응하는 인 스턴스들을 프로비저닝 해제할 수 있다. 제어 평면은 각각의 애플리케이션 인스턴스의 동작 또는 사용 메트릭들을 평가하 도록 또한 사용 메트릭들을 사용 데이터베이스에 저장하도록 구성된 인스턴스 모니터를 더 포함할 수 있다. 사용 데이터베이스는 서버의 메모리 하드웨어에서 호스팅될 수 있다. 이어서, 평가된 메트릭들은 각각의 서비스 소비자와 연관된 메타 데이터로서 사용 데이터베이스에 저장된다. 이어서, 사용 메트릭들은 사용 데이터베이스로부터 원하는 분석 소프트웨어(미도시)로 전달될 수 있다.
Claims (1)
- 데이터 프로세싱 하드웨어; 및 상기 데이터 프로세싱 하드웨어와 통신하는 메모리 하드웨어를 포함하고, 상기 메모리 하드웨어는, 상기 데이터 프로세싱 하드웨어 상에서 실행될 때, 상기 데이터 프로세싱 하드웨어로 하여금 동작들을 수행하게 하는 명령어들을 저장하고, 상기 동작들은: 상기 데이터 프로세싱 하드웨어 상에서 실행되는 제어 평면 관리자에서, 복수의 단일 테넌트(single-tenant) SaaS(Software-as-a-Service) 애플리케이션들 각각에 대한 인스턴스 관리 구성 데이터를 수신하는 동작 ― 각각 의 단일 테넌트 SaaS 애플리케이션에 대한 상기 인스턴스 관리 구성 데이터는 (i) N개의 테넌트들에 대한 대응 하는 단일 테넌트 SaaS 애플리케이션의 N개의 인스턴스들을 실행하기 위한 복수의 파라미터들 및 (ii) 대응하는 제어 평면의 생성 및 실행을 위한 규칙들을 포함함 ―; 상기 제어 평면 관리자에서, 상기 복수의 단일 테넌트 SaaS 애플리케이션들 각각의 이미지를 수신하는 동작; 상기 제어 평면 관리자에 의해, 대응하는 상기 수신된 인스턴스 관리 구성 데이터에 기초하여 각각의 단일-테넌 트 SaaS 애플리케이션에 대한 대응하는 제어 평면을 생성하는 동작 ― 각각의 제어 평면은 대응하는 상기 수신 된 이미지에 기초하여 대응하는 상기 단일 테넌트 SaaS 애플리케이션의 상기 N개의 인스턴스들을 생성하고, 그 리고 대응하는 상기 수신된 인스턴스 관리 구성 데이터에 기초하여 대응하는 상기 단일 테넌트 SaaS 애플리케이 션의 상기 N개의 인스턴스들을 관리하도록 구성되고, 상기 N개의 인스턴스들의 각각의 인스턴스는 대응하는 상 기 단일 테넌트 SaaS 애플리케이션의 상기 N개의 테넌트들의 개별적인 테넌트에 대해 실행됨 ― ; 및 상기 데이터 프로세싱 하드웨어 상에서 각각의 제어 평면을 실행하는 동작 을 포함하는, 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220103163A KR20240025213A (ko) | 2022-08-18 | 2022-08-18 | 다중과 단일 테넌트 SaaS 서비스 관리 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020220103163A KR20240025213A (ko) | 2022-08-18 | 2022-08-18 | 다중과 단일 테넌트 SaaS 서비스 관리 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20240025213A true KR20240025213A (ko) | 2024-02-27 |
Family
ID=90058595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020220103163A KR20240025213A (ko) | 2022-08-18 | 2022-08-18 | 다중과 단일 테넌트 SaaS 서비스 관리 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20240025213A (ko) |
-
2022
- 2022-08-18 KR KR1020220103163A patent/KR20240025213A/ko unknown
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11178207B2 (en) | Software version control without affecting a deployed container | |
US11321130B2 (en) | Container orchestration in decentralized network computing environments | |
US9600262B2 (en) | System, method and program product for updating virtual machine images | |
CN105897805B (zh) | 对多层架构的数据中心的资源进行跨层调度的方法和装置 | |
Yang et al. | A profile-based approach to just-in-time scalability for cloud applications | |
KR102313432B1 (ko) | 다중―단일―테넌트 SaaS 서비스들의 관리 | |
US10884764B1 (en) | Optimizing managed runtime applications for serverless environments | |
US10338910B2 (en) | Multi-tenant upgrading | |
WO2022100439A1 (en) | Workflow patching | |
US20220229689A1 (en) | Virtualization platform control device, virtualization platform control method, and virtualization platform control program | |
CN118056183A (zh) | 优化即时编译过程 | |
US11461131B2 (en) | Hosting virtual machines on a secondary storage system | |
CN109189551A (zh) | 一种创建中间件的方法、装置及计算机存储介质 | |
KR20240025213A (ko) | 다중과 단일 테넌트 SaaS 서비스 관리 | |
US20240152371A1 (en) | Dynamic re-execution of parts of a containerized application pipeline | |
US11928460B2 (en) | Dynamic update of a computer program in memory | |
CN115604101B (zh) | 系统管理方法及相关设备 | |
US11953972B2 (en) | Selective privileged container augmentation | |
US11943292B2 (en) | Extend controller for multi-tenancy | |
CN116661813A (zh) | 一种应用升级方法、装置及存储介质 | |
CN117453339A (zh) | 分布式架构管理系统、微服务平台、设备和存储介质 |