TW202008154A - 基於軟體容器提供雲端服務之系統及方法 - Google Patents

基於軟體容器提供雲端服務之系統及方法 Download PDF

Info

Publication number
TW202008154A
TW202008154A TW107127089A TW107127089A TW202008154A TW 202008154 A TW202008154 A TW 202008154A TW 107127089 A TW107127089 A TW 107127089A TW 107127089 A TW107127089 A TW 107127089A TW 202008154 A TW202008154 A TW 202008154A
Authority
TW
Taiwan
Prior art keywords
version
function
cloud service
software
item
Prior art date
Application number
TW107127089A
Other languages
English (en)
Other versions
TWI668634B (zh
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 TW107127089A priority Critical patent/TWI668634B/zh
Priority to CN201810933106.5A priority patent/CN110795205B/zh
Priority to US16/211,363 priority patent/US10791039B2/en
Application granted granted Critical
Publication of TWI668634B publication Critical patent/TWI668634B/zh
Publication of TW202008154A publication Critical patent/TW202008154A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

一種雲端服務系統,其具有硬體資源、儲存裝置、以及控制器。硬體資源安裝有特定系統且使軟體容器被實體化以運行雲端服務。儲存裝置儲存包括多個函式之函式庫,每一函式係對應至安裝系統之個別版本。控制器根據建置需求決定對應到安裝系統之第一版本,決定函式庫中的函式是否有對應第一版本之函式,以及於函式庫中的函式沒有對應第一版本之函式時,根據函式庫中的函式之選用歷史紀錄來決定其中一函式以用於軟體容器之實體化。

Description

基於軟體容器提供雲端服務之系統及方法
本申請主要關於雲端服務技術,特別係有關於一種基於軟體容器(software container)提供雲端服務之系統及方法。
近年來,隨著網路逐漸普及化,網路存取技術乃至雲端服務得以迅速發展。透過遍及的網路,可整合分散的遠端運算裝置以提供各式資源及服務。例如:使用者可透過桌上型電腦、筆記型電腦、平版電腦、智慧型手機、或任何具備網路通訊功能之運算裝置去讀取儲存在遠端伺服器的電子郵件,或將運算需求轉送至遠端伺服器執行。此外,透過網路連結,遠端伺服器更可扮演雲端伺服器的角色,以供資料備份及雲端存取之功能、或提供雲端服務之功能,而實現雲端服務的關鍵則是虛擬化技術,如:虛擬機器(Virtual Machine,VM)技術、以及軟體容器(software container)技術。
以虛擬機器技術為例,雲端服務的應用程式是由底層主機(Host)(如:雲端伺服器)上的虛擬機器所提供,這些應用程式,是在開發人員(Development Team)發佈完成後,轉交給維運人員(Operation Team)並於虛擬機器上運行。
上述環境建置的流程繁複且常需因應各種需求而 進行更新,舉例來說,環境建置的流程包括:底層主機的建置、虛擬機器的建置、資料庫的設定、以及網路設備的設定等,而更新的需求包括:對新增的虛擬化主機進行管控、對虛擬機器的作業系統進行差異化建置、以及不同版本的資料庫的語法不同、以及網路設備的軟/韌體更新後的設定方式不同等。
一般來說,開發人員以及維運人員是獨立分工的角色,然而,為了加速上述環境建置的流程以及更新之需求,開發維運合一(DevOps)的概念於焉而生,其目的在於有效率地整合開發人員以及維運人員,讓這兩個角色各自的工作流程可以更流暢地連結在一起,從而提升雲端伺服器交付/維護雲端服務的效率。
相較於虛擬機器技術,以微服務為訴求的軟體容器技術提供了更輕量化的雲端服務,軟體容器除了比虛擬機器的執行效率更高且更省記憶體空間之外,透過軟體容器可實現建置環境的一致化,更易於雲端服務的上線以及後續更新,因此,更為符合開發維運合一之需求。
然而,在開發維運合一的架構上提供雲端服務時,常會因為快速的更新需求而面臨到許多問題。例如:維運人員對底層主機的軟硬體進行更新,而已上線的服務若是不支援新版的軟硬體,將導致服務異常,可能損害服務層級協議(Service Level Agreement,SLA)與商譽;或者,欲上線的新雲端服務需要更新底層主機的軟硬體,而更新底層主機的軟硬體以及建置測試環境將導致提供雲端服務的時程延宕;或者,當底層主機的其中一軟硬體版本更新時,整個管控系統需一併 更新,頻繁的更新將造成維運人員負擔;或者,開發人員必須針對底層主機的每個軟硬體的版本進行核心(kernel)開發,即使版本更新後設定的方法無異動或僅需少許異動,都將增加開發人員在版本控管的負擔。
為了解決上述問題,本申請提出一種雲端服務系統以及基於軟體容器提供雲端服務之方法。
本申請所述之雲端服務系統包括一硬體資源、一儲存裝置、以及一控制器。上述硬體資源安裝有一系統,且使一軟體容器被實體化(instantiated)以運行一雲端服務。上述儲存裝置係用以儲存包括複數函式之一函式庫,其中上述函式之每一者係對應至上述系統之一個別版本。上述控制器係用以根據一建置需求決定對應到上述系統之一第一版本,決定上述複數函式中是否有對應上述第一版本之一函式,以及於上述複數函式中沒有對應上述第一版本之一函式時,根據上述複數函式之一選用歷史紀錄來決定上述複數函式之一者以用於上述軟體容器之實體化。
上述控制器還於上述複數函式中有對應上述第一版本之一函式時,將對應上述第一版本之一函式用於上述軟體容器之實體化。
此外,上述控制器還在上述硬體資源將上述軟體容器實體化之前,將上述系統之一第一系統設定進行備份,在上述硬體資源將上述軟體容器實體化之後,決定上述系統之一第二系統設定,以及於上述第一系統設定與上述第二系統設定 不同時,輸出一訊息以通知上述雲端服務系統之一管理者。
本申請所述之基於軟體容器提供雲端服務之方法係適用於一雲端服務系統,且包括以下步驟:提供一硬體資源,其安裝有一系統,且使一軟體容器被實體化以運行一雲端服務;根據一建置需求決定對應到上述系統之一第一版本;決定一函式庫中是否有對應上述第一版本之一函式;以及於上述函式庫中沒有對應上述第一版本之一函式時,根據上述函式庫中的複數函式之一選用歷史紀錄來決定上述複數函式之一者以用於上述軟體容器之實體化。
此外,上述基於軟體容器提供雲端服務之方法還進一步包括以下步驟:在上述硬體資源將上述軟體容器實體化之前,將上述系統之一第一系統設定進行備份;在上述硬體資源將上述軟體容器實體化之後,決定上述系統之一第二系統設定;以及於上述第一系統設定與上述第二系統設定不同時,輸出一訊息以通知上述雲端服務系統之一管理者。
特別是,上述選用歷史紀錄包含以下資訊:每個函式被選用的次數、以及被選用距今最近的天數。
上述系統包括以下至少一者:一超管理系統(Hypervisor);一虛擬機器管理系統(System Center Virtual Machine Manager,SCVMM);一資料庫系統;一防火牆系統;以及一負載平衡系統。
關於本申請其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本申請之精神和範圍內,當可根據本案實施方法中所揭露之雲端服務系統、以及基於軟體容器提供雲 端服務之方法做些許的更動與潤飾而得到。
1000‧‧‧雲端服務環境
110、120‧‧‧用戶計算裝置
130‧‧‧網際網路
140‧‧‧雲端服務系統
141‧‧‧通訊裝置
142‧‧‧硬體資源
143‧‧‧控制器
144‧‧‧儲存裝置
145‧‧‧輸入輸出裝置
150‧‧‧開發人員計算裝置
160‧‧‧維運人員計算裝置
310‧‧‧執行模組
320‧‧‧備份模組
330‧‧‧決策模組
340‧‧‧比對模組
350‧‧‧通知模組
S401~S413‧‧‧步驟編號
第1圖係根據本申請一實施例所述之雲端服務環境之示意圖。
第2圖係根據本申請一實施例所述之雲端服務系統140之硬體架構示意圖。
第3圖係根據本申請一實施例所述基於軟體容器提供雲端服務之方法之軟體架構圖。
第4A、4B圖係根據本申請一實施例所述基於軟體容器提供雲端服務之方法流程圖。
本章節所敘述的是實施本申請之較佳方式,目的在於說明本申請之精神而非用以限定本申請之保護範圍,當可理解的是,使用於本說明書中的「包含」、「包括」等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
第1圖係根據本申請一實施例所述之雲端服務環境之示意圖。
雲端服務環境1000包括用戶計算裝置110、120、網際網路130、雲端服務系統140、開發人員計算裝置150、以及維運人員計算裝置160。
用戶計算裝置110、120可透過網際網路130連接到 雲端服務系統140以存取已上線的雲端服務,或者,用戶計算裝置110、120可透過網際網路130傳送建置需求到雲端服務系統140。舉例來說,用戶計算裝置110、120可個別為一具備網路通訊功能之計算裝置,如:筆記型電腦、桌上型電腦、智慧型手機、或平板電腦等。
雲端服務系統140可包括複數硬體資源(如:主機),每一硬體資源可安裝至少一系統(包括:超管理系統(Hypervisor)、虛擬機器管理系統(System Center Virtual Machine Manager,SCVMM)、資料庫系統、以及網路設備系統(如:防火牆系統、負載平衡系統)等),且用以使軟體容器被實體化(instantiated)以運行雲端服務。其中硬體資源係由維運人員透過維運人員計算裝置160所管控。
另外,雲端服務系統140可根據接收到的建置需求(如:用戶計算裝置110、120所傳送的代管請求、或維運人員計算裝置160所傳送的系統更新請求)決定對應的系統及系統版本,然後根據系統及系統版本進行環境建置作業。
在一實施例,當建置需求為用戶計算裝置110、120的代管請求時,雲端服務系統140可在環境建置作業完成後,將服務運行時對外之發佈連結傳送給用戶計算裝置110或120。
更進一步地,雲端服務系統140可根據環境建置作業的結果通知開發人員計算裝置150、以及/或維運人員計算裝置160。舉例來說,當雲端服務系統140中沒有代管請求所對應的系統及系統版本、且現有的系統及系統版本也無法適用時,可通知開發人員計算裝置150進行對應系統版本的函式開發並 將函式包裝成映像檔(image),同時通知維運人員計算裝置160使用容器管理平台進行函式庫更新。
第2圖係根據本申請一實施例所述之雲端服務系統140之硬體架構示意圖。
雲端服務系統140包括通訊裝置141、硬體資源142、控制器143、儲存裝置144、以及輸入輸出裝置145。
通訊裝置141係用以提供連線至網際網路130,並透過網際網路130連接到用戶計算裝置110、120。通訊裝置141可依循至少一特定通訊技術提供有線或無線網路連線。
有線網路可以是:乙太網(Ethernet)、非對稱數位用戶線路(Asymmetric Digital Subscriber Line,ADSL)網路、光纖(Optical)網路、雙絞線(Twisted Pair)網路、或同軸電纜(Coaxial cable)網路。
無線網路可以是:無線區域網路(Wireless Local Area Network,WLAN)或無線廣域網路(Wireless Wide Area Network,WWAN),其中無線區域網路可使用無線保真(Wireless Fidelity,Wi-Fi)技術、藍牙技術、或群蜂技術所建立;無線廣域網路可以是:全球行動通訊系統(Global System for Mobile communications,GSM)網路、通用封包無線服務(General Packet Radio Service,GPRS)網路、全球增強型數據傳輸(Enhanced Data rates for Global Evolution,EDGE)網路、寬頻分碼多工存取(Wideband Code Division Multiple Access,WCDMA)網路、分碼多工存取-2000(Code Division Multiple Access 2000,CDMA-2000)網路、分時同步分碼多工 存取(Time Division-Synchronous Code Division Multiple Access,TD-SCDMA)網路、全球互通微波存取(Worldwide Interoperability for Microwave Access,WiMAX)網路、長期演進(Long Term Evolution,LTE)網路、長期演進強化(LTE Advanced,LTE-A)網路、或分時長期演進(Time-Division LTE,TD-LTE)網路等。
硬體資源142可為一主機,如:工作站伺服器(或可稱為雲端伺服器),每一主機可包括數據處理及運算之基本元件(如:處理器、記憶體、以及/或硬碟等),且可安裝至少一軟體或硬體系統,包括:超管理系統、虛擬機器管理系統、資料庫系統、以及網路設備系統(如:防火牆系統、負載平衡系統)等。
控制器143可為通用處理器、微處理器(Micro Control Unit,MCU)、應用處理器(Application Processor,AP)、或數位訊號處理器(Digital Signal Processor,DSP)等,其可包括各式電路邏輯,用以提供數據處理及運算之功能、控制通訊裝置141的運作以提供網路連結、管理硬體資源142之配置、從儲存裝置144讀取或儲存數據、以及透過輸入輸出裝置145傳送通知給開發人員計算裝置150及維運人員計算裝置160、或接收來自維運人員計算裝置160的建置需求。
特別是,控制器143係用以協調控制通訊裝置141、硬體資源142、儲存裝置144、以及輸入輸出裝置145之運作,以執行本申請的基於軟體容器提供雲端服務之方法。
儲存裝置144為非暫態(non-transitory)之電腦可 讀取儲存媒體,例如:隨機存取記憶體(Random Access Memory,RAM)、快閃記憶體,或硬碟、光碟,或上述媒體之任意組合,用以儲存函式庫、指令集、應用及/或通訊協定之程式碼等,其中函式庫包括了複數函式,每個函式係個別對應到不同系統及系統版本,例如:函式1對應到版本v1.0的虛擬機器管理系統、函式2對應到版本v2.0的虛擬機器管理系統、函式3對應到版本v3.0的虛擬機器管理系統、函式4對應到版本v1.0的資料庫系統、函式5對應到版本v2.0的資料庫系統、函式6對應到版本v1.0的防火牆系統、以及函式7對應到版本v1.0的負載平衡系統等。
特別是,儲存裝置144還儲存有本申請的基於軟體容器提供雲端服務之方法的指令集或程式碼,由控制器143載入並執行。
輸入輸出裝置145可包括一或多個通訊埠、按鈕、鍵盤、滑鼠、觸碰板、視訊鏡頭、麥克風、顯示螢幕(例如:液晶顯示器、發光二極體顯示器、或電子紙顯示器等)、以及/或喇叭等,用以作為人機介面與管理者(如:開發人員及維運人員)互動。
當可理解的是,第2圖所示之元件僅用以提供一說明之範例,並非用以限制本申請之保護範圍。舉例來說,雲端服務系統140還可包括其他元件,例如:更多硬體資源。
第3圖係根據本申請一實施例所述基於軟體容器提供雲端服務之方法之軟體架構圖。
在此實施例,基於軟體容器提供雲端服務之方法 係適用於雲端服務系統140,明確來說,基於軟體容器提供雲端服務之方法可用程式碼實作為多個軟體模組,並由控制器143載入並執行,基於軟體容器提供雲端服務之方法的軟體架構可包括執行模組310、備份模組320、決策模組330、比對模組340、以及通知模組350。
執行模組310主要負責提供介面讓用戶計算裝置110、120、或維運人員計算裝置160輸入建置需求,根據建置需求決定對應的系統及系統版本,然後將系統及系統版本資訊傳遞給決策模組330。接著,決策模組330從函式庫接收適用於建置需求的函式,並通知備份模組320對該系統設定進行備份。之後,根據從決策模組330接收到的函式開始進行環境建置作業,也就是將該函式用於軟體容器之實體化以運行雲端服務。
在另一實施例,如果環境建置作業失敗,則執行模組310可要求決策模組330選擇另一適合的函式重新進行環境建置作業,直到沒有適合的函式可用為止,再把環境建置作業的結果、發生問題的系統及系統版本等資訊傳送給比對模組340。反之,如果環境建置作業成功,則執行模組310可更新函式的選用歷史紀錄。
備份模組320主要負責決定執行模組310所指定的系統是否需要進行備份,舉例來說,當指定的系統為資料庫系統或網路設備系統(如:防火牆系統或負載平衡系統)時,則將該系統的設定進行備份。
決策模組330主要負責根據執行模組310所指定的 系統及系統版本資訊到函式庫中找尋適合的函式,明確來說,當函式庫中有對應該系統及系統版本的函式時,則直接將該函式回傳給執行模組310;反之,當函式庫中沒有對應該系統及系統版本的函式時,則呼叫運算評分單元(未繪示)根據函式庫中現有的函式的選用歷史紀錄挑選一適用的函式,其中選用歷史紀錄可包含每個函式被選用的次數、以及每個函式被選用距今最近的天數。
於一具體實施例中,運算評分單元可為決策模組之內部單元。於另一具體實施例中,運算評分單元亦可為獨立之模組。
舉例來說,假設建置需求所對應的系統為版本V4.0的負載平衡系統,而函式庫中只有版本V1.0、V2.0、V3.0的負載平衡系統的函式,因此,運算評分單元會根據以下公式1挑選一適用之函式。
Figure 107127089-A0101-12-0011-1
其中V1_ratio~V3_ratio代表V1.0~V3.0版本的函式被選用次數除以總計算天數,2/(L+1)為平滑指數,L代表對應版本的函式被選用距今最近的天數。
為方便理解,以下舉例以最近五天(總計算天數為5)所使用的函式版本進行說明,其中N代表今日。
Figure 107127089-A0101-12-0011-2
表格1.
在表格1所示範例中,版本V1.0的分數為
Figure 107127089-A0101-12-0012-3
,版本V2.0的分數為
Figure 107127089-A0101-12-0012-4
,版本V3.0的分數為
Figure 107127089-A0101-12-0012-5
。根據公式1,運算評分單元最後會選擇版本V2.0的函式。
值得注意的是,公式1的設計並不傾向於優先選擇最近的使用版本(如上述範例之版本V3.0),其原因在於,為確保服務可正常運作,通常會以高可用性(availability)為主要考量,舉例來說,一般會準備多台相同規格的主機/系統,若需要進行主機/系統的版本更新時,一般為先嘗試更新一台主機/系統並持續運行幾天,確定一切正常,再逐步更新其他主機/系統;反之,若更新後出現異常狀況,則可由其他主機/系統接手服務,再將已更新的主機/系統進行版本回復。因此,以實務經驗而言,最近的使用版本不一定就是具有最高可用性的版本,而本申請的公式1除了考量時間的加權(使越近期被選用的版本將有更高的機率在本次被選用)之外,還加入每個版本被選用的頻率(與可用性有正相關)。
比對模組340主要負責將套用選定函式後的系統設定與備份的系統設定(也就是套用選定的函式前的系統設定)進行比對,當比對不同時,則透過通知模組350輸出訊息以通知開發人員計算裝置150以及/或維運人員計算裝置160。此用意在於,即便套用決策模組330所選出的函式去進行環境建置作業成功,但系統設定有所不同時仍需開發人員、以及/ 或維運人員進一步確認。此外,比對模組340還接收來自執行模組310的環境建置作業的結果、發生問題的系統及系統版本等資訊,並轉送給通知模組350。
於一具體實施例中,上述比對係對於本次(套用後)與前次(套用前)之語法與參數進行比對。詳細而言,若系統於設定負載平衡時,須設定如virtualserver、port、protocol、及IP Address等參數。當比對結果發現設定不同,如前次參數有值而本次參數卻是空白,則認定比對結果異常須通知。
通知模組350主要負責接收來自比對模組340的資訊,然後把這些資訊通知開發人員、以及/或維運人員。明確來說,當環境建置作業失敗時(表示沒有適合的函式可用),通知模組350會從比對模組340接收到環境建置作業的結果、發生問題的系統及系統版本等資訊,然後轉為通知開發人員及維運人員,讓維運人員可先手動對系統進行設定,而開發人員則可根據發生問題的系統及系統版本進行對應函式的開發,待函式開發完成後,再由維運人員進行函式庫的更新。另外,當環境建置作業成功時,通知模組350會從比對模組340接收到選定的函式、以及套用函式前後的系統設定等資訊,然後轉為通知開發人員及維運人員以作進一步確認。
第4A、4B圖係根據本申請一實施例所述基於軟體容器提供雲端服務之方法流程圖。
首先,執行模組310從用戶端或維運人員接收建置需求(步驟S401)。在一實施例,用戶端的建置需求可以是請 求代管一新的服務。在另一實施例,維運人員的建置需求可以是請求更新特定系統。
接著,執行模組310根據建置需求決定其對應之系統及系統版本(步驟S402)。舉例來說,建置需求可以是請求代管一新的服務,而該服務需要使用版本V1.0的虛擬機器管理系統、版本V4.0的防火牆系統、以及版本V2.0的負載平衡系統。或者,建置需求可以是請求更新一現有之系統,例如:將超管理系統從版本V2.0升級到V3.0、或將資料庫系統從版本V1.0升級到V2.0。
然後,決策模組330從執行模組310接收系統及系統版本資訊(步驟S403),並決定函式庫中是否有對應該版本的函式存在(步驟S404),若有,則直接取出該函式並回傳給執行模組310(步驟S405);反之,如果函式庫中沒有對應該版本的函式存在,則呼叫運算評分單元根據函式庫中現有的函式的選用歷史紀錄挑選一適用的函式(步驟S406)。
接著,執行模組310從決策模組330取得函式(步驟S407),然後指示備份模組320針對相關的系統進行備份(步驟S408)。
之後,執行模組310再使用該函式進行環境建置作業(步驟S409),也就是將該函式用於軟體容器之實體化以運行雲端服務。
然後,執行模組310決定環境建置作業是否成功(步驟S410),若是,則指示比對模組340針對套用函式前後的系統設定進行比對(步驟S411)。
於一具體實施例中,若執行模組310沒有回傳是否成功,將默認執行成功。
接續步驟S411,比對模組340決定比對結果是否為相同(步驟S412),若是,則沒有通知管理者(如:開發人員、以及/或維運人員)之必要,故流程結束;反之,如果比對不相同,則指示通知模組350通知管理者(如:開發人員、以及/或維運人員)以作進一步確認(步驟S413),流程結束。通知內容可包括:選定的函式、以及套用函式前後的系統設定等資訊。
接續步驟S410,如果環境建置作業失敗,則流程進入步驟S413,由通知模組350通知管理者,通知內容可包括:環境建置作業的結果、發生問題的系統及系統版本等資訊。
根據上述實施例,當可理解的是,本申請的基於軟體容器提供雲端服務之方法其特徵在於,使用軟體容器技術將各個版本的系統模組化,並採用函式庫儲存每個系統的核心程序(實作為函式),如此一來,即可有效提升系統更新的效率。另外,針對系統版本不被支援的情況,本申請的基於軟體容器提供雲端服務之方法還會以現有函式的選用歷史紀錄來挑選適用的函式直接進行環境建置作業,因此,可大幅減少開發人員及維運人員的負擔,並提升雲端伺服器交付/維護雲端服務的效率。
本申請雖以各種實施例揭露如上,然而其僅為範例參考而非用以限定本申請的範圍,任何熟習此項技藝者,在不脫離本申請之精神和範圍內,當可做些許的更動與潤飾。因 此上述實施例並非用以限定本申請之範圍,本申請之保護範圍當視後附之申請專利範圍所界定者為準。
於申請專利範圍中所使用的「第一」、「第二」等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
310‧‧‧執行模組
320‧‧‧備份模組
330‧‧‧決策模組
340‧‧‧比對模組
350‧‧‧通知模組
S401~S413‧‧‧步驟編號

Claims (10)

  1. 一種雲端服務系統,包括:一硬體資源,安裝有一系統,且使一軟體容器(software container)被實體化(instantiated)以運行一雲端服務;一儲存裝置,用以儲存包括複數函式之一函式庫,其中上述函式之每一者係對應至上述系統之一個別版本;以及一控制器,用以根據一建置需求決定對應到上述系統之一第一版本,決定上述複數函式中是否有對應上述第一版本之一函式,以及於上述複數函式中沒有對應上述第一版本之一函式時,根據上述複數函式之一選用歷史紀錄來決定上述複數函式之一者以用於上述軟體容器之實體化。
  2. 如申請專利範圍第1項所述之雲端服務系統,其中上述控制器還於上述複數函式中有對應上述第一版本之一函式時,將對應上述第一版本之一函式用於上述軟體容器之實體化。
  3. 如申請專利範圍第1項所述之雲端服務系統,其中上述選用歷史紀錄包含以下資訊:每個函式被選用的次數、以及被選用距今最近的天數。
  4. 如申請專利範圍第1項所述之雲端服務系統,其中上述控制器還在上述硬體資源將上述軟體容器實體化之前,將上述系統之一第一系統設定進行備份。
  5. 如申請專利範圍第4項所述之雲端服務系統,其中上述 控制器還在上述硬體資源將上述軟體容器實體化之後,決定上述系統之一第二系統設定,以及於上述第一系統設定與上述第二系統設定不同時,輸出一訊息以通知上述雲端服務系統之一管理者。
  6. 一種基於軟體容器提供雲端服務之方法,適用於一雲端服務系統,包括:提供一硬體資源,其安裝有一系統,且使一軟體容器被實體化以運行一雲端服務;根據一建置需求決定對應到上述系統之一第一版本;決定一函式庫中是否有對應上述第一版本之一函式;以及於上述函式庫中沒有對應上述第一版本之一函式時,根據上述函式庫中的複數函式之一選用歷史紀錄來決定上述複數函式之一者以用於上述軟體容器之實體化。
  7. 如申請專利範圍第6項所述之基於軟體容器提供雲端服務之方法,更包括:於上述函式庫有對應上述第一版本之一函式時,將對應上述第一版本之一函式用於上述軟體容器之實體化。
  8. 如申請專利範圍第6項所述之基於軟體容器提供雲端服務之方法,其中上述選用歷史紀錄包含以下資訊:每個函式被選用的次數、以及被選用距今最近的天數。
  9. 如申請專利範圍第6項所述之基於軟體容器提供雲端服務之方法,更包括:在上述硬體資源將上述軟體容器實體化之前,將上述系 統之一第一系統設定進行備份。
  10. 如申請專利範圍第9項所述之基於軟體容器提供雲端服務之方法,更包括:在上述硬體資源將上述軟體容器實體化之後,決定上述系統之一第二系統設定;以及於上述第一系統設定與上述第二系統設定不同時,輸出一訊息以通知上述雲端服務系統之一管理者。
TW107127089A 2018-08-03 2018-08-03 基於軟體容器提供雲端服務之系統及方法 TWI668634B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW107127089A TWI668634B (zh) 2018-08-03 2018-08-03 基於軟體容器提供雲端服務之系統及方法
CN201810933106.5A CN110795205B (zh) 2018-08-03 2018-08-16 基于软件容器提供云端服务的系统及方法
US16/211,363 US10791039B2 (en) 2018-08-03 2018-12-06 Systems and methods for cloud service provisioning using software containers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107127089A TWI668634B (zh) 2018-08-03 2018-08-03 基於軟體容器提供雲端服務之系統及方法

Publications (2)

Publication Number Publication Date
TWI668634B TWI668634B (zh) 2019-08-11
TW202008154A true TW202008154A (zh) 2020-02-16

Family

ID=68316507

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107127089A TWI668634B (zh) 2018-08-03 2018-08-03 基於軟體容器提供雲端服務之系統及方法

Country Status (3)

Country Link
US (1) US10791039B2 (zh)
CN (1) CN110795205B (zh)
TW (1) TWI668634B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI754488B (zh) * 2020-12-14 2022-02-01 中華電信股份有限公司 為軟體容器選擇載體的電子裝置和方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860364B2 (en) * 2019-01-23 2020-12-08 Vmware, Inc. Containerized management services with high availability
TWI810502B (zh) 2020-12-11 2023-08-01 財團法人工業技術研究院 運動控制系統及運動控制方法

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218528A1 (en) * 2005-03-22 2006-09-28 Microsoft Corporation Software explorer
US8359645B2 (en) * 2005-03-25 2013-01-22 Microsoft Corporation Dynamic protection of unpatched machines
US8196136B2 (en) * 2007-09-28 2012-06-05 Microsoft Corporation Configuration and change management system with restore points
US20090100158A1 (en) * 2007-10-12 2009-04-16 Microsoft Corporation Backup and Recovery System for Multiple Device Environment
US8938706B2 (en) * 2010-11-23 2015-01-20 Red Hat, Inc. Providing customized visualization of application binary interface/application programming interface-related information
US8832162B2 (en) * 2012-03-25 2014-09-09 Think Computer Corporation Method and system for storing, categorizing and distributing information concerning relationships between data
US9253249B2 (en) * 2012-07-23 2016-02-02 Via Technologies, Inc. Hardware resource accessing systems and methods for accessing hardware resources in browser-based operating systems and machine-readable storage medium thereof
US9075638B2 (en) * 2012-08-14 2015-07-07 Atlassian Corporation Pty Ltd. Efficient hosting of virtualized containers using read-only operating systems
CN102868729B (zh) * 2012-08-24 2018-05-04 中兴通讯股份有限公司 基于云服务的实现软件服务的方法、客户端及云服务器
US9262470B1 (en) * 2013-06-25 2016-02-16 Amazon Technologies, Inc. Application recommendations based on application and lifestyle fingerprinting
TW201523286A (zh) * 2013-12-13 2015-06-16 Inventec Corp 雲端系統與雲端資源配置方法
US9519468B2 (en) * 2015-02-13 2016-12-13 Oracle International Corporation Modular co-versioning in a dynamically linked runtime environment
US9916233B1 (en) * 2015-03-27 2018-03-13 Amazon Technologies, Inc. Using containers for update deployment
TWI522829B (zh) * 2015-06-10 2016-02-21 先智雲端數據股份有限公司 具有輕量級容器節點的儲存系統
US9823915B1 (en) * 2015-08-06 2017-11-21 Mesosphere, Inc. Software container format
CN105893205A (zh) * 2015-11-20 2016-08-24 乐视云计算有限公司 监控基于docker创建的container的方法及系统
US10402187B2 (en) * 2016-08-10 2019-09-03 Trilio Data Inc. Efficient workload deployment using containers and unikernels
US10031735B2 (en) * 2016-09-30 2018-07-24 International Business Machines Corporation Secure deployment of applications in a cloud computing platform
US10650138B2 (en) * 2017-01-27 2020-05-12 Hewlett Packard Enterprise Development Lp System call policies for containers
CN106991297B (zh) * 2017-04-10 2019-01-18 北京深思数盾科技股份有限公司 软件许可的管理方法和系统及创建方法和系统
US10592315B2 (en) * 2017-08-28 2020-03-17 General Electric Company Software container messaging mechanism
CN108021608A (zh) * 2017-10-31 2018-05-11 赛尔网络有限公司 一种基于Docker的轻量级网站部署方法
US10986479B2 (en) * 2018-01-17 2021-04-20 Micro Focus Llc Service management and provisioning for tenant service instances

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI754488B (zh) * 2020-12-14 2022-02-01 中華電信股份有限公司 為軟體容器選擇載體的電子裝置和方法

Also Published As

Publication number Publication date
CN110795205B (zh) 2023-03-24
CN110795205A (zh) 2020-02-14
US10791039B2 (en) 2020-09-29
US20200044945A1 (en) 2020-02-06
TWI668634B (zh) 2019-08-11

Similar Documents

Publication Publication Date Title
US10700928B2 (en) Method and apparatus for deploying service in virtualized network
US10819592B2 (en) Slice instance management method and apparatus
US10742502B2 (en) Software modification initiation method, and metadata release method and apparatus
US20130055254A1 (en) Methods and apparatuses for providing a virtual machine with dynamic assignment of a physical hardware resource
US20190320040A1 (en) Methods, apparatus, and systems to dynamically discover and host services in fog servers
WO2018192478A1 (zh) 云管理平台、虚拟机管理方法及其系统
EP3584998A1 (en) Method for virtual machine capacity expansion and reduction and virtual management device
US11843674B2 (en) Virtual workspace experience visualization and optimization
TWI668634B (zh) 基於軟體容器提供雲端服務之系統及方法
TWI707561B (zh) 虛擬網路功能的管理系統和管理方法
RU2580079C2 (ru) Инфраструктура активации приложений
US10795747B2 (en) File synchronizing service status monitoring and error handling
EP4258609A1 (en) Container cluster management method and apparatus
US20230359480A1 (en) Method for upgrading nodes in batches, related apparatus, and device
US11558207B2 (en) Method and apparatus for starting up blockchain system, and non-transitory computer-readable storage medium
US20230081959A1 (en) System and method for managing virtual network function and multi-access edge computing topology
US20150350340A1 (en) Management of headless hardware in data center
CN110554906A (zh) 虚拟机配置管理方法及装置
US11588654B2 (en) Method and apparatus for operating blockchain system, device and storage medium
US20240224062A1 (en) Orchestrating simulator application in wireless network
EP4407474A1 (en) Management of network file copy operations to a new data store
US20240205357A1 (en) Method to adjust image effects when using scanner redirection
US20240311205A1 (en) Private network and edge application provisioning management system, method and computer readable medium thereof
WO2020145242A1 (ja) ネットワーク機能仮想化システム及びオペレーティングシステム更新方法