您當(dāng)前的位置是:  首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >
 首頁(yè) > 新聞 > 專(zhuān)家觀點(diǎn) >

統(tǒng)一PaaS架構(gòu)支撐IT應(yīng)用開(kāi)發(fā)敏捷化

2017-02-15 13:49:01   作者:   來(lái)源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  我們正步入瞬息萬(wàn)變的信息時(shí)代,“快人一步”正成為企業(yè)的核心競(jìng)爭(zhēng)力之一。如何讓企業(yè)的業(yè)務(wù)創(chuàng)新和客戶響應(yīng)等快起來(lái)、敏捷起來(lái)?數(shù)字化重構(gòu)是企業(yè)發(fā)展的必由之路,構(gòu)建一個(gè)敏捷、高效的IT系統(tǒng)是最重要的基礎(chǔ)。然而,當(dāng)前業(yè)界主流的企業(yè)IT應(yīng)用仍然以功能和流程作為核心來(lái)驅(qū)動(dòng)的應(yīng)用開(kāi)發(fā)模式,不但成本高而且敏捷性很差,越來(lái)越難以為繼,必須對(duì)IT應(yīng)用開(kāi)發(fā)的方法論和實(shí)現(xiàn)技術(shù)進(jìn)行一場(chǎng)變革。
\
  傳統(tǒng)企業(yè)IT應(yīng)用開(kāi)發(fā)模式面臨挑戰(zhàn)
  分段式的研發(fā)模式,業(yè)務(wù)上線周期太長(zhǎng)
  目前,業(yè)界主流企業(yè)普遍采用基于瀑布式的研發(fā)模式,這種模式主要存在以下弊端:首先,業(yè)務(wù)需求是分段的,企業(yè)業(yè)務(wù)部門(mén)從企業(yè)運(yùn)營(yíng)的視角對(duì)IT提出需求,IT部門(mén)進(jìn)行應(yīng)用的開(kāi)發(fā);其次,IT應(yīng)用開(kāi)發(fā)是串行的,從需求分析、方案設(shè)計(jì)、編碼測(cè)試到部署上線是按順序開(kāi)展的。一般一年只有1~2個(gè)版本上線,如果加上組織部門(mén)墻導(dǎo)致的開(kāi)發(fā)流程斷裂,上線周期會(huì)更長(zhǎng),一旦出現(xiàn)需求大量變更,周期就會(huì)嚴(yán)重拖延,甚至陷入交付的泥潭。
  這與互聯(lián)網(wǎng)應(yīng)用快速試錯(cuò)、快速上線以及開(kāi)發(fā)運(yùn)維一體化的DevOps模式形成了強(qiáng)烈的對(duì)比,為此企業(yè)的IT應(yīng)用開(kāi)發(fā)紛紛開(kāi)始借鑒互聯(lián)網(wǎng)的DevOps模式。但在實(shí)踐中也發(fā)現(xiàn),僅僅理念的轉(zhuǎn)變是遠(yuǎn)遠(yuǎn)不夠的,更需要有一個(gè)良好的架構(gòu)和先進(jìn)的開(kāi)發(fā)模式來(lái)支撐。
  架構(gòu)陳舊且高度耦合,牽一發(fā)而動(dòng)全身,效率低下
  從企業(yè)應(yīng)用的軟件架構(gòu)發(fā)展看,近十幾年來(lái),主要經(jīng)歷了從單體應(yīng)用到SOA模式、再到微服務(wù)的發(fā)展過(guò)程。
  在單體架構(gòu)中,應(yīng)用核心的商業(yè)邏輯以及由其定義的服務(wù)、對(duì)象和事件都封裝在不同的模塊中,這些模塊和組件整體打包和部署,高度依賴(lài)應(yīng)用的語(yǔ)言和框架。單體應(yīng)用的好處是項(xiàng)目初期構(gòu)建非?欤S著時(shí)間的推移、代碼的不斷膨脹以及人員的更換,會(huì)導(dǎo)致研發(fā)效率急劇下降。團(tuán)隊(duì)需要維持上百萬(wàn)行代碼中的數(shù)以百計(jì)、千計(jì)的依賴(lài)關(guān)系,哪怕是很小的幾行需求或者一個(gè)Bug修復(fù),都會(huì)導(dǎo)致意想不到的問(wèn)題發(fā)生。
  為了解決單體模式緊耦合、難以擴(kuò)展的問(wèn)題,出現(xiàn)了以服務(wù)為中心的SOA架構(gòu),將緊耦合的系統(tǒng)劃分成面向業(yè)務(wù)的、粗粒度、松耦合和無(wú)狀態(tài)的服務(wù),服務(wù)之間通常通過(guò)企業(yè)服務(wù)總線(ESB)連接在一起。目前,絕大部分的企業(yè)IT架構(gòu)是基于SOA模式的,但是從本質(zhì)上講這種模式還是中心化的,ESB變成整個(gè)系統(tǒng)的核心組件甚至成為瓶頸,不能把企業(yè)應(yīng)用帶到面向未來(lái)的云化方向。
  微服務(wù)是從SOA演進(jìn)而來(lái),更倡導(dǎo)服務(wù)的細(xì)粒度、分布式、擴(kuò)展性和治理能力。每個(gè)微服務(wù)定義為獨(dú)立、自包含和無(wú)外部依賴(lài)的應(yīng)用程序服務(wù),單個(gè)微服務(wù)可以獨(dú)自開(kāi)發(fā)特性、修改bug和升級(jí),服務(wù)間無(wú)耦合關(guān)系。
  越來(lái)越多的企業(yè)認(rèn)識(shí)到,在云時(shí)代要開(kāi)發(fā)出Cloud Native(云原生應(yīng)用),真正走向敏捷,微服務(wù)架構(gòu)一定是首選。但同時(shí)微服務(wù)在運(yùn)行和治理時(shí)帶來(lái)了更大的復(fù)雜性,比如大量微服務(wù)之間的調(diào)用鏈管理和依賴(lài)管理等,這些復(fù)雜性由什么技術(shù)和平臺(tái)承載呢?因此,由PaaS屏蔽復(fù)雜的資源分布和部署差異,向應(yīng)用層提供統(tǒng)一的服務(wù)、微服務(wù)管理和運(yùn)行框架就成為一種必然。
  PaaS技術(shù)選擇碎片化,難以形成合力,形成新的煙囪系統(tǒng)
  當(dāng)意識(shí)到PaaS平臺(tái)的重要性后,企業(yè)中不同的部門(mén)近年來(lái)在這個(gè)領(lǐng)域加快了試點(diǎn)建設(shè),但由于各部門(mén)立場(chǎng)不同,所做出的技術(shù)選擇往往不統(tǒng)一,缺少統(tǒng)一的規(guī)劃和章法。
  比如,有些企業(yè)開(kāi)發(fā)部門(mén)希望業(yè)務(wù)創(chuàng)新要快,減少對(duì)環(huán)境的等待時(shí)間,希望選擇像CloudFundry這樣的技術(shù),以具備較好的開(kāi)發(fā)流水線、多語(yǔ)言支持和多種服務(wù)接入能力;而運(yùn)維部門(mén)則希望各種應(yīng)用對(duì)IT資源和對(duì)部署的依賴(lài)應(yīng)該盡量統(tǒng)一、盡量標(biāo)準(zhǔn)化,這樣整體運(yùn)維(特別是跨數(shù)據(jù)中心和全球化運(yùn)維)效率最好,所以他們傾向于選擇以開(kāi)源架構(gòu)技術(shù)為代表的Kuberentes、DockerCompose /Swam等……由此,在構(gòu)建新的開(kāi)發(fā)平臺(tái)解決業(yè)務(wù)敏捷的同時(shí),又形成了新的煙囪系統(tǒng),不同的開(kāi)發(fā)架構(gòu)和不同的部署模式形成了制約敏捷、高效的新瓶頸。
  統(tǒng)一PaaS驅(qū)動(dòng)企業(yè)IT應(yīng)用開(kāi)發(fā)的變革
  由此可見(jiàn),企業(yè)的IT應(yīng)用開(kāi)發(fā)是一個(gè)系統(tǒng)性的問(wèn)題,涉及到流程、方法、架構(gòu)和組織等多個(gè)關(guān)鍵要素。
  企業(yè)借助云計(jì)算走向敏捷的核心就是要引入PaaS平臺(tái)來(lái)實(shí)現(xiàn)“以應(yīng)用為中心”的自動(dòng)化和分布化,統(tǒng)一的PaaS不僅在技術(shù)與架構(gòu)上能有效支撐服務(wù)化以及微服務(wù)開(kāi)發(fā)和治理,還能在開(kāi)發(fā)流程和組織協(xié)同上起到關(guān)鍵的使能作用。
  PaaS層建設(shè)的基本原則必須以面向未來(lái)云原生應(yīng)用(Cloud Native)架構(gòu)的要求出發(fā),同時(shí)充分考慮對(duì)企業(yè)現(xiàn)有SOA架構(gòu)服務(wù)的兼容和平滑演進(jìn),從應(yīng)用視角提供統(tǒng)一的PaaS平臺(tái)層,解決應(yīng)用的開(kāi)發(fā)、部署和運(yùn)行的管控與組織協(xié)同的一致性,從而實(shí)現(xiàn)開(kāi)發(fā)敏捷,支持快速業(yè)務(wù)創(chuàng)新和快速客戶響應(yīng)。要實(shí)現(xiàn)這樣的目標(biāo),我們認(rèn)為PaaS的核心需要實(shí)現(xiàn)“3個(gè)統(tǒng)一”。
  統(tǒng)一的研發(fā)流程自動(dòng)化,構(gòu)建企業(yè)級(jí)開(kāi)發(fā)流水線,實(shí)現(xiàn)應(yīng)用開(kāi)發(fā)態(tài)的敏捷
  打破傳統(tǒng)研發(fā)模式下開(kāi)發(fā)與運(yùn)維之間的壁壘,實(shí)現(xiàn)真正的DevOps,必須要有自動(dòng)化工具的支撐。在開(kāi)發(fā)態(tài)引入流水線技術(shù),實(shí)現(xiàn)從代碼編寫(xiě)到編譯打包、自動(dòng)測(cè)試、部署、上線和升級(jí)等一系列活動(dòng)全部自動(dòng)化。流水線同時(shí)可以成為打通開(kāi)發(fā)、測(cè)試和運(yùn)維等不同部門(mén)之間的紐帶和橋梁,部門(mén)間在流水線自動(dòng)化驅(qū)動(dòng)下完成高效協(xié)作。因?yàn)槊總(gè)企業(yè)開(kāi)發(fā)工具和開(kāi)發(fā)習(xí)慣都不一樣,所以PaaS開(kāi)發(fā)流水線的核心是具備開(kāi)放的生態(tài)接入能力和靈活的流程定制能力。
  統(tǒng)一的資源編排調(diào)度自動(dòng)化,“以應(yīng)用為中心”驅(qū)動(dòng)資源的編排調(diào)度,實(shí)現(xiàn)部署態(tài)的敏捷
  通過(guò)PaaS的自動(dòng)化技術(shù)實(shí)現(xiàn)開(kāi)發(fā)、部署和運(yùn)行態(tài)所有資源( 主機(jī)、網(wǎng)絡(luò)、OS/DB/中間件)申請(qǐng)和調(diào)度的自動(dòng)化,實(shí)現(xiàn)一致的DTAP(Development、Test、Acceptance、Production)環(huán)境的自動(dòng)化、服務(wù)化供應(yīng),開(kāi)發(fā)人員聚焦核心業(yè)務(wù)實(shí)現(xiàn),隨時(shí)自助申請(qǐng),隨時(shí)部署上線和升級(jí),可節(jié)省40%以上非業(yè)務(wù)活動(dòng)時(shí)間。同時(shí),由PaaS對(duì)開(kāi)發(fā)態(tài)和部署態(tài)的運(yùn)行環(huán)境進(jìn)行一致性管理,可以大大降低因此造成的業(yè)務(wù)故障。
  部署態(tài)的資源編排調(diào)度的核心是根據(jù)應(yīng)用的SLA要求,實(shí)現(xiàn)跨數(shù)據(jù)中心內(nèi)和數(shù)據(jù)中心間的資源高效分配和動(dòng)態(tài)調(diào)整。高效不僅體現(xiàn)在調(diào)度的速度也體現(xiàn)為整體資源利用的最優(yōu)化。
  統(tǒng)一的微服務(wù)治理框架,大規(guī)模分布化的治理和自動(dòng)化運(yùn)維,實(shí)現(xiàn)運(yùn)行態(tài)的敏捷
  傳統(tǒng)單體應(yīng)用微服務(wù)化后,一個(gè)大型服務(wù)通常會(huì)拆解成數(shù)十個(gè)微服務(wù),形成一個(gè)分布式的應(yīng)用。相比單體應(yīng)用,分布式系統(tǒng)引入了治理的復(fù)雜性,比如微服務(wù)間如何相互發(fā)現(xiàn)、相互通信訪問(wèn),以及如何進(jìn)行調(diào)用鏈的跟蹤和問(wèn)題定位。PaaS在分布式治理層通過(guò)引入統(tǒng)一的微服務(wù)治理框架,可以實(shí)現(xiàn)不同語(yǔ)言和不同技術(shù)堆棧實(shí)現(xiàn)的微服務(wù)間相互發(fā)現(xiàn)、路由、調(diào)用鏈跟蹤和熔斷等復(fù)雜功能的屏蔽,開(kāi)發(fā)者只需聚焦業(yè)務(wù)邏輯的開(kāi)發(fā),無(wú)需關(guān)注分布式系統(tǒng)管理的復(fù)雜性,從而實(shí)現(xiàn)每個(gè)微服務(wù)團(tuán)隊(duì)快速獨(dú)立開(kāi)發(fā)和上線業(yè)務(wù)。PaaS微服務(wù)治理框架的另外一個(gè)核心是,要考慮對(duì)企業(yè)已有SOA架構(gòu)的中間件服務(wù)的納管能力,企業(yè)在這個(gè)領(lǐng)域已經(jīng)積累的大量中間件服務(wù)不可能一夜之間都轉(zhuǎn)型到微服務(wù)架構(gòu),因此,如何合理地構(gòu)建一個(gè)中間件云,把這些服務(wù)接入到PaaS平臺(tái),最大限度地給開(kāi)發(fā)者屏蔽實(shí)現(xiàn)上的差異是非常關(guān)鍵的。
  通過(guò)以“ 3 個(gè)統(tǒng)一” 為核心特征的PaaS平臺(tái),支撐IT應(yīng)用的“開(kāi)發(fā)態(tài)、部署態(tài)和運(yùn)行態(tài)”的全自動(dòng)化,這是敏捷的基礎(chǔ),也是PaaS發(fā)展的方向和目標(biāo)。
  FusionStage PaaS平臺(tái):勝任企業(yè)敏捷轉(zhuǎn)型的需求
  華為作為全球領(lǐng)先的ICT解決方案供應(yīng)商,既有企業(yè)業(yè)務(wù)、運(yùn)營(yíng)商業(yè)務(wù),也有消費(fèi)者業(yè)務(wù),業(yè)務(wù)覆蓋170多個(gè)國(guó)家。華為自身的IT系統(tǒng)是極其復(fù)雜的,要面向全球客戶、供應(yīng)商、合作伙伴和員工等提供IT服務(wù),涵蓋60多個(gè)數(shù)據(jù)中心,超過(guò)1000種IT應(yīng)用,業(yè)務(wù)流程高達(dá)上萬(wàn)個(gè),每年涉及的新增需求和變更超過(guò)幾萬(wàn)起,研發(fā)投入資源巨大。
\
  因此,PaaS平臺(tái)既是華為面向客戶提供的一塊業(yè)務(wù),也是華為自身走向敏捷運(yùn)營(yíng)、敏捷IT應(yīng)用開(kāi)發(fā)的基本要求。華為FusionStage PaaS平臺(tái)正是基于這樣的背景下進(jìn)行開(kāi)發(fā)的,其核心是圍繞“統(tǒng)一的研發(fā)流程自動(dòng)化、統(tǒng)一的應(yīng)用資源編排調(diào)度、統(tǒng)一的分布式/微服務(wù)治理”來(lái)展開(kāi),以實(shí)現(xiàn)IT應(yīng)用“研發(fā)態(tài)、部署態(tài)、運(yùn)行態(tài)”的全流程自動(dòng)化,支撐業(yè)務(wù)敏捷和運(yùn)營(yíng)敏捷。
  FusionStage PaaS平臺(tái)正在幫助華為自身的IT系統(tǒng)從IT 1.0向IT 2.0跨越式演進(jìn),實(shí)現(xiàn)跨全球多個(gè)數(shù)據(jù)中心的IT全面云化。使IT應(yīng)用可隨時(shí)隨地在華為全球8大區(qū)域的數(shù)據(jù)中心中進(jìn)行部署和升級(jí),實(shí)現(xiàn)平均每天數(shù)十次、全年累計(jì)幾千次的自動(dòng)化部署上線,將IT應(yīng)用的整體上線周期從原來(lái)的數(shù)周時(shí)間縮短到了天級(jí),成功實(shí)現(xiàn)了企業(yè)IT的敏捷和高效。
  華為會(huì)把FusionStage PaaS平臺(tái)部署到華為企業(yè)云、德國(guó)電信OTC等合作伙伴的公有云上,讓企業(yè)基于FusionStage PaaS平臺(tái)來(lái)開(kāi)發(fā)IT應(yīng)用。
  FusionStage是通用的PaaS平臺(tái),提供基礎(chǔ)的開(kāi)發(fā)部署管理、服務(wù)運(yùn)行治理能力和各種通用的IT公共服務(wù)。 這樣企業(yè)就可以更加專(zhuān)注于領(lǐng)域業(yè)務(wù),基于FusionStage PaaS平臺(tái)快速開(kāi)發(fā)行業(yè)專(zhuān)有的服務(wù)和應(yīng)用,極大提升效率,實(shí)現(xiàn)IT敏捷轉(zhuǎn)型。
  賈永利/文

專(zhuān)題