TW202020659A - System and methods for rapid deployment of containerized applications - Google Patents

System and methods for rapid deployment of containerized applications Download PDF

Info

Publication number
TW202020659A
TW202020659A TW107141966A TW107141966A TW202020659A TW 202020659 A TW202020659 A TW 202020659A TW 107141966 A TW107141966 A TW 107141966A TW 107141966 A TW107141966 A TW 107141966A TW 202020659 A TW202020659 A TW 202020659A
Authority
TW
Taiwan
Prior art keywords
software service
software
user
template
container
Prior art date
Application number
TW107141966A
Other languages
Chinese (zh)
Other versions
TWI679580B (en
Inventor
張屹銘
Original Assignee
中華電信股份有限公司
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 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW107141966A priority Critical patent/TWI679580B/en
Application granted granted Critical
Publication of TWI679580B publication Critical patent/TWI679580B/en
Publication of TW202020659A publication Critical patent/TW202020659A/en

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The disclosure provides a system and methods for rapid deployment of containerized applications. In the disclosure, one or multiple applications are combined to construct a configuration file of containerized applications based on a descriptive file combination and transformed to be configuration data related to at least one container management cluster and an interdependence between one or multiple applications. The user changes parameters via various interfaces provided by the system, and the system accordingly checks the resource condition and the interdependence configuration of the container management cluster. The disclosure technically solve the difficulties of inter container cluster systems, while allowing the user to construct the cluster of applications and activate the applications rapidly, such that the problems of limited invokable applications of the system can be solved.

Description

快速提供容器化軟體服務之系統及其方法System and method for quickly providing containerized software service

本發明一般涉及容器計算環境提供軟體服務的系統與方法。更具體地,本發明的示例性實施例涉及用於將軟體服務部署到多種容器管理叢集環境上與快速提供軟體服務的系統和方法。The present invention generally relates to a system and method for providing software services in a container computing environment. More specifically, exemplary embodiments of the present invention relate to systems and methods for deploying software services to multiple container management cluster environments and quickly providing software services.

LXC (Linux Containers)即容器又或稱軟體容器是一種電腦OS層的虛擬化技術,容器可以採用打包(例如影像檔)的形式,其可以包括:軟體服務、軟體服務依賴性(例如,軟體使用的服務)、軟體服務運行環境(例如環境變量,特權等)、軟體庫、其他可執行文件和配置文件,將其打包成一個軟體容器(Container)。LXC (Linux Containers), also known as containers or software containers, is a virtualization technology at the computer OS layer. Containers can be packaged (such as image files), which can include: software services, software service dependencies (for example, software use Services), software service operating environment (such as environment variables, privileges, etc.), software libraries, other executable files and configuration files, packaged into a software container (Container).

Docker軟體專案讓容器裡面的軟體服務可以自動化運行於實體電腦裝置或是虛擬機的作業系統上,並且提供一個隔離的沙箱機制,讓軟體容器不互相影響,只有很微小的負擔(overhead),很多容器可以在同一個電腦系統上運行。The Docker software project allows the software services in the container to be automatically run on the operating system of the physical computer device or virtual machine, and provides an isolated sandbox mechanism so that the software containers do not affect each other, with only a slight overhead. Many containers can run on the same computer system.

容器集群系統(例如Kubernetes、Mesos、Docker Swarm等)提供管理容器叢集的功能。容器集群管理系統的主要功能包括:使用Docker或類似的技術對軟體服務進行打包、實例(instance)化及運行;以集群的方式運行及管理跨主機的容器;解決位於不同主機之間所運行的容器之間的通信問題等等。為簡化容器/容器群集部署,容器或容器群集通常模組化後作為服務提供。容器即服務(CaaS, Container as a Service)是指基於容器的虛擬化,其涉及將容器集群管理,容器編排和底層計算資源作為服務(例如,來自雲基礎設施提供商)交付給最終用戶。軟體服務開發人員通常使用CaaS解決方案來部署基於容器的新軟體服務。Container cluster systems (such as Kubernetes, Mesos, Docker Swarm, etc.) provide functions to manage container clusters. The main functions of the container cluster management system include: using Docker or similar technologies to package, instantiate and run software services; run and manage containers across hosts in a clustered manner; solve the problems of running between different hosts Communication problems between containers, etc. To simplify container/container cluster deployment, containers or container clusters are usually modularized and provided as services. Container as a Service (CaaS, Container as a Service) refers to container-based virtualization, which involves the delivery of container cluster management, container orchestration, and underlying computing resources as services (for example, from cloud infrastructure providers) to end users. Software service developers usually use CaaS solutions to deploy new container-based software services.

然而在傳統方案中,對於期望在容器集群上部署一個或多個軟體服務的使用者,部署軟體服務的過程可能是低效且麻煩的。例如,對於基於容器的軟體服務,即使將容器集群作為CaaS提供,不同容器集群系統提供的CaaS可能在應用服務部署也有所不同。因此,應用服務開發人員經常面臨重寫代碼或重新配置軟體服務參數的任務,如果他們計劃在多個容器集群系統上部署基於容器的軟體服務,這樣做效率低、繁瑣,且增加了出錯的可能性並增加了軟體服務維護成本。此外,軟體服務的使用者在得到軟體服務的實例之前,常常也是需要花很長的時間來做多個軟體服務相互關係的釐清以及配置的設計,這樣做不只耗費時間,也增加了啟動軟體服務失敗的可能性。However, in traditional solutions, for users who wish to deploy one or more software services on a container cluster, the process of deploying software services may be inefficient and cumbersome. For example, for container-based software services, even if the container cluster is provided as CaaS, the CaaS provided by different container cluster systems may be different in the application service deployment. Therefore, application service developers often face the task of rewriting code or reconfiguring software service parameters. If they plan to deploy container-based software services on multiple container cluster systems, this is inefficient, cumbersome, and increases the possibility of errors Increase the maintenance cost of software services. In addition, users of software services often need to spend a long time to clarify the relationship between multiple software services and design the configuration before obtaining an instance of the software service. This not only consumes time, but also increases the activation of software services. The possibility of failure.

本案發明人鑑於上述傳統方案的各項缺點,乃亟思加以改良創新,成功研發完成本件應用於快速提供容器化軟體服務之系統及其方法。In view of the shortcomings of the above-mentioned traditional solutions, the inventor of the present case is anxious to improve and innovate, and successfully developed and applied this system and method for rapidly providing containerized software services.

為了達到上述發明目的,本發明的一個態樣可以是快速提供容器化軟體服務之系統,系統運作於一個或多個實體伺服器或虛擬機或實體機與虛擬機混和運作的叢集。此系統包含一或多個軟體應用程式、一或多個資料庫、一或多個伺服器、一或多個工具程式以及一或多個軟體容器。該些伺服器係用以執行該些軟體容器,不限制於實體裝置或是虛擬機器;而該些軟體容器則是用於承載此系統本身與相關應用程序;該些軟體應用程式包括底層運作主程序、API以及上層使用者介面等軟體程序;該些工具程式係用以收集該些軟體應用程式的應用程式資料,並將應用程式資料儲存於該些資料庫當中。In order to achieve the above object of the invention, one aspect of the present invention may be a system for quickly providing containerized software services. The system operates on one or more physical servers or virtual machines or a cluster of physical machines and virtual machines mixed to operate. The system includes one or more software applications, one or more databases, one or more servers, one or more tools, and one or more software containers. The servers are used to execute the software containers, not limited to physical devices or virtual machines; and the software containers are used to host the system itself and related applications; the software applications include the underlying operating host Software programs such as procedures, APIs, and upper-layer user interfaces; these tools are used to collect application data of these software applications and store the application data in these databases.

為了達到上述目的,本發明的一個態樣可以是建立容器化軟體服務樣板(template)之方法。此方法可包含下列步驟:一個或是多個軟體服務,使用有效的標誌語言(例如JSON超集),特定配置成為類型基於人類可讀的文本格式(textual format)的訊息;此文本格式訊息由上述系統轉換成可跨系統使用的軟體服務樣板資料,資料內容包括各種軟體常數、變數與權限控制等訊息,並由該系統儲存資料至資料庫;該系統依照接收到的指令不同,可以執行新增、刪除以及修改樣板等等的任務。In order to achieve the above object, one aspect of the present invention may be a method of creating a containerized software service template. This method can include the following steps: one or more software services, using an effective markup language (such as JSON superset), specifically configured to be a type of message based on a human-readable text format (textual format); this text format message is The above system is converted into model data of software services that can be used across systems. The content of the data includes various software constants, variables, and permissions control. The system stores the data in the database; the system can execute new data according to the instructions received. Add, delete, and modify templates, etc.

為了達到上述目的,本發明的一個態樣可以是建立容器化軟體服務實例之方法。此方法可包含下列步驟:一個軟體服務的使用者,使用此系統提供的介面(例如圖形化介面以及API),通過權限驗證取得可使用的軟體服務樣板清單;於清單上選擇想要啟用的軟體服務,依照需求提供最少的變數與軟體控制相關資訊;此系統判斷使用者命令後,依照使用者需求選擇目標容器集群系統,並且透過容器集群系統部署一個或多個軟體容器並組合成目標軟體服務;該系統依照環境不同提供使用者所需要的軟體使用說明與必須的資料(例如資料庫服務提供使用者登入帳號密碼)。In order to achieve the above object, one aspect of the present invention may be a method of creating a containerized software service instance. This method can include the following steps: a user of a software service, using the interface provided by the system (such as a graphical interface and an API), through authorization verification to obtain a list of available software service templates; select the desired software on the list Service, provide the minimum variables and software control related information according to the demand; this system determines the user command, selects the target container cluster system according to the user's needs, and deploys one or more software containers through the container cluster system and combines into the target software service ; The system provides the software instructions and necessary data required by the user according to different environments (for example, the database service provides the user login account password).

本發明提出快速提供容器化軟體服務之系統及其方法綜合上面所描述的態樣以及各種可能的延伸態樣,本發明可以將軟體服務透過文本格式訊息轉化成可動態適應容器集群系統的樣板,以便讓軟體服務使用者依照其需求快速啟用一個或多個軟體服務。The present invention proposes a system and method for quickly providing containerized software services that integrate the above-described aspects and various possible extensions. The present invention can convert software services into text-formatted templates that can be dynamically adapted to the container cluster system through text format messages. In order to allow software service users to quickly activate one or more software services according to their needs.

以上內容呈現了本發明的摘要說明(涵蓋了本發明解決的問題、採用的手段以及達到的功效),用以提供對本發明的基本理解。以上內容並非有意概括本發明的所有態樣。另外,以上內容既不是為了確認本發明的任一或所有態樣的關鍵或必要元件,也不是為了描述本發明的任一或所有態樣的範圍。上述內容的目的僅是以一簡單形式來呈現本發明的部分態樣的某些概念。The above content presents a summary description of the present invention (covering the problems solved by the present invention, the means adopted and the effects achieved), in order to provide a basic understanding of the present invention. The above content is not intended to summarize all aspects of the invention. In addition, the above content is neither a key or necessary element for confirming any or all aspects of the invention, nor is it for describing the scope of any or all aspects of the invention. The purpose of the foregoing is to present some concepts of some aspects of the invention in a simple form.

為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。In order to make the above-mentioned features and advantages of the present invention more obvious and understandable, the embodiments are specifically described below and described in detail in conjunction with the accompanying drawings.

本發明係揭露一種快速提供容器化軟體服務之系統及其方法。在本發明中,一個或是多個應用軟體,經由此系統的管理者藉由系統提供的圖形化介面,組合建立成為容器化軟體服務的描述檔案,此描述檔案包括各種軟體常數、變數與權限控制等訊息,轉化成跨系統格式之後存在於此系統資料庫中。獲得系統授權的軟體使用者在驗證權限後,透過系統提供的使用者介面,依照需要改變參數數值或是不改變參數數值,即可部署出由一個或是多個容器化軟體所組合出的軟體服務。The present invention discloses a system and method for quickly providing containerized software services. In the present invention, one or more application softwares are combined to create a description file of a containerized software service through a graphical interface provided by the system administrator through the system. The description file includes various software constants, variables and permissions Information such as control is converted into a cross-system format and exists in this system database. After verifying the authority, the software user authorized by the system can deploy the software composed of one or more containerized software through the user interface provided by the system, changing the parameter value or not according to the need. service.

雖然下面文中描述各圖中有說明特定稱號,但是在各種實施例中,圖中所說明之特定模組、資料庫、程序及使用者介面可被重複、重新命名、與其他所說明實體組合、劃分成額外實體,或省略。另外,雖然特定模組集合可在本文中被描述為出現於各種組合內,但此術語未必應被理解為隱含本文中描述之實體之操作的任何特定排序,亦不隱含資訊流程之任何特定方向性。Although the following description describes specific titles in the figures, in various embodiments, the specific modules, databases, procedures, and user interfaces illustrated in the figures may be repeated, renamed, and combined with other described entities, Divided into additional entities, or omitted. In addition, although a particular set of modules can be described in this document as appearing in various combinations, this term should not be understood as implying any specific ordering of the operations of the entities described herein, nor any of the information flow. Specific directionality.

請參閱圖1所示,為快速提供容器化軟體服務之系統及其方法之架構圖。在各種實施例中,本系統可包括使用者入口100,其可用於使用者權限驗證等管理以及便利使用者與系統互動,另外可以用於使用者資訊之呈現,例如,關於軟體服務樣板之新增、修改、刪除及啟動軟體服務。在各種實施例中,使用者入口100可包括使用者權限管理模組101,其可包含使用者對於以下權限的控制,諸如樣板建立修改刪除、啟用服務權限以及優先權控制等等,其權限資訊保存在或不保存在本系統的持久性儲存資料庫之中,但是皆必須以安全方法存取相關權限資訊。使用者入口100亦可包括使用者介面102,其可提供各種資訊之呈現、提供管理者使用者權限管理操作介面,以及提供使用者互動的功能。Please refer to FIG. 1 for the architecture diagram of a system and method for rapidly providing containerized software services. In various embodiments, the system may include a user portal 100, which may be used for user authorization verification management and user interaction with the system, and may be used to present user information, such as new software service templates Add, modify, delete and activate software services. In various embodiments, the user portal 100 may include a user rights management module 101, which may include user control of the following rights, such as template creation, modification, deletion, service permission, and priority control. It is stored in or not stored in the persistent storage database of this system, but all must access the relevant authority information in a safe way. The user portal 100 may also include a user interface 102, which may provide a variety of information presentations, provide an administrator user rights management operation interface, and provide user interaction functions.

在各種實施例中,使用者介面102可以經由中心管理程序110協調樣板管理模組112以及容器叢集配適模組113,由資料庫模組120取得資料並且調整配適後以整理使用者請求關於軟體服務樣板之資訊,且作為回應而向使用者呈現可用之軟體服務樣板資訊,例如,來自軟體服務樣板之目錄以及軟體服務樣板之可用清單。在各種實施例中,使用者入口100可經由自使用者接收互動以執行使用者命令任務,例如,新增軟體服務樣板或啟用軟體服務。在各種實施例中,使用者入口100可經組配以將各種使用者命令任務結果呈現給使用者。在各種實施例中,使用者入口100亦可在必要時例如在完成服務後就向使用者請求回饋。In various embodiments, the user interface 102 can coordinate the template management module 112 and the container cluster adaptation module 113 through the central management program 110, and the database module 120 obtains data and adjusts the adaptation to organize user requests. Software service template information, and in response presents the available software service template information to the user, for example, from the catalog of software service templates and the available list of software service templates. In various embodiments, the user portal 100 may perform user command tasks by receiving interaction from the user, for example, adding a software service template or enabling a software service. In various embodiments, the user portal 100 may be configured to present the results of various user command tasks to the user. In various embodiments, the user portal 100 may also request feedback from the user when necessary, for example, after completing the service.

在各種實施例中,本系統可包括資料庫(DATABASE)模組120,其功能為持續性儲存,其可包括一或多個資料庫。在各種實施例中,可理解,資料庫模組120可包括各式各樣儲存裝置或系統。資料庫模組120可包括軟體影像檔資料庫121,其可經組配以儲存諸如但不限於以下各者之資訊:軟體容器的影像檔案、軟體容器影像來源紀錄、軟體容器影像各版本紀錄、軟體容器影像依賴關係及其他相關資訊。資料庫模組120亦可包括軟體樣板資料庫122,其可經組配以儲存諸如但不限於以下各者之資訊:軟體容器樣板描述、軟體服務資訊、軟體服務實例、依賴包訊息、基本軟體啟動順序等等。資料庫模組120亦可包括軟體供應紀錄資料庫123,其可經組配以儲存諸如但不限於以下各者之資訊:軟體服務供應樣板來源、軟體服務供應樣板建立資訊、軟體服務需求者、軟體服務啟動日期、軟體服務啟動報告等等。資料庫模組120亦可包括權限資料庫124,其可經組配以儲存諸如但不限於以下各者之資訊:使用者相對於軟體服務樣板使用權限資訊、使用者相對於軟體服務啟動權限資訊、軟體服務樣板建立者權限資訊、軟體服務啟用者權限資訊、系統管理者權限資訊等等。雖然資料庫模組120在圖1中被說明為包括軟體影像檔資料庫121、軟體樣板資料庫122、軟體供應紀錄資料庫123及權限資料庫124,但在各種實施例中,資料庫模組120可依照使用情況與需求使用其他不同資料庫或任何適合架構來儲存資訊。在各種實施例中,資料庫模組120可分佈於多個系統及/或裝置之間。In various embodiments, the system may include a DATABASE module 120 whose function is persistent storage, which may include one or more databases. In various embodiments, it can be understood that the database module 120 may include various storage devices or systems. The database module 120 may include a software image file database 121, which may be configured to store information such as but not limited to the following: software container image files, software container image source records, software container image version records, Software container image dependencies and other related information. The database module 120 may also include a software model database 122, which may be configured to store information such as but not limited to the following: software container model description, software service information, software service instance, dependent package information, basic software Startup sequence, etc. The database module 120 may also include a software supply record database 123, which may be configured to store information such as but not limited to the following: software service supply model source, software service supply model creation information, software service demanders, Software service activation date, software service activation report, etc. The database module 120 may also include a permission database 124, which may be configured to store information such as, but not limited to, the following: user relative software service template usage permission information, user relative software service activation permission information Permission information for creators of software service templates, permission information for software service enablers, permission information for system administrators, etc. Although the database module 120 is illustrated in FIG. 1 as including a software image file database 121, a software model database 122, a software supply record database 123, and a rights database 124, in various embodiments, the database module 120 can use other different databases or any suitable structure to store information according to usage and needs. In various embodiments, the database module 120 may be distributed among multiple systems and/or devices.

在各種實施例中,本系統可包括中心管理程序110。中心管理程序110可提供各種介面,例如,使用者圖像介面(UI)或應用程式介面(API),其可由使用者介面102或由與本系統內通訊之各模組或程序使用。在各種實施例中,可理解,此等介面可包括諸如表現層狀態轉換RESTful API(Representation State Transfer API)或終端機命令列(Terminal command-line)之介面,但不限於此等實例。In various embodiments, the system may include a central management program 110. The central management program 110 can provide various interfaces, such as a user graphical interface (UI) or an application program interface (API), which can be used by the user interface 102 or by various modules or programs that communicate with the system. In various embodiments, it can be understood that such interfaces may include interfaces such as a RESTful API (Representation State Transfer API) or a terminal command-line, but are not limited to these examples.

請參閱圖2所示,為建立容器化軟體服務樣板(template)之方法流程圖。圖2說明根據各種實施例的存取軟體服務樣板之實例方法200。雖然圖2說明用於實例方法200之特定實例操作,但在各種實施例中,實例方法200可包括額外操作,省略所說明操作,及/或組合所說明操作。Please refer to FIG. 2 for a flowchart of a method for creating a containerized software service template. FIG. 2 illustrates an example method 200 for accessing software service templates according to various embodiments. Although FIG. 2 illustrates specific example operations for example method 200, in various embodiments, example method 200 may include additional operations, omit the illustrated operations, and/or combine the illustrated operations.

在各種實施例中,實例方法200可由圖1所示系統之一或多個實例執行。在各種實施例中,建立容器化軟體服務樣板可由使用者(軟體服務樣板建立者)與使用者入口100互動,透過操作使用者介面102經過使用者權限管理模組101驗證後通過流程內驗證軟體服務樣板建立者權限201。使用者獲得權限後得以進入編輯軟體服務樣板介面,開始進入流程202存取軟體服務樣板,此處存取樣板包括新增刪除修改樣板的動作,此流程與標誌語言模組111交互,標誌語言模組111組配分析使用者端輸入之標誌語言,轉換跨容器管理叢集系統通用樣板內容,達成建立或更新一個或多個軟體服務樣板的動作。之後,流程進入建立或更新軟體服務樣板203,經由系統轉化成關於容器管理叢集和軟體服務之間的相互依賴性的配置數據。進入流程205建立任務報告,將數據與動作內容與結果透過記錄模組114進入持久性儲存,同時進入開放軟體服務啟用的決定流程,由使用者透過報告資料決定是否開放樣板修改結果,若是暫時不開放可以選擇暫時存為樣板草稿進入流程206或是刪除前述變更的軟體服務樣板進入流程207,若決定開放則是將此軟體服務樣板開放給指派權限的軟體服務使用者,作為啟動軟體服務的樣板進入流程206。In various embodiments, the example method 200 may be performed by one or more examples of the system shown in FIG. In various embodiments, a containerized software service template can be created by a user (software service template creator) interacting with the user portal 100, through the operation user interface 102, after being authenticated by the user rights management module 101, and then through the in-process authentication software Service template creator authority 201. After the user obtains the permission, he can enter the editing software service template interface, and enter the process 202 to access the software service template. Here, accessing the template includes adding, deleting, and modifying templates. Group 111 is configured to analyze the markup language input by the user terminal, convert the common template content of the cross-container management cluster system, and achieve the action of creating or updating one or more software service templates. After that, the process proceeds to create or update a software service template 203, which is converted into configuration data about the interdependence between the container management cluster and the software service through the system. Enter the process 205 to create a task report, enter the data and action content and results into the persistent storage through the recording module 114, and enter the decision process for opening the open software service. The user determines whether to open the template to modify the results through the report data. Open can choose to temporarily save as a draft template to enter the process 206 or delete the previously changed software service template to enter the process 207, if you decide to open it, this software service template is opened to software service users with assigned permissions as a template to start the software service Go to process 206.

以上最後變更決定都由樣板管理模組112執行保存並且與紀錄模組114交互組配,然後透過軟體樣板資料庫122儲存持續性資料。在流程206建立軟體服務樣板的狀態報告之後,可以重複上述方法流程進行其他軟體服務樣板的新增刪除修改動作,或是遞交軟體服務樣板變更報告即流程208並且透過紀錄模組114至軟體供應紀錄資料庫123將軟體供應的資料紀錄下來,其可經組配以儲存諸如但不限於以下各者之資訊:軟體服務供應樣板影像檔來源、軟體服務供應樣板建立資訊、軟體服務樣板建立者、軟體服務樣板使用權限關聯資料、軟體服務樣板建立摘要報告。The final change decision above is performed by the template management module 112 and saved and interacted with the recording module 114, and then the persistent data is stored through the software template database 122. After the status report of the software service template is created in the process 206, the above method flow can be repeated to add, delete and modify other software service templates, or submit the software service template change report that is the process 208 and through the recording module 114 to the software supply record The database 123 records software supply data, which can be configured to store information such as but not limited to: software service supply model image file source, software service supply model creation information, software service model creator, software Service template usage permission related data and software service template create summary report.

請參閱圖3所示,為建立容器化軟體服務實例之方法流程圖。圖3說明根據各種實施例的建立容器化軟體服務實例方法300。雖然圖3說明用於實例方法300之特定實例操作,但在各種實施例中,實例方法300可包括額外操作,省略所說明操作,及/或組合所說明操作。Please refer to Figure 3 for a flow chart of a method for creating a containerized software service instance. FIG. 3 illustrates an example method 300 of creating a containerized software service according to various embodiments. Although FIG. 3 illustrates specific example operations for example method 300, in various embodiments, example method 300 may include additional operations, omit the illustrated operations, and/or combine the illustrated operations.

在各種實施例中,實例方法300可由圖1所示系統之一或多個實例執行。建立容器化軟體服務樣板可由使用者(軟體服務使用者)與使用者入口100互動,透過操作使用者介面102經過使用者權限管理模組101驗證後通過流程內驗證軟體服務使用者權限301,使用者獲得權限後得以進入軟體服務目錄與清單介面。流程302表示使用者可以經由樣板管理模組112取得軟體服務樣板,決定要啟動的軟體服務後。在流程303,依照使用者需求選擇目標容器集群系統,並且透過容器叢集配適模組113檢查容器管理叢集的資源情況與依賴性配置,在容器集群系統部署一個或多個軟體容器,並組配成目標軟體服務並且啟動軟體服務。若是啟動軟體服務失敗並且無法定位錯誤,進入流程304結束此方法,而其他的所有情形則會進入流程305軟體服務建立任務的狀態報告。在流程305之後,使用者可以選擇是否繼續建立其他軟體服務。在使用者建立軟體服務的任務全部結束之後進入流程306產生結束報告,報告資訊內容可經組配以儲存諸如但不限於以下各者之資訊:軟體服務簡介、軟體服務操作說明、軟體服務連接手法與資訊、軟體服務使用者帳號密碼、軟體服務健康狀態以及軟體服務限制,並且由紀錄模組114紀錄所有關於此次啟動軟體服務相關的資訊,資訊內容可經組配以儲存諸如但不限於以下各者之資訊:軟體服務供應樣板來源、軟體服務建立資訊、軟體服務需求者、軟體服務啟動日期、軟體服務啟動摘要報告。In various embodiments, the example method 300 may be performed by one or more examples of the system shown in FIG. Create a containerized software service template that can be used by users (software service users) to interact with the user portal 100, through the operation user interface 102, after verification by the user rights management module 101, through the process to verify the software service user rights 301, use After gaining permission, the user can enter the software service directory and list interface. The process 302 indicates that the user can obtain the software service template through the template management module 112 and decide which software service to start. In process 303, the target container cluster system is selected according to the user's needs, and the resource situation and dependency configuration of the container management cluster are checked through the container cluster adaptation module 113, and one or more software containers are deployed in the container cluster system and configured Target software service and start software service. If the start of the software service fails and the error cannot be located, enter the process 304 to end the method, and in all other cases, enter the process 305 software service creation task status report. After the process 305, the user can choose whether to continue to create other software services. After the user’s task of creating a software service is completed, the process 306 is entered to generate an end report. The content of the report information can be configured to store information such as but not limited to the following: software service introduction, software service operating instructions, software service connection method Information, software service user account password, software service health status, and software service restrictions, and the recording module 114 records all information related to the activation of the software service. The information content can be configured to store such as but not limited to the following The information of each party: the source of the software service supply model, the software service creation information, the software service demander, the software service activation date, and the software service activation summary report.

儘管以上實施方法描述中已出於說明之目的而提及某些實施例,但在不脫離本發明之範疇的情況下,可用經其他手法以達成相同目的之各種各樣之替代及/或等效實施例或實施方案來取代所展示及描述之實施例。本申請案意欲涵蓋本文中論述之實施例的任何調適或變化。因此,顯然希望本文中描述之實施例僅受到申請專利範圍限制。Although the above description of the implementation method has mentioned some embodiments for the purpose of illustration, without departing from the scope of the present invention, various alternatives and/or etc. can be achieved by other means to achieve the same purpose Examples or implementations to replace the examples shown and described. This application is intended to cover any adaptations or variations of the embodiments discussed herein. Therefore, it is obvious that the embodiments described herein are only limited by the scope of the patent application.

[特點及功效][Features and effects]

先前傳統的技術主要是以封閉式設置軟體服務樣板,並且只能面向單一容器管理叢集系統提供軟體服務。本發明快速提供容器化軟體服務之系統及其方法,與其他習用技術相互比較時,更具備下列優點:The previous traditional technology is mainly based on a closed set of software service templates, and can only provide software services for a single container management cluster system. The system and method for rapidly providing containerized software services of the present invention have the following advantages when compared with other conventional technologies:

1.    本發明針對不同容器管理叢集系統提供統一樣板,達到跨容器管理叢集系統的特點。1. The present invention provides a unified board for different container management cluster systems to achieve the characteristics of a cross-container management cluster system.

2.    本發明讓使用者自由建立樣板而不受限於系統本身限制,將樣板數量以及可能性最大化。2. The present invention allows users to create templates freely without being limited by the system itself, and maximizes the number and possibility of templates.

3.    本發明針對使用者之便利性,設計使用者管理圖像介面以及其他API,俾使使用者可依照技術能力不同,建立複雜的軟體服務或簡單的啟用軟體服務。3. The present invention is designed for the user's convenience, user management graphic interface and other APIs, so that users can create complex software services or simply enable software services according to different technical capabilities.

4.    本發明針對使用者之便利性,設計使用者管理圖像介面以及其他API,俾使使用者可簡易操作初始化設定與觀察目前叢集架構之資料流路徑,以及目前叢集架構之成員狀態。4. According to the convenience of the user, the present invention designs a user management graphic interface and other APIs, so that the user can easily initialize the settings and observe the data flow path of the current cluster structure and the status of the members of the current cluster structure.

5.    本發明提供的系統符合雲端基本特性(Essential Characteristics)包括:隨選自助服務(On-demand Self-service)、廣泛的網路訪問(Broad Network Access)、資源彙整(Resource Pooling)、快速彈性(Rapid Elasticity)與可測量的服務(Measured Service)。5. The system provided by the present invention conforms to the basic characteristics of the cloud (Essential Characteristics), including: On-demand Self-service, Broad Network Access, Resource Pooling, and rapid flexibility (Rapid Elasticity) and Measured Service.

雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。Although the present invention has been disclosed as above with the embodiments, it is not intended to limit the present invention. Any person with ordinary knowledge in the technical field can make some changes and modifications without departing from the spirit and scope of the present invention. The scope of protection of the present invention shall be subject to the scope defined in the appended patent application.

100:使用者入口101:使用者權限管理模組102:使用者介面110:中心管理程序111:標誌語言模組112:樣板管理模組113:容器叢集配適模組114:紀錄模組120:資料庫模組121:軟體影像資料庫122:軟體樣板資料庫123:軟體供應紀錄資料庫124:權限資料庫200 ~ 208:建立容器化軟體服務樣板之方法之流程300 ~ 306:建立容器化軟體服務實例之方法之流程100: User portal 101: User rights management module 102: User interface 110: Central management program 111: Markup language module 112: Template management module 113: Container cluster adaptation module 114: Recording module 120: Database module 121: software image database 122: software model database 123: software supply record database 124: permission database 200 ~ 208: process flow for creating a containerized software service model 300 ~ 306: creating containerized software Service instance method flow

圖1為快速提供容器化軟體服務之系統及其方法之架構圖; 圖2為建立容器化軟體服務樣板(template)之方法流程圖; 圖3為建立容器化軟體服務實例之方法流程圖。Figure 1 is an architecture diagram of a system and method for quickly providing containerized software services; Figure 2 is a flowchart of a method for creating a containerized software service template; Figure 3 is a flowchart of a method for creating a containerized software service example.

100:使用者入口 100: User entrance

101:使用者權限管理模組 101: User rights management module

102:使用者介面 102: User interface

110:中心管理程序 110: central management program

111:標誌語言模組 111: Markup Language Module

112:樣板管理模組 112: Model management module

113:容器叢集配適模組 113: Container cluster matching module

114:紀錄模組 114: Recording module

120:資料庫模組 120: Database module

121:軟體影像資料庫 121: Software image database

122:軟體樣板資料庫 122: Software sample database

123:軟體供應紀錄資料庫 123: Software supply record database

124:權限資料庫 124: Permission database

Claims (5)

一種快速提供容器化軟體服務之系統,其包括: 一或多個伺服器; 一使用者入口程序,運行於所述一或多個伺服器上,經配置以圖形化、應用程式介面(application programming interface,API)以及命令列方式提供系統服務給使用者,並經該使用者利用以進行以下動作:設定與確認使用者權限、管理軟體服務樣板、建立軟體服務;以及 一中心管理程序,運行於所述一或多個伺服器上,其利用該使用者提供之軟體服務描述,提供跨容器管理叢集之該軟體服務樣板,以利該跨容器管理叢集快速啟動該軟體服務;以及 一資料庫模組,運行於所述一或多個伺服器上,包括複數個資料庫,並提供持續性儲存功能。A system for quickly providing containerized software services, including: one or more servers; a user entry program running on the one or more servers, configured with a graphical, application programming interface (application programming) interface, API) and command line to provide system services to the user, and the user can use it to perform the following actions: set and confirm user permissions, manage software service templates, create software services; and a central management program that runs on On the one or more servers, it uses the software service description provided by the user to provide the software service template of the cross-container management cluster to facilitate the cross-container management cluster to quickly start the software service; and a database model The group, running on the one or more servers, includes a plurality of databases, and provides a persistent storage function. 如申請專利範圍第1項所述之系統,其中該使用者入口程序包括: 一使用者權限管理模組,用以進行權限管理,負責設定與確認該使用者的權限,其中若該使用者的權限異常,則會阻止該使用者建立該軟體服務樣板或是不允許該使用者啟動該軟體服務; 一使用者介面,根據該使用者輸入其建立該軟體服務樣板必要之數據:指定適合啟動該軟體服務之複數容器集群系統、容器軟體影像檔案來源、容器軟體由該系統指派的環境參數、容器軟體提供給該使用者所指派的環境參數,並可藉由該圖形化、API以及命令列方式觀察該軟體服務樣板的目前狀態,用以管理該軟體服務樣板。The system as described in item 1 of the patent application scope, wherein the user entry procedure includes: a user authority management module for authority management, responsible for setting and confirming the authority of the user, and if the user’s authority Abnormal permissions will prevent the user from creating the software service template or allow the user to start the software service; a user interface, according to the user to enter the necessary data to create the software service template: specify the appropriate to start the Multiple container cluster systems for software services, source of container software image files, environmental parameters assigned by the system by the container software, environmental parameters assigned by the container software to the user, and available through the graphical, API, and command line methods Observe the current status of the software service template to manage the software service template. 如申請專利範圍第2項所述之系統,其中該中心管理程序包括: 一標誌語言模組,分析該使用者輸入之標誌語言,轉換跨容器管理叢集系統通用樣板內容,存取該資料庫模組中的持續性儲存區並且在該使用者介面展示; 一樣板管理模組,進行該軟體服務樣板的邏輯管理,係由該使用者建立該軟體服務樣板的程序中; 一容器叢集配適模組,當需要編輯該軟體服務樣板以及啟動該軟體服務的時候進行邏輯運算; 一紀錄模組,用途作為該軟體服務樣板修改紀錄以及該啟動軟體服務,其中該標誌語言模組、該樣板管理模組、該容器叢集配適模組及該紀錄模組彼此交互,存取該資料庫模組進行持續性儲存並且在該使用者介面展示。The system as described in item 2 of the patent application scope, in which the central management program includes: a markup language module, analyzes the markup language input by the user, converts the common sample content of the cross-container management cluster system, and accesses the database module Persistent storage area in the group and displayed in the user interface; a board management module, to perform logical management of the software service template, by the user in the process of creating the software service template; a container cluster with a suitable model Group, when you need to edit the software service template and start the software service, perform logical operations; a record module, used as the software service template modification record and the start software service, in which the markup language module and the template management module Groups, the container cluster adaptation module and the recording module interact with each other, access the database module for continuous storage and display on the user interface. 一種新增刪除修改容器化軟體服務樣板之方法,用以獲得快速啟動軟體服務的素材,其步驟包括: A.   編輯容器化軟體服務樣板,其由使用者與使用者入口互動; B.   透過操作使用者介面經過權限驗證後,通過流程內驗證軟體服務樣板的建立者權限,開始操作輸入資料以新增、刪除、修改該軟體服務樣板; C.   在編輯該軟體服務樣板的動作之後,將動作內容與結果進入持久性儲存資料庫; D.   決定是否開放該軟體服務啟用; E.   返回該軟體服務樣板修改後的任務報告; F.    利用該使用者介面確認該軟體服務樣板狀態。A method for adding, deleting, and modifying containerized software service templates to obtain materials for quickly starting software services. The steps include: A. Editing containerized software service templates, which are interacted by users and user portals; B. Through operations After the user interface is verified by permissions, the creator service permission of the software service template is verified in the process, and the operation input data is added to add, delete, and modify the software service template; C. After editing the software service template, the action The content and results enter the persistent storage database; D. Decide whether to open the software service activation; E. Return the revised task report of the software service model; F. Use the user interface to confirm the status of the software service model. 一種啟動容器化軟體服務之方法,提供跨容器管理叢集上啟動軟體服務之功能,透過軟體服務樣板達到快速啟動該軟體服務的結果,其步驟包括: A.   該軟體服務的使用者與使用者入口互動; B.   透過操作使用者介面經過權限驗證後通過流程內驗證該軟體服務的建立者權限,開始操作輸入資料啟動該軟體服務; C.   啟動該軟體服務; D.   決定是否啟用其他軟體服務,是的話回到步驟B; E.   根據步驟D,回覆一使用者所需軟體服務輔助資料報告,其包括:該軟體服務的簡介、該軟體服務的操作說明、該軟體服務的連接手法與資訊、該軟體服務的使用者帳號密碼、該軟體服務的健康狀態以及該軟體服務 限制,俾使該使用者可以正常連接上所啟動的該軟體服務; F.    根據步驟D,啟動該軟體服務的啟動狀態,其包括:該軟體服務的啟動成功與否、該軟體服務的啟動失敗原因、該軟體服務的相關資源額度,俾使該使用者可以了解該軟體服務的啟動情形。 G.   產生結束報告,其包括: 該軟體服務的供應樣板來源、該軟體服務的建立資訊、該軟體服務的需求者、該軟體服務的啟動日期、該軟體服務的啟動摘要報告,並且將動作內容與結果存入資料庫模組。A method for starting a containerized software service, providing the function of starting a software service across a container management cluster, and achieving the result of quickly starting the software service through a software service template. The steps include: A. Users and user portals of the software service Interaction; B. Through the operation user interface, after verifying the permissions, verify the permissions of the creator of the software service through the process, start operating the input data to start the software service; C. start the software service; D. decide whether to enable other software services, If yes, return to step B; E. According to step D, reply to a user's software service auxiliary data report, which includes: introduction of the software service, operation instructions of the software service, connection methods and information of the software service, The user account password of the software service, the health status of the software service, and the software service restrictions, so that the user can normally connect to the software service that is activated; F. According to step D, activate the activation status of the software service , Which includes: whether the software service is successfully started, the cause of the failure of the software service, and the resource quota of the software service, so that the user can understand the activation of the software service. G. Generate an end report, which includes: the source of the software service model, the creation information of the software service, the demander of the software service, the start date of the software service, the start summary report of the software service, and the action content And the results are stored in the database module.
TW107141966A 2018-11-23 2018-11-23 System and methods for rapid deployment of containerized applications TWI679580B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW107141966A TWI679580B (en) 2018-11-23 2018-11-23 System and methods for rapid deployment of containerized applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107141966A TWI679580B (en) 2018-11-23 2018-11-23 System and methods for rapid deployment of containerized applications

Publications (2)

Publication Number Publication Date
TWI679580B TWI679580B (en) 2019-12-11
TW202020659A true TW202020659A (en) 2020-06-01

Family

ID=69582642

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107141966A TWI679580B (en) 2018-11-23 2018-11-23 System and methods for rapid deployment of containerized applications

Country Status (1)

Country Link
TW (1) TWI679580B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703784A (en) * 2021-08-25 2021-11-26 上海哔哩哔哩科技有限公司 Data processing method and device based on container arrangement

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008042849A2 (en) * 2006-09-29 2008-04-10 Clearspring Technologies, Inc. Method and apparatus for widget-container hosting and generation
US9940470B2 (en) * 2015-10-06 2018-04-10 Symantec Corporation Techniques for generating a virtual private container
US10095489B1 (en) * 2016-12-22 2018-10-09 EMC IP Holding Company LLC GUI-based application template for containerized application software development

Also Published As

Publication number Publication date
TWI679580B (en) 2019-12-11

Similar Documents

Publication Publication Date Title
US10212190B2 (en) Context-based cloud security assurance system
JP6490633B2 (en) Systems and methods for private cloud computing
US9432350B2 (en) System and method for intelligent workload management
US10152211B2 (en) Application delivery agents on virtual desktop instances
US8984594B2 (en) Security architecture for a process control platform executing applications
US8056119B2 (en) Method and system for controlling inter-zone communication
EP1772803A2 (en) Method and system for performing distributed server change operations in a transaction-safe manner
US20070271552A1 (en) System and method for packaging software
CN104854561A (en) Application wrapping for application management framework
US11068136B1 (en) Application fulfillment platform with automated license management mechanisms
WO2020135492A1 (en) Software hierarchical management system
CN116166278A (en) Application management method and related system
TWI679580B (en) System and methods for rapid deployment of containerized applications
US20130232188A1 (en) Information processing apparatus and client management method
US11907731B1 (en) Configurable cloud development environments
Sadtler et al. IBM Workload Deployer: Pattern-based Application and Middleware Deployments in a Private Cloud
Mustafa Infrastructure as Code
AU2013203291A1 (en) Systems and methods for private cloud computing
Frampton et al. Stack Storage Options
Real Oracle Fusion Middleware Administrator's Guide for Oracle Real-Time Decisions, 11g Release 1 (11.1. 1) E16632-04