陳亞峰,董正超(中訊郵電咨詢設計院有限公司,河南 鄭州 450007)
云計算是近年來IT領域最大的熱點,在政府、廠商及電信運營商的共同推動下,以炙手可熱來形容目前的云計算概念并不為過。電信業(yè)務支撐系統(tǒng)(BSS)作為電信運營商最重要的IT系統(tǒng),在云計算環(huán)境下如何演進和發(fā)展,是電信運營商必須關注和考慮的問題之一。本文分析了云計算技術目前存在的部分不足,對云計算與當前業(yè)務支撐系統(tǒng)在計算模式上的差異進行了分析,指出了首先實現(xiàn)SOA架構是電信業(yè)務支撐系統(tǒng)云計算化的前提,最后提出了一個云計算環(huán)境下的電信業(yè)務系統(tǒng)基礎設施架構。
云計算的核心思想,是將大量用網(wǎng)絡連接的計算資源統(tǒng)一管理和調(diào)度,構成一個計算資源池向用戶按需服務。提供資源的網(wǎng)絡被稱為“云”?!霸啤敝械馁Y源在使用者看來是可以無限擴展的,并且可以隨時獲取,按需使用,隨時擴展,按使用付費。這種特性經(jīng)常被稱為像水電一樣使用IT基礎設施。
狹義云計算指IT基礎設施的交付和使用模式,指通過網(wǎng)絡以按需、易擴展的方式獲得所需資源;廣義云計算指服務的交付和使用模式,指通過網(wǎng)絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件、互聯(lián)網(wǎng)相關的,也可以是其他服務。
一般認為,云計算有以下3種服務模式。
1.1.1 基礎設施即服務(IaaS)
消費者通過Internet可以從完善的計算機基礎設施獲得服務。
1.1.2 平臺即服務(PaaS)
PaaS實際上是指將軟件研發(fā)的平臺作為一種服務,以軟件即服務(SaaS)的模式提交給用戶。因此,PaaS也是SaaS模式的一種應用。但是,PaaS的出現(xiàn)可以加快SaaS的發(fā)展,尤其是加快SaaS應用的開發(fā)速度。
1.1.3 軟件即服務(SaaS)
SaaS是一種通過Internet提供軟件的模式,用戶無需購買軟件,而是向提供商租用基于Web的軟件,來管理企業(yè)經(jīng)營活動。相對于傳統(tǒng)的軟件,SaaS解決方案有明顯的優(yōu)勢,包括較低的前期成本、便于維護、快速展開使用等。
1.2.1 資源來自網(wǎng)絡
這是云計算的根本理念所在,即通過網(wǎng)絡提供用戶所需的計算力、存儲空間、軟件功能和信息服務等。
1.2.2 伸縮能力
云計算平臺具有強大的可伸縮能力。在資源節(jié)點服務能力不夠的情況下,可以快速、動態(tài)地增加資源節(jié)點的數(shù)量,使處理能力能夠達到要求;而在資源空余的情況下,又能夠動態(tài)地縮減資源,以提供給更需要的應用使用。
1.2.3 性價比優(yōu)勢
云計算之所以是一種劃時代的技術,就是因為它將數(shù)量龐大的廉價計算機放進資源池中,用軟件容錯來降低硬件成本。國外代表性云計算平臺提供商達到了驚人的10~40倍的性能價格比提升,其性能價格比隨著規(guī)模和利用率的提升還有提升空間。
云計算技術包括虛擬化技術(如XEN、VMWare)、并行計算技術(如MapReduce)、分布式存儲技術(如Hadoop、Bigtable)、資源管理及調(diào)度技術等,利用上述技術,可以實現(xiàn)可伸縮、可管理的云計算環(huán)境,并以較低的成本提供強大的計算能力。
但采用上述技術所提供的強大計算能力,是以應用軟件采用并行處理模式為前提的,即從應用軟件的設計到實現(xiàn),都必須基于并行處理模式。采用傳統(tǒng)串行處理模式所設計和開發(fā)的應用軟件,并不能從云計算強大的計算能力中獲益。
虛擬化技術也是云計算技術中的一個重要組成部分。虛擬化技術一方面可以解決數(shù)據(jù)中心資源的整合問題,在整合過程中對計算、存儲等各種資源進行標準化;另一方面是通過虛擬化將資源切割為更小的可以更好調(diào)度的資源單位,以達到調(diào)度過程中充分利用硬件資源的能力。
虛擬化技術可以將單個物理服務器虛擬成多個更小粒度的虛擬服務器,但卻不能做到將多個物理服務器虛擬成單個更大的服務器。換言之,想通過虛擬化技術將多臺低檔PC整合成單臺高性能小型機的想法是不可實現(xiàn)的。
綜上所述,云計算技術目前仍存在著兩大不足之處。
a)對于傳統(tǒng)串行處理模式的應用軟件,云的計算能力無法得到應用。
b)虛擬化技術無法利用云的計算能力,將多臺低端服務器虛擬為單臺高性能服務器。
目前,對個人用戶而言,云計算應用實際上已經(jīng)非常普遍,例如個人用戶常用的郵件、網(wǎng)盤、視頻網(wǎng)站等,不但具備云計算應用的典型特征,而且在后臺實現(xiàn)上,多采用了云計算技術(分布式存儲、并行計算)來實現(xiàn)。云計算應用的典型模式如圖1所示。
圖1 云計算典型應用模式
由圖1可以看出,適合云計算的應用模式有如下特征。
a)客戶端與服務器端(云端)交互簡單。用戶在使用云計算應用時,與云端的交互流程一般比較簡單短暫,如查看郵件、上傳一份文件、看一段視頻等,沒有像完成企業(yè)業(yè)務時那樣進行長流程操作。部分云計算應用,如google云辦公軟件,看起來操作比較復雜,但這些復雜的操作基本上是通過瀏覽器腳本在客戶端完成的,本質(zhì)上還是利用了云存儲功能來存儲文件。
b)服務器端(云端)的業(yè)務組件是無狀態(tài)、可重入的。無狀態(tài)、可重入的含義為業(yè)務組件的業(yè)務邏輯處理主要依賴于客戶端的輸入,而不依賴與其他業(yè)務組件或業(yè)務數(shù)據(jù)。業(yè)務組件的無狀態(tài)、可重入特征保證了業(yè)務組件可以分布在云計算環(huán)境的各個節(jié)點,以實現(xiàn)業(yè)務的并行處理。
電信業(yè)務支撐系統(tǒng)的典型應用模式如圖2所示。
由圖2可以看出,電信業(yè)務支撐系統(tǒng)應用模式有如下特點。
a)客戶端與服務器端交互復雜、流程長。電信業(yè)務的辦理流程遠比個人用戶使用流行的云計算應用服務要復雜,涉及多次客戶與營業(yè)終端、營業(yè)終端與后臺的交互。
b)服務器端的業(yè)務處理邏輯復雜,無法做到無狀態(tài)、可重入。BSS系統(tǒng)服務器端的業(yè)務處理邏輯遠比個人用戶使用的云計算應用復雜,業(yè)務處理邏輯必須保存業(yè)務處理流程的狀態(tài),并且要與其他業(yè)務組件或系統(tǒng)進行交互。
從云計算與電信業(yè)務支撐系統(tǒng)應用模式的區(qū)別可以看出,電信業(yè)務支撐系統(tǒng)目前的設計思想和實現(xiàn)方式與云計算應用有較大的差別,因此,云計算所采用的種種技術(并行計算、分布式存儲等)也無法直接應用于電信業(yè)務支撐系統(tǒng),而電信業(yè)務支撐系統(tǒng)也難以直接從現(xiàn)有小型機、高端服務器組成的基礎設施平臺上遷移到云計算平臺。
SOA技術主要是指采用WebService、XML及ESB等技術來整合及構建企業(yè)信息系統(tǒng),作為上一代的熱門技術,相對于云計算而言,SOA目前已較少被提及。SOA往往被單純地認為是一種技術或產(chǎn)品,但筆者認為SOA更是一種系統(tǒng)設計原則和思想,SOA最重要的意義在于它以“服務”的思想來設計系統(tǒng),將企業(yè)業(yè)務邏輯中的可以復用的功能組件抽取出來,形成“服務”,從而可以構建松耦合、易集成擴展的系統(tǒng)。
圖2 BSS應用典型模式
對業(yè)務系統(tǒng)(如電信業(yè)務支撐系統(tǒng))而言,SOA與云計算間存在著非常緊密的關系,事實上,通過云計算的3種模式IaaS、PaaS、SaaS的命名即可以看出,云計算的商業(yè)模式也是以提供“服務”為主的。電信業(yè)務支撐系統(tǒng)經(jīng)過SOA化之后,其中的無狀態(tài)服務組件即可移植入云計算環(huán)境當中,利用云計算環(huán)境的低成本、強擴展的計算能力優(yōu)勢,降低系統(tǒng)的總體擁有成本,且保證電信業(yè)務支撐系統(tǒng)服務組件的可復用能力,實現(xiàn)電信業(yè)務支撐系統(tǒng)內(nèi)部的“SaaS”。
對于電信業(yè)務支撐系統(tǒng)中不能構建為無狀態(tài)服務組件的業(yè)務邏輯,如大量的業(yè)務流程管理邏輯,則不能夠亦無必要進行云計算化。盲目地希望將系統(tǒng)所有組成部分遷移到云環(huán)境在目前是不現(xiàn)實的,因為電信業(yè)務的業(yè)務邏輯必然存在狀態(tài)保持的業(yè)務邏輯,從而與云計算的適用條件相沖突。
基于上述討論,可以設想一下云計算化后的電信業(yè)務支撐系統(tǒng)架構,云計算化后的電信業(yè)務支撐系統(tǒng)可能存在如下特征。
a)系統(tǒng)主要可分為兩大部分。一部分為云計算化后,向其他模塊提供服務接口的、無狀態(tài)的業(yè)務組件,這部分業(yè)務組件部署于云計算環(huán)境中;另一部分為無法進行無狀態(tài)組件改造,這部分業(yè)務邏輯需按照傳統(tǒng)業(yè)務支撐系統(tǒng)的設計思想和部署方式進行建設。
b)高速局域網(wǎng)技術及內(nèi)存數(shù)據(jù)庫技術在未來云計算化后的電信業(yè)務支撐系統(tǒng)的技術體系中,占有重要地位。無狀態(tài)的業(yè)務組件亦必須進行數(shù)據(jù)訪問,而云計算環(huán)境的分布式數(shù)據(jù)庫一般采用“Key-Value”模式,與目前采用的關系數(shù)據(jù)庫差別較大,而且分布式數(shù)據(jù)庫的性能未必能夠滿足電信業(yè)務支撐系統(tǒng)的需要。因此,為解決云計算環(huán)境下業(yè)務組件對數(shù)據(jù)訪問的需求,采用高速局域網(wǎng)及內(nèi)存數(shù)據(jù)庫來滿足云計算環(huán)境下高并發(fā)、性能要求高的數(shù)據(jù)訪問,是比較合適的選擇。
c)負載均衡機制將得到大量使用。雖然云計算環(huán)境對外部訪問而言似乎不必要考慮負載均衡,但在云計算內(nèi)部仍然存在著負載均衡機制。在云計算化后,不管是對于無狀態(tài)業(yè)務組件的訪問,還是對于數(shù)據(jù)的訪問,由于電信業(yè)務支撐系統(tǒng)業(yè)務量、數(shù)據(jù)量巨大,實施負載均衡都是非常有必要的。
設想的BSS云計算架構主要包括以下幾個層面。
a)界面層。用于用戶界面的展示。
b)業(yè)務邏輯層。主要包含需要狀態(tài)維持的業(yè)務流程管理功能,采用傳統(tǒng)電信業(yè)務支撐系統(tǒng)的構建模式。雖然部分簡單的查詢類功能可以由界面層直接訪問業(yè)務服務層來完成,但為了架構的完整統(tǒng)一,建議在業(yè)務邏輯層進行包裝后,再訪問業(yè)務服務層。
c)業(yè)務服務層。主要包含無狀態(tài)的業(yè)務處理功能組件(如用戶全量信息服務、資源管理服務、賬單服務、產(chǎn)品服務等),可采用云計算技術構建。
d)數(shù)據(jù)服務層。主要完成數(shù)據(jù)存儲。根據(jù)需要,應有2種類型的數(shù)據(jù)服務。一種為內(nèi)存數(shù)據(jù)庫技術構建,提供高速數(shù)據(jù)訪問接口;一種為傳統(tǒng)磁盤數(shù)據(jù)庫構建,提供低速數(shù)據(jù)訪問接口。
云計算是目前IT領域的熱點,電信行業(yè)的IT系統(tǒng)——電信業(yè)務支撐系統(tǒng)如何實施云計算化,也是該領域的從業(yè)者應當思考的問題。筆者根據(jù)自己對于云計算技術、SOA及電信業(yè)務支撐系統(tǒng)的理解,對該問題進行了一些淺顯的探討,以期有益于同業(yè)者在該領域的思考。