彭 鋒,宋文欣,孫浩峰,劉 丹
(武漢智領云科技有限公司,湖北武漢 430000)
云計算與大數(shù)據(jù)技術的發(fā)展進一步加快了智慧醫(yī)療與智慧健康建設的腳步。但現(xiàn)有智慧醫(yī)療建設仍面臨醫(yī)療信息系統(tǒng)種類紛亂、資源利用不合理、運維成本高及安全性無法保障等問題,尤其是新冠疫情突發(fā)后,諸如系統(tǒng)資源無法快速擴展、性能和穩(wěn)定性難以保證等難題亟待解決。因此,合理利用大數(shù)據(jù)技術在醫(yī)療行業(yè)及重大疫情防控中的應用成為智慧醫(yī)療發(fā)展重點。
當前醫(yī)院信息化建設面臨著數(shù)據(jù)標準化、系統(tǒng)規(guī)劃是否完善等諸多難題,如何有效利用云計算及大數(shù)據(jù)技術成為新的發(fā)展方向。開展醫(yī)院信息化建設需注重對云計算和大數(shù)據(jù)技術的有效應用,實現(xiàn)醫(yī)院信息化管理發(fā)展目標,以提升醫(yī)院發(fā)展質量,更好地滿足患者需求。眾多研究者針對醫(yī)院信息化建設路徑提出了多種建設思路[1-4]。王覓也等[5]在介紹醫(yī)療大數(shù)據(jù)集成應用現(xiàn)狀的基礎上,提出“云平臺+數(shù)據(jù)資源+應用”的大數(shù)據(jù)集成平臺構建方案,介紹了平臺系統(tǒng)設計與應用效果,推動了醫(yī)療大數(shù)據(jù)應用發(fā)展;錢敏[6]提出受醫(yī)療政策、診療模式及疫情等多種因素的影響,醫(yī)療模式處于動態(tài)之中,必須通過不斷擴展更新才能適應不斷變化的內在醫(yī)療需求。因此,在醫(yī)院規(guī)劃設計中需妥善處理近期需求與長遠發(fā)展的相互關系,大數(shù)據(jù)應用云平臺及彈性擴容設計可為醫(yī)院不定期擴展更新提供動態(tài)的發(fā)展思路。
上述研究利用大數(shù)據(jù)解決了部分醫(yī)療信息化改革中的難題,但未針對在智慧醫(yī)療的具體場景下(比如新冠疫情下海量數(shù)據(jù)的處理)如何利用云計算及大數(shù)據(jù)技術展開深入研究。本文以武漢健康云項目為例,明確武漢健康云服務系統(tǒng)開發(fā)任務與系統(tǒng)建設目標,針對項目難點分析智領云大數(shù)據(jù)應用云平臺解決方案,介紹該平臺系統(tǒng)結構與功能模塊,詳述系統(tǒng)內部設計,并以疫情防控為應用背景,介紹該云平臺快速彈性擴容等創(chuàng)新之處。
醫(yī)療信息化的快速發(fā)展使新冠疫情爆發(fā)后,社會整體應對手段和能力得到顯著提升。疫情預警、應急響應、傳染源隔離、病患治療、遠程醫(yī)療、互聯(lián)網(wǎng)醫(yī)院、物資調度等疫情防控所需的信息處理技術及應用在全國各地得到普及。疫情期間,人工智能、大數(shù)據(jù)等技術在從最新疫情數(shù)據(jù)發(fā)布、虛假新聞信息辟謠、人群活動監(jiān)控和管理、疫情和生活物資流動,到高危人員的調查、追蹤,病毒感染者的發(fā)現(xiàn)、診斷和治療,以及普通人群特殊時期日常生活工作等疫情防控各環(huán)節(jié)發(fā)揮著卓有成效的作用,中國正在用“新武器”打贏這場“新冠”戰(zhàn)斗。
武漢市衛(wèi)健委響應國家智慧醫(yī)療建設,積極籌備了武漢健康云項目,該項目以病人就診的“一卡通”、電子病歷“一本通”、同級醫(yī)院檢查檢驗結果的“一單通”為基礎,是利用云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)等先進技術及理念打造的城市公共健康與醫(yī)療綜合性服務平臺?!拔錆h健康云”作為武漢市惠民服務工程,需為全市近千萬市民提供互聯(lián)網(wǎng)+健康醫(yī)療服務,采用傳統(tǒng)架構模式無法滿足要求,因此該項目采用基于先進云計算和大數(shù)據(jù)技術的智領云大數(shù)據(jù)應用云平臺解決方案,規(guī)范、高效地實現(xiàn)全民健康信息化項目要求的各項應用功能,同時為深層次大數(shù)據(jù)應用提供靈活、安全、可靠的基礎支撐架構。
“武漢健康云”有3 層架構。第一層是各級各類醫(yī)療衛(wèi)生機構的信息化基礎層,第二層是統(tǒng)一的武漢健康大數(shù)據(jù)云平臺,第三層是在平臺之上提供的服務,包括互聯(lián)網(wǎng)+健康服務、分級診療服務大數(shù)據(jù)應用服務,以及特色健康服務等。本文重點闡述大數(shù)據(jù)應用云平臺建設項目組織和實施過程,該應用云平臺為“武漢健康云”武漢健康大數(shù)據(jù)云平臺(第二層)提供了堅實的PaaS 層平臺,可為平臺之上運行的應用(第三層)提供高效穩(wěn)定的發(fā)布、監(jiān)控、運維及升級服務支撐。
2.1.1 項目需求
武漢健康云大數(shù)據(jù)應用云平臺項目主要需求有4 點:①在同一個平臺上支持運行13 家醫(yī)療應用廠商與數(shù)十種不同后臺服務及大數(shù)據(jù)應用軟件;②能部署在兩個不同的IaaS 平臺(楚天云、電信天翼云);③支持運行兩個不同的網(wǎng)絡(醫(yī)療專網(wǎng)、互聯(lián)網(wǎng)外網(wǎng));④以盡可能少的虛擬機資源運行更多的后臺服務,并具有快速擴展能力。
2.1.2 項目難點
項目需求帶來的難點主要表現(xiàn)在4 個方面。
(1)醫(yī)療應用廠商的應用系統(tǒng)有數(shù)十種,基于不同的操作系統(tǒng)及開發(fā)語言,使用不同類型的數(shù)據(jù)庫。如果使用傳統(tǒng)方式,在同一個平臺上分布這些應用服務,則需為不同類型的操作系統(tǒng)、不同版本的軟件系統(tǒng)分配不同的虛擬機,使整個資源規(guī)劃異常復雜。因為各應用廠家獨立申請資源,無法實現(xiàn)資源共享,導致系統(tǒng)資源利用率低,資源浪費嚴重。同時,因為各應用廠家獨立安裝所需系統(tǒng)中間件,其版本、架構不統(tǒng)一,使運維難度增大、成本增加。該部署方式后期也難以進行擴展。當系統(tǒng)訪問量急劇增長的時候,如果系統(tǒng)不能快速擴展,則難以保證系統(tǒng)的穩(wěn)定運行。
(2)從數(shù)據(jù)層面來看,使用傳統(tǒng)方式建設云平臺將造成數(shù)據(jù)集成困難。因為醫(yī)療應用廠商將數(shù)據(jù)保存在各自的數(shù)據(jù)庫系統(tǒng),造成原始數(shù)據(jù)和日志數(shù)據(jù)的管理無法統(tǒng)一,形成大量數(shù)據(jù)孤島,應用數(shù)據(jù)的集成需花費大量精力且無法平滑擴展。
(3)從應用層面來看,開發(fā)新的大數(shù)據(jù)應用將難以實現(xiàn)。因為按照傳統(tǒng)模式,數(shù)據(jù)采集、數(shù)據(jù)清理、脫敏、機器學習/人工智能應用需單獨的系統(tǒng)實現(xiàn),對接不同應用廠商使用的各種數(shù)據(jù)庫系統(tǒng),難以實現(xiàn)整體安全策略,無法在保證數(shù)據(jù)安全的條件下快速實施數(shù)據(jù)應用。
(4)從部署方式上看,所有應用需部署在內外網(wǎng)的兩套IaaS 系統(tǒng)上,其部署流程應方便快速并且保持一致性,而傳統(tǒng)部署模式難以保證部署的高效性。
針對以上難點,采用以Mesos 為底層資源管理,以Docker 容器運行微服務應用的云原生架構。
(1)使用Docker 將所有應用服務轉化成微服務架構,微服務架構將不同操作系統(tǒng)、不同語言開發(fā)的應用都封裝到容器里,這樣不同的應用系統(tǒng)可運行在同一個虛擬機上,極大降低了部署復雜性并提升了資源利用率。
(2)使用Mesos 管理底層資源(CPU、內存和存儲空間),可將所有虛擬機資源當作一個資源池進行管理,自動將容器部署在任何滿足容器資源要求的虛擬機之上而無需人工干預。這種資源管理方式進一步降低了系統(tǒng)部署的復雜性,并且能實現(xiàn)統(tǒng)一的應用監(jiān)控、報警、運維和升級,可在系統(tǒng)訪問量急劇增長時快速實現(xiàn)系統(tǒng)擴展。
(3)在微服務架構下,不同應用廠商的應用實現(xiàn)了與數(shù)據(jù)庫系統(tǒng)的分離,使這些應用可共享數(shù)據(jù)庫資源。而共享的數(shù)據(jù)庫資源也部署在統(tǒng)一的云原生架構上,極大簡化了數(shù)據(jù)采集復雜度,可避免數(shù)據(jù)孤島的出現(xiàn),為未來數(shù)據(jù)中臺建設創(chuàng)造條件。
(4)Mesos+容器的云原生架構可提供方便的負載均衡管理,能夠輕松滿足在內外網(wǎng)環(huán)境下的應用服務訪問需求,保證應用服務被安全地訪問。
武漢健康云大數(shù)據(jù)應用云平臺項目整體規(guī)劃解決方案采用先進的資源管理系統(tǒng)Mesos 與基于Docker 的微服務架構,實現(xiàn)了醫(yī)療應用的PaaS(Platform-as-a-Service)平臺。該解決方案架構有3 層,如圖1 所示。
(1)底層是整個集群的虛擬機資源,每個虛擬機都安裝同一版本的操作系統(tǒng)且配置相同(網(wǎng)絡、文件卷及用戶)。這種配置在新增資源擴展集群時,可以快速地將一個新的虛擬機加入集群而不需要額外配置。
(2)在虛擬機之上是Mesos 資源管理系統(tǒng),將虛擬機集群管理成一個統(tǒng)一的資源池,所有CPU、內存和硬盤資源都進行統(tǒng)一的自動化管理。Mesos 支持Marathon 容器調度框架,可以輕松實現(xiàn)容器部署、運維和升級。
(3)在Mesos 資源管理系統(tǒng)之上運行的是智領云BDOS(Data-driven IT Architectured PaaS Platform)大數(shù)據(jù)操作系統(tǒng)。該系統(tǒng)提供統(tǒng)一的圖形化界面管理應用整個生命周期,完成應用安裝(容器創(chuàng)建)、發(fā)布、和升級。同時,BDOS實現(xiàn)了一個統(tǒng)一的微服務應用監(jiān)控、報警和運維平臺,使各個不同的應用開發(fā)廠商可以獨立發(fā)布、監(jiān)控和運維各自開發(fā)的程序應用。同時,平臺運營商可在同一個平臺上運維和管理數(shù)據(jù)庫系統(tǒng)。

Fig.1 The architecture of BDOS platform圖1 大數(shù)據(jù)應用云平臺整體架構
武漢健康云大數(shù)據(jù)應用云平臺包含下列軟件系統(tǒng):
(1)開源的Mesos 及Marathon 系統(tǒng)。首先針對Mesos 系統(tǒng)開發(fā)了一套集群自動檢測和部署系統(tǒng),其中檢測系統(tǒng)能對集群中所有虛擬機進行初始(用戶、網(wǎng)絡、磁盤及安全性)配置,以滿足Mesos 安裝需求;其次部署系統(tǒng)以并發(fā)的方式進行集群部署,極大加速了集群部署速度。
(2)智領云自主研發(fā)的BDOS 大數(shù)據(jù)操作系統(tǒng)。該系統(tǒng)包括7 個子系統(tǒng):①集群管理。應用云平臺提供服務器集群的基礎管理功能,包括集群基礎信息查詢、當前應用總覽、集群節(jié)點管理功能,包括添加、刪除節(jié)點和修改節(jié)點配置等;②系統(tǒng)服務。為平臺提供核心的系統(tǒng)服務,包括二進制文件管理、負載均衡管理;③應用管理。為平臺提供應用的發(fā)布與配置管理,包括應用部署的資源配置、實例數(shù)配置、健康檢查配置、服務發(fā)現(xiàn)配置、負載均衡配置、日志配置等,還有應用版本控制管理、應用運行狀態(tài)監(jiān)控與管理,包括應用狀態(tài)查詢、應用啟??刂频?;④日志操作管理。為應用云平臺提供系統(tǒng)及應用的日志收集、日志存儲、日志收索及分析功能,記錄系統(tǒng)中所有操作,包括操作人員、參數(shù)和運行結果,并提供記錄的查詢功能;⑤監(jiān)控報警管理。為應用云平臺提供系統(tǒng)與應用的各種資源及狀態(tài)指標的監(jiān)控功能,包括硬件資源指標、系統(tǒng)運行狀態(tài)指標、數(shù)據(jù)庫資源指標、應用狀態(tài)指標等,并根據(jù)預設的報警規(guī)則提供報警功能;⑥用戶管理。為應用云平臺提供用戶管理功能,包括個人用戶管理、安全組管理,并提供多用戶支持、資源隔離、功能隔離、數(shù)據(jù)隔離和應用隔離等;⑦運維管理。為系統(tǒng)運維開發(fā)提供實用工具,包括基于Web 頁面操作的Ping 工具、Telnet 工具及Terminal 等。
如圖2 所示,BDOS 大數(shù)據(jù)應用云平臺運行在管理虛擬機資源的Mesos 系統(tǒng)以及容器調度框架Marathon 之上。應用云平臺本身也是微服務架構,運行多個容器應用。其中,核心應用包含BDOS Core 應用與BDOS Web 應用,這兩個應用元數(shù)據(jù)均保存在MySQL(以容器方式運行)中。BDOS Core 應用通過接口提供各種服務,包括集群管理、系統(tǒng)服務、應用管理、運維工具等。BDOSWeb 應用為系統(tǒng)管理人員提供了圖形化操作界面。應用云平臺運行的其他容器應用包括提供監(jiān)控報警管理的Prometheus 和Grafana應用、提供日志管理的Logviewer 應用、提供多用戶管理的Keycloak 應用、提供安全認證管理的Kerberos 應用以及提供授權管理的Ranger 應用。

Fig.2 The design of BDOS platform圖2 大數(shù)據(jù)應用云平臺整體設計
BDOS 容器應用發(fā)布設計如圖3 所示。首先,BDOS 容器應用發(fā)布有一套標準的配置文件,系統(tǒng)管理人員按照要求從BDOS 圖形化操作界面輸入容器的Dockerfile,監(jiān)控面板配置(兼容開源軟件Grafana 的配置文件格式)、對外提供服務的接口、監(jiān)控報警配置(兼容開源軟件Prometheus 的配置文件格式)等其他配置選項,然后將應用一鍵發(fā)布成容器。

Fig.3 The design of application deployment圖3 大數(shù)據(jù)應用云平臺容器應用發(fā)布設計
該容器運行在BDOS 應用云平臺之后會與Prometheus監(jiān)控報警系統(tǒng)、Grafana 監(jiān)控面板、Logviewer 日志系統(tǒng)進行自動對接,不需要再進行任何手工配置。容器應用安裝和部署均由BDOSCore 應用完成。首先在安裝過程中,BDOSCore 根據(jù)Dockerfile 和其他配置文件,生成該應用容器鏡像,然后將鏡像推送到BDOS 鏡像倉庫。在部署過程中,BDOS Core 在收集了該容器應用的所有配置文件后,通過接口調用,將這些文件分別發(fā)送到Prometheus(及Pro?metheus Alert Manager)和Grafana 應用中,并使新的配置文件在Prometheus 和Grafana 應用中得到啟用。同時,BDOS Core 生成該應用的Marathon 任務文件并通過接口調用發(fā)送給Marathon,Marathon 會從容器鏡像拉取該應用的鏡像進行容器部署。需注意在宿主機上部署容器時,容器應用會將日志寫入指定的宿主機目錄。而每個宿主機都將運行一個Logviewer Agent 容器,收集指定目錄的所有日志,并通過BDOSWeb 應用中的Logviewer 界面展示給系統(tǒng)管理人員。另外,在宿主機中,BDOS 運行一個Node Exporter 容器應用收集宿主機資源(CPU、內存、硬盤、網(wǎng)絡)監(jiān)控指標并發(fā)送給Prometheus,以完成集群資源監(jiān)控和報警。最后,每個容器應用配置一個App Exporter 服務將該容器應用的監(jiān)控指標(比如Http 訪問請求數(shù)、Http 請求處理時長等)傳送給Prometheus,從而實現(xiàn)應用級別的監(jiān)控和報警。
BDOS 支持多用戶系統(tǒng),每個用戶使用同一個ID 和賬號登錄系統(tǒng)中的所有應用,并使用同一ID 安全訪問大數(shù)據(jù)系統(tǒng)的所有組件。多用戶安全體系設計如圖4 所示。
首先,用戶在應用中的身份認證通過OpenID Connect協(xié)議完成。每個新用戶創(chuàng)建時,BDOSCore 應用會在開源的Keycloak 應用中創(chuàng)建該用戶(和其所屬的組),同時在集群所有宿主機上創(chuàng)建該用戶Linux 賬號,并在Kerberos 應用中創(chuàng)建該用戶密鑰Keytab 文件。BDOS 運行的系統(tǒng)應用(通過相應的代碼開發(fā)與集成)運行OpenID Connect 插件,當用戶登錄這些系統(tǒng)應用時,系統(tǒng)應用通過Keycloak 應用進行身份認證,認證通過以后,用戶即可使用同一個賬號登錄進入系統(tǒng)應用,這與使用微信賬號登錄多部手機應用是同一道理。當用戶需要訪問大數(shù)據(jù)組件(Hadoop、Hive、Spark和Kafka 等)時,BDOS Core 應用會將該用戶的ID 以及密鑰Keytab 文件傳送給需要訪問的大數(shù)據(jù)組件。這些大數(shù)據(jù)組件首先訪問Keycloak 應用,確認該用戶已注冊并獲取用戶所屬組的信息;然后與ApacheRanger 應用通訊,確認該用戶和其所屬的組有訪問該大數(shù)據(jù)組件的授權;最后與Ker?beros 應用通訊,確認該用戶的Keytab 密鑰是有效的。當這些安全認證和資源授權通過以后,該用戶即可在相應的大數(shù)據(jù)組件上讀寫數(shù)據(jù)。BDOS 應用云平臺對應用層開源大數(shù)據(jù)應用Hue、Superset、Zeppelin 和Jupyter Notebook,以及大數(shù)據(jù)開源組件Hadoop、Hive、Spark 和Kafka 均進行了開源代碼修改,以確保整個用戶安全認證體系的統(tǒng)一實現(xiàn),這些修改將被提交到相應開源項目以回饋開源社區(qū)。

Fig.4 The design of multi-tenancy system圖4 大數(shù)據(jù)應用云平臺多用戶安全體系設計
在項目規(guī)劃初期,按照傳統(tǒng)各廠商部署模式,武漢健康云預估的虛擬機是130 臺,但實施大數(shù)據(jù)應用云平臺方案以后,僅使用72 臺虛擬機,將規(guī)劃資源(虛擬機,CPU,內存,硬盤)降低了30%~50%。將所有應用轉換成微服務架構后,各廠商自行進行應用發(fā)布和升級,從預估以周為單位的發(fā)布升級提升為以天為單位的發(fā)布升級。由于不同應用廠商發(fā)布的應用可運行在同一個虛擬機之上,系統(tǒng)資源使用率從預估的5%增長到30%,提高5~6 倍。
大數(shù)據(jù)應用云平臺上線以后,整個系統(tǒng)支持彈性擴展和按需擴容,從三年規(guī)劃變?yōu)橐荒暌?guī)劃。首先是軟件彈性擴容。例如:一個廠商在上線前突然需發(fā)布兩個新的應用,在新的架構下,幾分鐘之后即可發(fā)布上線,無需等待分配新機器及配置。新的應用也無需到任何機器上安裝,直接從界面上傳到容器倉庫。在負載增大時可直接點擊配置界面,一鍵擴容,將一個應用實例擴展為N 個應用實例,無需指定任何機器,手動安裝,或者手動配置負載均衡;其次是硬件的彈性擴容,需要增加新的虛擬機進入集群時,系統(tǒng)管理人員僅需運行幾個命令,5min 之內即可將一臺新的虛擬級加入集群。本文將在疫情防控案例分析中詳細闡述彈性擴容設計和實現(xiàn)。
大數(shù)據(jù)應用云平臺支持圖形化的方式進行應用發(fā)布和管理。每個應用開發(fā)廠商均有獨立的賬號,登錄后可以進行各自的應用發(fā)布和管理,互相不干擾。應用發(fā)布和管理的界面可將Tomcat 的war 包、Java 開發(fā)的Jar 包以及其他語言開發(fā)的系統(tǒng),以統(tǒng)一配置的方式發(fā)布成容器應用,發(fā)布后可進行容器啟動、停止、擴容、降容、配置修改、配置回滾等各種操作。同時,各系統(tǒng)之間的調用通過Mesos 內置的L4 自動負載均衡加虛擬IP(VIP)實現(xiàn),無需安裝內部DNS 系統(tǒng),或者以固定IP 或手動配置方式實現(xiàn)負載均衡。這一特性極大簡化了服務訪問配置復雜性,在擴容或負載遷移的情況下均無需更改配置。
大數(shù)據(jù)應用云平臺支持系統(tǒng)的高可用。首先是整個系統(tǒng)沒有無單點失效,當某個應用崩潰的時候,Mesos 會將該應用進行自動重啟;其次是當某個虛擬機遭遇硬件故障下線時,Mesos 會自動將該虛擬機上運行的應用遷移到其他有效的并且滿足應用資源需求的虛擬機上。同時,由于使用了負載均衡及虛擬IP 模式部署容器應用,各應用實例之間不會出現(xiàn)資源沖突(端口、存儲、第三方庫),所以可保證容器應用遷移成功。
大數(shù)據(jù)應用云平臺支持統(tǒng)一、自動的監(jiān)控、報警和日志管理。BDOS 大數(shù)據(jù)操作系統(tǒng)通過容器應用發(fā)布的統(tǒng)一配置,使每個運行的容器應用以統(tǒng)一方式對外發(fā)布監(jiān)控指標,進行監(jiān)控報警配置,同時將應用日志寫入統(tǒng)一的本地硬盤目錄。因此這些容器應用的監(jiān)控指標將被Prometheus監(jiān)控系統(tǒng)自動收集,它們的監(jiān)控配置也會自動發(fā)送到Pro?metheus 的Alert Manager 并進行監(jiān)控。BDOS 自帶的日志系統(tǒng)通過部署在每個虛擬機的代理程序將這些容器應用發(fā)布的日志統(tǒng)一收集起來并在圖形化的界面上進行展示。除了容器應用的監(jiān)控,BDOS 還在各虛擬機部署了節(jié)點資源監(jiān)控及容器監(jiān)控代理服務,將節(jié)點資源(CPU、內存、硬盤空間)容器使用資源(CPU、內存、容器文件空間)均納入了統(tǒng)一的監(jiān)控系統(tǒng)。
大數(shù)據(jù)應用云平臺上線以后,支撐了武漢健康云13 家醫(yī)療應用廠商開發(fā)的數(shù)十種不同后臺服務及大數(shù)據(jù)應用軟件的穩(wěn)定運行。在疫情期間,由于需支持數(shù)百萬人同時在線進行核酸檢測結果查詢,平臺在幾個小時之內的訪問量急劇上升,多個應用出現(xiàn)訪問瓶頸,同時系統(tǒng)資源使用率也攀升到90%左右。在這種情況下,系統(tǒng)管理員快速進行了軟件和硬件的彈性擴容,在短短的十幾分鐘之內將系統(tǒng)負載和資源使用率降到平穩(wěn)程度,可滿足急劇增加的訪問請求,保證系統(tǒng)穩(wěn)定運行。
彈性擴容的實現(xiàn)首先需依靠對容器應用和系統(tǒng)資源的監(jiān)控。本文在介紹系統(tǒng)設計時,已指出BDOS 支持對應用級與虛擬機資源的監(jiān)控和報警。系統(tǒng)管理人員可通過BDOS 可視化監(jiān)控面板監(jiān)測應用及系統(tǒng)的運行情況(彩圖掃OSID 碼可見),集群資源監(jiān)控面板中,集群節(jié)點CPU和內存使用情況一目了然。應用級別的監(jiān)控面板對應用資源的最高使用率用紅色標注以引起系統(tǒng)管理人員的注意。BDOS 報警系統(tǒng)在系統(tǒng)出現(xiàn)異常情況時,例如某個應用的Http 訪問請求數(shù)急劇增加,某個節(jié)點資源使用率達90%以上,將通過內部郵件或短信的形式通知系統(tǒng)管理人員,進行有效干預。
在疫情期間,由于數(shù)百萬人同時在線進行核酸檢測結果查詢,負責結果查詢的容器應用的Http 訪問請求數(shù)急劇增加,同時Http 請求處理時間也出現(xiàn)延時。系統(tǒng)管理人員在收到報警信息后,通過觀察監(jiān)控面板確認訪問流量增加,立即實施了容器應用的軟件擴容。軟件擴容首先是底層系統(tǒng)的支持,Mesos 本身支持容器實例快速擴容,使各虛擬機從統(tǒng)一的容器倉庫拉取容器鏡像進行快速安裝和啟動;其次,BDOS 圖形化界面提供應用一鍵擴容功能,系統(tǒng)管理人員僅需點擊鼠標,在幾秒鐘之內即可完成容器應用的擴容。當多個容器應用均需進行軟件擴容時,依靠在Mesos 中實現(xiàn)的帶權重的DRF(Dominant Resource Fairness)算法[7]實現(xiàn)資源分配。該算法是帶權重的最大最小化公平分配算法(Max-Min Fair Share Algorithm)[8],是在多種資源情況下的一種實現(xiàn),盡量滿足容器應用資源請求中的最小需求,然后將集群中剩余的資源公平地分配給剩下的容器應用。帶權重的DRF 算法在實踐中被證實比其他公平性算法有更好的總體性能[7]。最近研究表明,該算法還可被改進以進一步提高資源使用率[9]。
在應對疫情期間訪問流量急劇增加的過程中,系統(tǒng)管理人員還發(fā)現(xiàn)系統(tǒng)資源不足的情況,即集群沒有足夠資源滿足軟件彈性擴容的需求,需執(zhí)行硬件彈性擴容。首先系統(tǒng)管理人員將預先準備的虛擬機節(jié)點IP 信息輸入到BDOS圖形化界面,然后點擊“一鍵擴容”。接著,BDOSCore 應用啟動虛擬機部署程序,該程序支持并發(fā)式部署模式,可在很短時間內完成對多個虛擬機節(jié)點初始配置和軟件安裝,將虛擬機加入到集群中并投入使用。在實際操作中,加入一個新的虛擬機節(jié)點時耗在5min 以內,在演練過程中,同時加入5 個虛擬機節(jié)點用時在10min 左右。
BDOS 大數(shù)據(jù)應用云平臺彈性擴容機制在疫情期間發(fā)揮了重要作用,對于系統(tǒng)管理人員和應用開發(fā)廠商而言,該機制從操作簡便性與反應快速性方面均遠超傳統(tǒng)方式下的軟硬件擴容方案。傳統(tǒng)方式下,新應用的安裝及新虛擬機的配置需手動操作,步驟繁瑣而且非常耗時,同時通過人工判斷如何進行資源分配很難達到預期效果。相比之下,BDOS 支持圖形化界面操作,應用及系統(tǒng)監(jiān)控是可視化界面,軟硬件擴容也是可視化界面一鍵操作,非常方便。同時,容器應用彈性擴容所需資源由DRF 算法保證其公平性,保證了多個容器應用彈性擴容需求能被自動、公平地完成。
現(xiàn)有大型信息化系統(tǒng)云化、容器化是必然趨勢,使用一個統(tǒng)一、高效、可靠的PaaS 平臺是關鍵。在建設武漢健康云項目的過程中,基于Mesos+Docker 的大數(shù)據(jù)應用云平臺方案證明是符合需求的架構。從開始架構設計(2017 年10 月)到集成13 家廠商的應用系統(tǒng)上線(2017 年11 月),時耗控制在1 個月以內。從系統(tǒng)目前運營情況,包括應用集成、發(fā)布升級速度,系統(tǒng)穩(wěn)定性,資源使用的效率以及運維靈活方便性等方面來看,該平臺達到了設計要求。在大數(shù)據(jù)應用云平臺之上建設的武漢市健康云也成功打通了全市43 家公立醫(yī)院和204 家基層醫(yī)療機構及部分部、省屬醫(yī)院,是武漢市智慧醫(yī)療建設的一次提檔升級。國家衛(wèi)生健康委基層司將該項目定位為全國基層健康信息惠民應用試點示范項目。
與大部分企業(yè)信息化發(fā)展歷程相似,醫(yī)療行業(yè)在發(fā)展初期大多強調業(yè)務軟件開發(fā)與功能的實現(xiàn),隨著系統(tǒng)的增多,各種應用煙囪效應逐漸暴露,在數(shù)據(jù)使用和資源利用方面也出現(xiàn)了相同問題。武漢市城市“智慧健康”項目借助智領云BDOS 提供的大數(shù)據(jù)應用云平臺方案,真正實現(xiàn)了資源的高效利用,尤其在新冠疫情期間,系統(tǒng)能在兩天內實現(xiàn)快速彈性擴容,支撐數(shù)百萬人在線核酸檢測結果查詢,在突如其來的疫情中實現(xiàn)了最大化的應急防控,該項目建立的可持續(xù)發(fā)展的醫(yī)療服務平臺更為健康中國建設起到了添磚加瓦的作用。