陳穎聰 陳智明 丘美景
(廣東電網(wǎng)有限責(zé)任公司梅州供電局,廣東梅州514542)
在當(dāng)前互聯(lián)網(wǎng)運(yùn)行環(huán)境下,任何以算法結(jié)構(gòu)設(shè)施和軟件應(yīng)用程序?yàn)檫\(yùn)行基礎(chǔ)的公司,皆需要保證在用戶和客戶對(duì)網(wǎng)絡(luò)有操作請(qǐng)求時(shí)其相關(guān)系統(tǒng)和應(yīng)用程序是可用的。但是在過(guò)去的幾年里,系統(tǒng)常被設(shè)置為僅可以在規(guī)定運(yùn)行時(shí)間內(nèi)對(duì)請(qǐng)求做出應(yīng)答;也就是說(shuō)操作請(qǐng)求倘若發(fā)生在規(guī)定運(yùn)行時(shí)間以外,其相關(guān)用戶和客戶的請(qǐng)求便無(wú)法被受理,繼而無(wú)法進(jìn)行有效操作。然而,由于地域的不同,一個(gè)城市或國(guó)家所設(shè)定的有效運(yùn)行應(yīng)答時(shí)間可能在另一個(gè)城市或國(guó)家的某項(xiàng)時(shí)間段內(nèi)為無(wú)效應(yīng)答時(shí)間。
因此,在不同的市場(chǎng)區(qū)域內(nèi),用戶和客戶對(duì)系統(tǒng)供應(yīng)的要求一直在增加,此外,對(duì)計(jì)算可用性以及正常運(yùn)行時(shí)間的需求也在不斷上升。而且由于世界各地的主要Web站點(diǎn)皆為全天候可用,同時(shí)沒有任何停機(jī)時(shí)間限制,所以現(xiàn)有的需求已經(jīng)迫使互聯(lián)網(wǎng)公司自己尋求提升,繼而適應(yīng)更大的發(fā)展空間。
對(duì)于國(guó)外IT公司來(lái)說(shuō),這些關(guān)于系統(tǒng)和應(yīng)用程序可用性的需求與以往并沒有什么不同。
在過(guò)去的10年中,國(guó)外IT公司在網(wǎng)絡(luò)工程可用性維護(hù)、系統(tǒng)過(guò)程支持和團(tuán)隊(duì)力量方面進(jìn)行了越來(lái)越多的投資,以此來(lái)滿足和管理在其投資組合中每個(gè)應(yīng)用程序所定義的SLA(服務(wù)等級(jí)協(xié)議)。而且從2008年開始,國(guó)外IT公司便開始通過(guò)對(duì)網(wǎng)絡(luò)系統(tǒng)中的實(shí)踐、工具、過(guò)程、工程、通信和組織方法進(jìn)行優(yōu)化來(lái)提高整體協(xié)議的可用性,同時(shí)研究發(fā)現(xiàn),其針對(duì)協(xié)議的相關(guān)工作已經(jīng)超過(guò)了現(xiàn)有的SLA[1]。當(dāng)然,依據(jù)目前掌握的互聯(lián)網(wǎng)技術(shù),其中的部分優(yōu)化已然可以有效實(shí)現(xiàn)?;谝陨戏治?,在本文中,將對(duì)國(guó)外IT公司所提出的優(yōu)化過(guò)程中關(guān)于可用性SLA的研究作出詳細(xì)介紹。
當(dāng)前國(guó)外IT公司所使用的網(wǎng)絡(luò)操作環(huán)境主要包括面向公眾的基于Web的應(yīng)用程序和內(nèi)部使用的ERP(企業(yè)資源計(jì)劃)系統(tǒng)。同時(shí)在整體業(yè)務(wù)運(yùn)行過(guò)程中,網(wǎng)絡(luò)服務(wù)供應(yīng)商主要對(duì)網(wǎng)絡(luò)運(yùn)行環(huán)境進(jìn)行服務(wù)管理,IT公司則從終端客戶的角度負(fù)責(zé)對(duì)系統(tǒng)的開發(fā)以及運(yùn)營(yíng)進(jìn)行可用性檢測(cè)。
本文主要介紹的SLA便是以該類服務(wù)分工框架為運(yùn)行基礎(chǔ),從而為系統(tǒng)提供可被用戶和客戶接受的正常運(yùn)行時(shí)間以及問(wèn)題響應(yīng)時(shí)間,繼而直接使客戶受益。而且該協(xié)議還可通過(guò)隔離故障干擾來(lái)幫助研究人員提升技術(shù)開發(fā)進(jìn)度,從而滿足網(wǎng)絡(luò)發(fā)展需要,并使得用戶以及客戶的操作得到最有效的保障。
本文的其余部分組織如下:第1節(jié)對(duì)可用性的背景進(jìn)行簡(jiǎn)單敘述;第2節(jié)對(duì)國(guó)外IT公司所提出的可用性SLA(服務(wù)等級(jí)協(xié)議)進(jìn)行簡(jiǎn)要說(shuō)明;第3節(jié)對(duì)可用性SLA(服務(wù)等級(jí)協(xié)議)中的DevOps轉(zhuǎn)換進(jìn)行分析闡述;第4節(jié)對(duì)國(guó)外IT公司的運(yùn)營(yíng)經(jīng)驗(yàn)進(jìn)行簡(jiǎn)單說(shuō)明,并由此對(duì)本文所介紹的SLA具有的部分特點(diǎn)進(jìn)行驗(yàn)證;最后在第5節(jié)對(duì)全文進(jìn)行總結(jié)。
在互聯(lián)網(wǎng)運(yùn)算過(guò)程中,有一些與IT系統(tǒng)和應(yīng)用服務(wù)的一致交付相關(guān)聯(lián)的核心術(shù)語(yǔ)。例如,“可用性”被定義為在計(jì)劃運(yùn)行中窗口或調(diào)度區(qū)間的正常運(yùn)行時(shí)間百分比;而“驅(qū)動(dòng)可用性”則是對(duì)系統(tǒng)及其支持操作過(guò)程可靠性的定義說(shuō)明,當(dāng)然其可以進(jìn)一步分解為組合應(yīng)用程序或組件的可靠性。
為了對(duì)其中一些術(shù)語(yǔ)進(jìn)行具體說(shuō)明,我們提出了一些基本的定義。根據(jù)以上所述,“可用性”被正式定義為計(jì)劃操作窗口內(nèi)正常運(yùn)行時(shí)間的百分比,其計(jì)算方法[2]如下:
由公式(1)可知,互聯(lián)網(wǎng)系統(tǒng)操作的計(jì)劃時(shí)間以及其相關(guān)窗口內(nèi)實(shí)現(xiàn)的停機(jī)時(shí)間對(duì)于可用性的計(jì)算非常重要。但是由于影響可用性的一個(gè)關(guān)鍵因素是程序及其相關(guān)組件的可靠性,因此將“可靠性”正式定義為給定時(shí)間段[3]內(nèi)程序無(wú)故障運(yùn)行的概率,表達(dá)公式如下:
在開發(fā)可用性SLA時(shí),傳統(tǒng)方法是先構(gòu)建一個(gè)正常運(yùn)行時(shí)間目標(biāo),然后將其通過(guò)運(yùn)算得到的結(jié)果作為計(jì)劃操作窗口總數(shù)的百分比。但大多數(shù)系統(tǒng)并不能實(shí)現(xiàn)100%正常運(yùn)行時(shí)間,因?yàn)橛行┙M件最終會(huì)產(chǎn)生運(yùn)行誤差,除非每個(gè)組件都具有高可用性和冗余故障轉(zhuǎn)移功能,而具備這種功能的設(shè)計(jì)經(jīng)常出現(xiàn)在航天器、航空航天系統(tǒng)以及其他生命關(guān)鍵系統(tǒng)[4]上。基于此,大多數(shù)互聯(lián)網(wǎng)系統(tǒng)通常需要考慮的是可用性占正常運(yùn)行時(shí)間的百分比。
但在國(guó)外IT公司運(yùn)行維護(hù)過(guò)程中,每個(gè)應(yīng)用程序所用SLA的確定不僅需考慮可用性程度,而且還需要考慮包括產(chǎn)品方向、目標(biāo)用戶群體、相關(guān)設(shè)計(jì)維護(hù)以及經(jīng)濟(jì)學(xué)在內(nèi)的許多因素?;谝陨戏治?,在本文中將對(duì)國(guó)外IT公司所提的基于ITIL驅(qū)動(dòng)的可用性服務(wù)等級(jí)協(xié)議進(jìn)行介紹,并提供關(guān)于SLA目標(biāo)本身的相關(guān)細(xì)節(jié)。我們相信此服務(wù)等級(jí)協(xié)議是合理的,并且可以在不同的網(wǎng)絡(luò)環(huán)境中使用。
可用性的高低一直是服務(wù)等級(jí)協(xié)議合理性的關(guān)鍵衡量指標(biāo),但是由于以往設(shè)置利用的SLA通常致力于提供系統(tǒng)和應(yīng)用程序的可用性框架,所以其對(duì)于可用性的關(guān)注并不是太高,因?yàn)橹灰嚓P(guān)協(xié)議具有可用性,則其便可以對(duì)所包括的系統(tǒng)程序進(jìn)行操作服務(wù)。然而,隨著當(dāng)下互聯(lián)網(wǎng)用戶的激增以及相關(guān)技術(shù)產(chǎn)品開發(fā)對(duì)服務(wù)管理平臺(tái)穩(wěn)定性的要求提高,以往一直使用的SLA不再能夠滿足用戶以及客戶的需求?;诖?,國(guó)外IT公司研究提出了一些包括ITIL驅(qū)動(dòng)在內(nèi)的新的產(chǎn)品技術(shù)。
分析發(fā)現(xiàn),ITIL驅(qū)動(dòng)[5]作為一種以互聯(lián)網(wǎng)關(guān)鍵信息技術(shù)為操作基礎(chǔ)的驅(qū)動(dòng)技術(shù),其可以對(duì)服務(wù)等級(jí)協(xié)議進(jìn)行即時(shí)監(jiān)測(cè)以及管理。在本節(jié)中,將分別從包括架構(gòu)設(shè)計(jì)、監(jiān)測(cè)報(bào)警以及發(fā)布管理在內(nèi)的三個(gè)方面對(duì)所提出的基于ITIL驅(qū)動(dòng)的可用性服務(wù)等級(jí)協(xié)議進(jìn)行分析介紹。
首先對(duì)此服務(wù)等級(jí)協(xié)議的架構(gòu)設(shè)計(jì)進(jìn)行說(shuō)明。為了滿足用戶以及客戶的不同需求,國(guó)外IT公司在該協(xié)議的每個(gè)體系結(jié)構(gòu)層上使用了冗余服務(wù)器[6],此服務(wù)器可以對(duì)一定級(jí)別的數(shù)據(jù)進(jìn)行復(fù)制以及同步,因此該協(xié)議下幾乎所有的系統(tǒng)架構(gòu)都具有較高的可用性以及容錯(cuò)能力。而且為了保證現(xiàn)有可用性的穩(wěn)定性,該協(xié)議通過(guò)使用Oracle的RAC(有效應(yīng)用程序集群)等效技術(shù)來(lái)使系統(tǒng)架構(gòu)具有實(shí)時(shí)故障轉(zhuǎn)移能力。
除此之外,國(guó)外IT公司還開發(fā)了一些應(yīng)用程序,這些應(yīng)用程序可以在網(wǎng)絡(luò)系統(tǒng)出現(xiàn)錯(cuò)誤分析時(shí)提供智能管理。例如,如果主消息傳遞路徑出現(xiàn)故障,則應(yīng)用程序可以自動(dòng)在連接可用時(shí)對(duì)操作請(qǐng)求進(jìn)行排隊(duì)重試,從而防止關(guān)鍵客戶事務(wù)信息丟失。這種設(shè)計(jì)對(duì)于高可用性的獲得是至關(guān)重要的。而且這些應(yīng)用程序還可以將對(duì)設(shè)計(jì)方法的改進(jìn)反饋到體系結(jié)構(gòu)中,從而可以對(duì)未來(lái)可能出現(xiàn)的故障進(jìn)行分析解決。
其次,對(duì)協(xié)議執(zhí)行過(guò)程中的監(jiān)測(cè)報(bào)警進(jìn)行簡(jiǎn)要敘述。在整體操作體系結(jié)構(gòu)中,每個(gè)系統(tǒng)、應(yīng)用程序以及組件皆有相對(duì)應(yīng)的監(jiān)視和警報(bào)級(jí)別,從而保證給定SLA運(yùn)行環(huán)境的安全性。例如,國(guó)外IT公司將自定義日志和警報(bào)機(jī)制內(nèi)置到應(yīng)用程序以及系統(tǒng)結(jié)構(gòu)層中,以此為監(jiān)視工具的即時(shí)應(yīng)答提供自定義覆蓋[7]。此外,國(guó)外IT公司還將應(yīng)用程序組合構(gòu)建在公共代碼庫(kù)上,從而使得該數(shù)據(jù)庫(kù)在協(xié)議執(zhí)行遇到故障時(shí)可及時(shí)分析相關(guān)應(yīng)用程序頁(yè)面的行為、性能,繼而對(duì)所遇異常情況進(jìn)行報(bào)警處理。
最后對(duì)SLA下的發(fā)布管理進(jìn)行簡(jiǎn)單說(shuō)明。發(fā)布管理主要構(gòu)建在SLA的體系結(jié)構(gòu)和監(jiān)視領(lǐng)域之上,其可對(duì)生產(chǎn)環(huán)境中的具體變更進(jìn)行部署。但是只有當(dāng)數(shù)據(jù)集被有效發(fā)布及定義,協(xié)議結(jié)構(gòu)層才會(huì)在生產(chǎn)環(huán)境中對(duì)這些集合或發(fā)布進(jìn)行調(diào)度、測(cè)試以及生產(chǎn)執(zhí)行。當(dāng)然在這個(gè)過(guò)程中需要對(duì)存儲(chǔ)配置、防火墻規(guī)則供應(yīng)進(jìn)行審查,從而保證數(shù)據(jù)集的質(zhì)量以及服務(wù)管理的流暢性[5]。由于整個(gè)生產(chǎn)發(fā)布過(guò)程所用的數(shù)據(jù)集皆為高質(zhì)量的,所以其可以有效保證計(jì)劃內(nèi)SLA的可用性。
在ITIL驅(qū)動(dòng)框架中,安全性是一個(gè)一直被廣泛關(guān)注的關(guān)鍵性問(wèn)題,因?yàn)槠鋵⒅苯記Q定所提協(xié)議是否可以有效運(yùn)行。經(jīng)過(guò)多年的研究,國(guó)外IT公司所定義的InfoSec程序已經(jīng)可以滿足所提協(xié)議對(duì)于安全性的需求,研究人員只需要將此程序擴(kuò)展到統(tǒng)一的業(yè)務(wù)單元[8],繼而將其合并到DevOps轉(zhuǎn)換方法中即可。基于此,本文將對(duì)基于ITIL驅(qū)動(dòng)的可用性服務(wù)等級(jí)協(xié)議中的DevOps轉(zhuǎn)換進(jìn)行簡(jiǎn)要分析介紹,并由此說(shuō)明DevOps轉(zhuǎn)換在所提協(xié)議發(fā)展過(guò)程中的重要性。
從2015年開始,國(guó)外的IT公司便開始深入研究DevOps轉(zhuǎn)換對(duì)于互聯(lián)網(wǎng)技術(shù)開發(fā)以及可用性SLA運(yùn)行的意義。研究發(fā)現(xiàn),DevOps轉(zhuǎn)換的關(guān)鍵作用之一是可以實(shí)現(xiàn)協(xié)議結(jié)構(gòu)框架構(gòu)建以及部署的自動(dòng)化,而這將涵蓋互聯(lián)網(wǎng)服務(wù)器的代碼庫(kù)以及數(shù)據(jù)庫(kù)[9]。這一作用也將通過(guò)SLA部署時(shí)間的改變而顯現(xiàn),例如DevOps轉(zhuǎn)換使得某些地區(qū)的協(xié)議部署時(shí)間從幾小時(shí)下降到幾分鐘,這一特點(diǎn)將為互聯(lián)網(wǎng)技術(shù)產(chǎn)品開發(fā)提供開發(fā)規(guī)劃和操作方面的重要選項(xiàng)和敏捷性。
而且DevOps轉(zhuǎn)換對(duì)于互聯(lián)網(wǎng)一般性業(yè)務(wù)職能的執(zhí)行也有顯著的好處,例如其也可以將安全操作框架融入到具體的操作工作流程中,從而滿足用戶和客戶的需求[10]。當(dāng)然,以上過(guò)程要想有效實(shí)現(xiàn),首先需要將IT服務(wù)目錄轉(zhuǎn)化為DevOps轉(zhuǎn)換模型中的流程,繼而圍繞用戶支持?jǐn)?shù)據(jù)集實(shí)現(xiàn)計(jì)劃內(nèi)的SLA。換言之,協(xié)議內(nèi)所涉及的部署時(shí)間以及操作工作流程等因素要想實(shí)現(xiàn)優(yōu)化從而滿足需求,首先需要在DevOps轉(zhuǎn)換模型中進(jìn)行重新塑造。
DevOps轉(zhuǎn)換的應(yīng)用為研究人員在解決IT系統(tǒng)開發(fā)以及協(xié)議構(gòu)建所遇問(wèn)題方面提供了一個(gè)嶄新的視角;不僅如此,該轉(zhuǎn)換方法對(duì)于當(dāng)下所提的SLA可用性的提升有著關(guān)鍵性的作用;而且可以幫助研究人員在過(guò)程、技術(shù)和通信的廣泛領(lǐng)域中對(duì)更多的目標(biāo)進(jìn)行定義。
基于上述對(duì)DevOps轉(zhuǎn)換的介紹,可以推斷認(rèn)為該轉(zhuǎn)換方法的嵌入將使得本文所提協(xié)議具有較高的可用性以及廣泛的適用性。在本節(jié)中,將通過(guò)介紹國(guó)外IT公司的相關(guān)運(yùn)營(yíng)經(jīng)驗(yàn)來(lái)驗(yàn)證該推斷是正確的。
國(guó)外IT公司對(duì)于該項(xiàng)目的研究是從2008年開始的,其最初的研究重點(diǎn)是對(duì)發(fā)布管理、變更管理以及事件管理進(jìn)行構(gòu)建,在此過(guò)程中,我們對(duì)相關(guān)流程以及工具進(jìn)行了調(diào)整及定義。但是由于不同地域互聯(lián)網(wǎng)用戶的激增以及用戶對(duì)操作需求的提升,其現(xiàn)有的協(xié)議可用性已然不能夠滿足網(wǎng)絡(luò)系統(tǒng)的運(yùn)行需要。因此,研究人員在2009年對(duì)系統(tǒng)行為和支持操作進(jìn)行了量化控制,從而建立了足夠的人員覆蓋計(jì)劃[11]。
但是研究人員在可用性提升方面仍面臨著一個(gè)關(guān)鍵挑戰(zhàn),即缺乏對(duì)未知結(jié)構(gòu)流程的了解。因此在對(duì)應(yīng)用程序及運(yùn)行環(huán)境進(jìn)行服務(wù)管理時(shí),系統(tǒng)往往需要對(duì)其進(jìn)行反復(fù)分析,從而了解未知結(jié)構(gòu)流程的目的以及定義。雖然這樣可以保證運(yùn)行應(yīng)答的穩(wěn)定性,但是其本身的不足直接導(dǎo)致管理過(guò)程繁瑣以及反應(yīng)時(shí)間太長(zhǎng),當(dāng)然這也為研究人員開發(fā)新技術(shù)提供了方向。
隨著技術(shù)的發(fā)展,國(guó)外IT公司的研究人員通過(guò)利用實(shí)時(shí)可用性指示板[12]來(lái)對(duì)可行性報(bào)告以及安全性進(jìn)行顯示,由此便可以對(duì)已定義SLA的生產(chǎn)結(jié)果進(jìn)行可行性反饋。只是該過(guò)程同樣面臨著挑戰(zhàn),即問(wèn)題管理以及能力規(guī)劃的不穩(wěn)定運(yùn)行,雖然以往針對(duì)該現(xiàn)象已經(jīng)提出了許多方案,但其仍然不能滿足IT系統(tǒng)以及SLA可用性的需要。
DevOps轉(zhuǎn)換的提出則為以上所述問(wèn)題的解決帶來(lái)了希望,因?yàn)樵撧D(zhuǎn)換方法中所用的轉(zhuǎn)換工具以及流程可以將IT系統(tǒng)中包括開發(fā)、運(yùn)營(yíng)支持和維護(hù)在內(nèi)的所有應(yīng)用程序以及組件聯(lián)系在一起,且可以將未知流程轉(zhuǎn)化成為現(xiàn)有掌握的流程來(lái)進(jìn)行分析,從而有效縮短了分析應(yīng)答時(shí)間,同時(shí)DevOps轉(zhuǎn)換也可以通過(guò)定義最佳的類方法來(lái)對(duì)SLA可用性進(jìn)行維護(hù),而且由于其可以確保所有用戶以及客戶的充分參與,所以該轉(zhuǎn)換方法的嵌入將會(huì)使得本文所提協(xié)議具有較高的可用性以及廣泛的適用性。換言之,本節(jié)開頭的推斷是正確的。
本文主要對(duì)國(guó)外IT公司所提的基于ITIL驅(qū)動(dòng)的可用性服務(wù)等級(jí)協(xié)議進(jìn)行了分析介紹,該協(xié)議可以對(duì)數(shù)據(jù)事件進(jìn)行穩(wěn)定有效的管理轉(zhuǎn)換,從而有效解決了用戶和客戶在操作請(qǐng)求方面所遇到的問(wèn)題;同時(shí)對(duì)服務(wù)等級(jí)協(xié)議內(nèi)所用的DevOps轉(zhuǎn)換進(jìn)行了簡(jiǎn)單的介紹,并證明了DevOps轉(zhuǎn)換對(duì)于可用性服務(wù)等級(jí)協(xié)議的重要性;最后通過(guò)對(duì)運(yùn)營(yíng)經(jīng)驗(yàn)的介紹驗(yàn)證了基于ITIL驅(qū)動(dòng)的可行性服務(wù)等級(jí)協(xié)議具有較高的可用性以及廣泛的適用性。