容器云平臺如何進行風險管理和關(guān)鍵技術(shù)路線選型?

2022-10-04    分類: 網(wǎng)站建設(shè)

前言

容器云項目是我司規(guī)劃建設(shè)的基礎(chǔ)設(shè)施云計算PaaS平臺的嘗試,希望通過容器化PaaS平臺的建設(shè),支持正在建設(shè)的微服務(wù)架構(gòu)應(yīng)用,同時也為適應(yīng)公司互聯(lián)網(wǎng)業(yè)務(wù)發(fā)展,滿足業(yè)務(wù)快速開發(fā)和迭代的需求,逐步建立標準化的開發(fā)、測試、運維環(huán)境,形成適用于公司的DevOps(開發(fā)運維一體化)過程,完善開發(fā)、測試、部署、運維監(jiān)控工具鏈和自動化流程,提升自主敏捷研發(fā)、持續(xù)集成的能力;同時基于容器云平臺,逐步建立起企業(yè)級的服務(wù)中臺,實現(xiàn)大中臺-小前端的基礎(chǔ)架構(gòu),更好的支持公司業(yè)務(wù)應(yīng)用的開發(fā),專注于業(yè)務(wù)應(yīng)用的研發(fā),提升IT對業(yè)務(wù)變化需求的快速響應(yīng)能力。解決傳統(tǒng)單體應(yīng)用之間難以集成和共享的問題;通過采用標準化的容器技術(shù)和標準化的鏡像輸出,為開發(fā)測試生產(chǎn)提供一致性的環(huán)境;利用容器云的彈性伸縮能力實現(xiàn)對互聯(lián)網(wǎng)金融業(yè)務(wù)流量快速變化的支持。

一、背景和原因

目前我司已經(jīng)完成IaaS(Infrastructure as a Service)虛擬化建設(shè),采用了Vmware和超融合技術(shù);IaaS虛擬化層提供了對存儲、網(wǎng)絡(luò)、計算資源的管理,但無法提供對公司軟件、工具、中間件等的管理。按照云計算的三種類型,建設(shè)PaaS( Platform as a Service)平臺將有助于我們實現(xiàn)這些目標,同時提升敏捷開發(fā)能力,自動化運維能力。但PaaS平臺技術(shù)一直不成熟,存在諸多技術(shù)難點。隨著以Docker為代表的容器技術(shù)的出現(xiàn)和發(fā)展并逐步成熟,使我們看到構(gòu)建基于容器技術(shù)的輕量化PaaS平臺——容器云平臺的可行性。

容器云平臺如何進行風險管理和關(guān)鍵技術(shù)路線選型?

1. 容器云定義、作用

容器云,是輕量化PaaS平臺的一種容器化實現(xiàn)方式。是基于容器技術(shù)、容器調(diào)度編排技術(shù)和支撐容器運行操作系統(tǒng)技術(shù)、分布式技術(shù)上構(gòu)建的云計算平臺。

從PaaS功能來說,PaaS提供應(yīng)用開發(fā)、應(yīng)用托管、應(yīng)用運維等能力。也就是說在PaaS上,客戶可以開發(fā)、測試應(yīng)用,用戶可以托管應(yīng)用到PaaS的運行時環(huán)境,同時PaaS提供給客戶應(yīng)用服務(wù)運維的能力(比如應(yīng)用管理、監(jiān)控、日志、安全等)。

PaaS平臺是以應(yīng)用開發(fā)為中心,以解決應(yīng)用全生命周期管理、中間件云服務(wù)、基礎(chǔ)資源的高效利用。從應(yīng)用的開發(fā)、部署,到運維的全流程生命周期管理,實現(xiàn)應(yīng)用的自動伸縮、彈性擴展、灰度發(fā)布以及監(jiān)控告警、故障分析、自動遷移、自動恢復;提供豐富的預集成服務(wù), 把通用的軟件能力服務(wù)化,使得應(yīng)用能快速擁有分布式的高可用性、高可擴展性;通過對底層資源的抽象和資源層的隔離,盡可能地共享或平攤資源,以提高資源整體使用率,從而降低基礎(chǔ)設(shè)施的投入。

要實現(xiàn)這么多能力,PaaS技術(shù)存在一些難點,比如如何把IaaS層的能力更無縫的融合到PaaS;如何把開發(fā)能力,特別是IDE工具部署到云上(eclipse 提供云上開發(fā)服務(wù));數(shù)據(jù)存儲和動態(tài)遷移的問題等。容器技術(shù)提供了一種選擇,可以首先構(gòu)建輕量化PaaS,實現(xiàn)應(yīng)用托管、應(yīng)用運維能力,同時可以建立持續(xù)集成的環(huán)境,無縫對接容器云平臺。

2. 容器云帶來什么新技術(shù)新思想

容器云是輕量化PaaS的一種實現(xiàn)方式,容器技術(shù)的發(fā)展促進了PaaS平臺的落地,部分的解決了PaaS平臺的技術(shù)難點問題。隨著容器技術(shù)和PaaS平臺技術(shù)的發(fā)展,容器云將會更加成熟。

容器云平臺如何進行風險管理和關(guān)鍵技術(shù)路線選型?

容器技術(shù)特點又非常適合微服務(wù)架構(gòu),使微服務(wù)架構(gòu)應(yīng)用的部署和運維更加便利,并且可以很好的解決彈性伸縮、灰度發(fā)布等運維難點。

容器和容器云更促進了DevOps思想的發(fā)展成熟,并找到了落地的途徑。容器云為持續(xù)集成和持續(xù)部署提供了便利的方式,也提供了開發(fā)、測試、生產(chǎn)等環(huán)境一致性的途徑。

容器技術(shù)改變了應(yīng)用部署和管理的方式。容器云平臺、微服務(wù)架構(gòu)和DevOps方法論相輔相成,相互促進,帶來了應(yīng)用開發(fā)、應(yīng)用部署、應(yīng)用運維等全生命周期管理的新方法和新手段,也為大數(shù)據(jù)應(yīng)用、AI應(yīng)用等在云計算平臺的大規(guī)模部署提供了便利。以云計算平臺為基礎(chǔ)設(shè)施,支撐基礎(chǔ)業(yè)務(wù)應(yīng)用,大數(shù)據(jù)應(yīng)用、AI應(yīng)用等,建立全局的系統(tǒng)和服務(wù)體系,可以更好的服務(wù)于客戶,更好的贏得客戶的信任。

3.企業(yè)業(yè)面臨的問題和挑戰(zhàn)--現(xiàn)狀分析

互聯(lián)網(wǎng)金融的出現(xiàn)和迅速發(fā)展,給予傳統(tǒng)金融企業(yè)極大的壓力,被迫考慮轉(zhuǎn)型和調(diào)整?;ヂ?lián)網(wǎng)金融,關(guān)鍵點在于互聯(lián)網(wǎng):互聯(lián)網(wǎng)思維、互聯(lián)網(wǎng)技術(shù)。先進的思想引進的技術(shù),先進的技術(shù)支撐先進的架構(gòu),先進的架構(gòu)提升先進的業(yè)務(wù),先進的業(yè)務(wù)更好的服務(wù)客戶、更多的贏得客戶!

對于我們傳統(tǒng)的金融企業(yè),還存在傳統(tǒng)的思維、落后的技術(shù)。一項新業(yè)務(wù)從提出需求到立項、招標、實施、上線,一年半載已經(jīng)過去了。最最關(guān)鍵的是,開發(fā)出來的可能已經(jīng)不是最初的樣子了,似是而非,一線員工不滿意,IT人員覺得委屈,客戶失望流失。這種傳統(tǒng)的IT研發(fā)方式已經(jīng)無法適應(yīng)新業(yè)務(wù)發(fā)展的要求。

我們提出建設(shè)容器云平臺也是基于現(xiàn)實的挑戰(zhàn):

1) 受廠商影響,開發(fā)測試部署交付等環(huán)節(jié)各不相同,各Team有各異的環(huán)境、工具、方法、規(guī)范,團隊之間難以實現(xiàn)共享和高效合作。

2) 傳統(tǒng)單體應(yīng)用各系統(tǒng)獨立,互連互通、共享難,雖有ESB可以實現(xiàn)集成,但對一些需求無法滿足性能、擴展、低延遲、快速上線等要求。

3) 自動化測試、自動化運維程度低;一個系統(tǒng)通常從立項到運維都是由一個人來負責,形成了大大小小上百個系統(tǒng),占用大量的人力資源。在系統(tǒng)出現(xiàn)異常時定位問題慢,經(jīng)常受到多個系統(tǒng)的影響,處理起來很慢。

4) 一臺PC一套環(huán)境,資源利用率低,而且PC有限;虛擬化后虛擬機OS消耗大量的計算、存儲資源;虛擬機OS實際運維管理成本等同于物理服務(wù)器,虛擬機數(shù)量增加導致管理成本增加。

5) 不易復制,搭建環(huán)境麻煩。生產(chǎn)與測試環(huán)境不一致,臟環(huán)境的問題,無法保證每次運行的環(huán)境完全一致。在測試環(huán)境可以,在生產(chǎn)環(huán)境可能怎么都不行。

6) 擴容慢,遇到突發(fā)流量,疲于奔命;遷移慢且比較繁瑣。

7) 系統(tǒng)重載,應(yīng)用伸縮周期長,對VM做伸縮,系統(tǒng)負載大,APP的VM環(huán)境無法快速復制,無法滿足應(yīng)用的大規(guī)模快速彈性部署需求。

8) 不支持快速迭代,業(yè)務(wù)上線效率低,不支持在線應(yīng)用環(huán)境申請和配置及切換、頻繁發(fā)布、頻繁升級背后的人力投入巨大,缺少在線驗證機制、難以快速定位修復線上問題。出現(xiàn)問題后的解決問題的手段非常有限,且低效;

4.實施容器云項目的原因

為了解決面臨的問題和挑戰(zhàn),重要的是在快速變化的時代生存下去,要變革,要與時俱進。

首先要改變思想,重視IT技術(shù)投入,認識到科學技術(shù)是第一生產(chǎn)力。已經(jīng)不能靠人海戰(zhàn)術(shù)來贏得未來。IT系統(tǒng)和平臺是業(yè)務(wù)的基礎(chǔ),可以極大的協(xié)助人來提高業(yè)務(wù)處理能力。互聯(lián)網(wǎng)、移動業(yè)務(wù)、物聯(lián)網(wǎng)的發(fā)展,必須靠強大的基礎(chǔ)設(shè)施來支撐,需要強大的互連互通能力、強大的運算分析能力、針對性的服務(wù)能力、瞬時的響應(yīng)能力、舒適的客戶體驗能力等等,這些都需要IT系統(tǒng)和平臺的支撐。

業(yè)務(wù)建立在平臺之上!沒有好的平臺就難以推出好的業(yè)務(wù)。傳統(tǒng)單體應(yīng)用彼此獨立,所采用的技術(shù)、開發(fā)語言、開發(fā)框架各不相同;數(shù)據(jù)分離,各自有自己的一套數(shù)據(jù)庫;數(shù)據(jù)冗余導致浪費,最重要的是數(shù)據(jù)不一致造成很多問題。數(shù)據(jù)是一個企業(yè)的核心資產(chǎn),所以企業(yè)的重要數(shù)據(jù)不能輕易放到公有云,需要建設(shè)自己的私有云平臺、建設(shè)企業(yè)內(nèi)的基礎(chǔ)設(shè)施平臺來支撐企業(yè)業(yè)務(wù)的運行和發(fā)展。從而實現(xiàn)基礎(chǔ)設(shè)施平臺為數(shù)據(jù)和業(yè)務(wù)服務(wù);數(shù)據(jù)層建立通用數(shù)據(jù)模型,實現(xiàn)全局唯一數(shù)據(jù)源,解決數(shù)據(jù)不通、不一致、冗余等問題;業(yè)務(wù)層實現(xiàn)服務(wù)共享,在基礎(chǔ)服務(wù)的基礎(chǔ)上快速構(gòu)建業(yè)務(wù)應(yīng)用,快速部署發(fā)布投入運營。

SOA技術(shù)的發(fā)展,微服務(wù)被大家接受并受到推崇。其解決了單體應(yīng)用系統(tǒng)大而重的問題,也很好的避免了ESB集成存在的瓶頸。其采用組件服務(wù)化、分布式的部署方式,非常貼合容器技術(shù)的特點,小而輕量,以小拼大。

具體的,為了配合正在進行中的客戶中心、賬戶中心、產(chǎn)品中心等的建設(shè),適應(yīng)公司互聯(lián)網(wǎng)業(yè)務(wù)發(fā)展,滿足業(yè)務(wù)應(yīng)用快速開發(fā)及迭代的需求,采用微服務(wù)架構(gòu),逐步建立標準化的開發(fā)、測試、運維環(huán)境,形成適用于公司的DevOps(開發(fā)和運維一體化)過程,完善開發(fā)、測試、部署、運維監(jiān)控工具鏈,提升自主開發(fā)技術(shù)和管理水平。

5.項目可能帶來的好處

實現(xiàn)了共享,適應(yīng)快速的業(yè)務(wù)變化,企業(yè)能生存、能發(fā)展、員工能有高收入,為社會公眾帶來便利和利益:

1) 技術(shù)上,初步搭建容器云平臺,建立統(tǒng)一的服務(wù)托管、部署、運維平臺,逐步建立并完善統(tǒng)一的權(quán)限管理體系、授權(quán)認證體系、服務(wù)配置治理體系、日志收集分析體系、監(jiān)控告警預警體系等,實現(xiàn)公司內(nèi)統(tǒng)一的應(yīng)用服務(wù)部署運維監(jiān)控生態(tài)系統(tǒng)。

2) 管理上,通過引入DevOps理念,根據(jù)公司實際逐步建立開發(fā)、測試、運維等適合自身發(fā)展需要的流程,定義相關(guān)數(shù)據(jù)、業(yè)務(wù)、技術(shù)等標準、規(guī)范,實現(xiàn)開發(fā)、測試、生產(chǎn)環(huán)境的一致性,提升敏捷開發(fā)的能力,提升自動化運維的水平。

3) 業(yè)務(wù)上,提供快速業(yè)務(wù)原型的開發(fā)以支持業(yè)務(wù)變化需求,讓業(yè)務(wù)人員更早的介入,熟悉使用并有效持續(xù)反饋,形成業(yè)務(wù)和開發(fā)的良性循環(huán)。

總的來說,容器輕量化PaaS平臺可以利用容器技術(shù)的特點,其技術(shù)特點非常適合互聯(lián)網(wǎng)化應(yīng)用的快速迭代開發(fā)、彈性伸縮部署、基于標簽體系的灰度發(fā)布機制等需求。我們同時考慮采用目前分布式的微服務(wù)架構(gòu),結(jié)合容器云平臺,實現(xiàn)提高開發(fā)端的響應(yīng)能力,自主開發(fā);統(tǒng)一技術(shù)路線,逐步實現(xiàn)技術(shù)積累和共享;實現(xiàn)持續(xù)集成,開發(fā)測試與生產(chǎn)環(huán)境一致;持續(xù)部署能力,提高發(fā)布速度;實現(xiàn)彈性伸縮能力,快速的實現(xiàn)擴容和縮容;解放運維、實行自動化運維等以滿足公司互聯(lián)網(wǎng)應(yīng)用業(yè)務(wù)發(fā)展的需要以及傳統(tǒng)應(yīng)用改造和集成的需求。

6.行業(yè)內(nèi)應(yīng)用情況現(xiàn)狀調(diào)查及趨勢預測--市場調(diào)研

目前公司的業(yè)務(wù)系統(tǒng)開發(fā)、測試、部署及運維還以傳統(tǒng)模式為主,開發(fā)人員在應(yīng)用開發(fā)測試及部署階段還需要準備操作系統(tǒng)、中間件、Web服務(wù)等軟件運行環(huán)境并進行配置,業(yè)務(wù)應(yīng)用的上線及變更周期較長,不能滿足近幾年興起的互聯(lián)網(wǎng)化應(yīng)用所要求的快速、彈性、敏捷要求,缺少整合、高效的基礎(chǔ)平臺支持。

為此,項目組對行業(yè)內(nèi)容器云的建設(shè)情況進行了廣泛調(diào)研。

國內(nèi)銀行采用容器云技術(shù)的相對比較多,證券公司目前大多數(shù)還在調(diào)研和PoC測試階段。也有幾家已應(yīng)用到生產(chǎn)環(huán)境。

某證券從2013年開始研究容器技術(shù),2014年嘗試在生產(chǎn)環(huán)境使用,2015年開始大規(guī)模使用,根據(jù)2017年現(xiàn)場調(diào)研情況,某證券在生產(chǎn)環(huán)境使用的容器實例個數(shù)行情云4000多個容器實例,分布在6個機房。承載實時并發(fā)超過30萬,整個行情云每秒的吞吐在1.5Gbps左右,服務(wù)客戶超過200萬;

上海證交所也已實施容器云平臺,自身從頂層規(guī)劃,多廠商參與,應(yīng)用采用微服務(wù)架構(gòu),平臺實現(xiàn)了容器云、持續(xù)集成持續(xù)部署等,并獲得了2016“開源云計算﹒實效應(yīng)用”獎。

某證券在測試環(huán)境和生產(chǎn)環(huán)境部署了超過360個容器實例,應(yīng)用在用戶中心——某e賬通、任務(wù)中心流數(shù)據(jù)處理、支付中心——某內(nèi)部支付服務(wù)等業(yè)務(wù)場景。

某證券容器技術(shù)主要使用在應(yīng)用開發(fā)持續(xù)集成流程方面,實現(xiàn)自己的研發(fā)流程平臺,目前在開發(fā)測試環(huán)境部署有上百容器,20多個項目開發(fā)及測試流程。

7.建設(shè)目標

容器云的建設(shè)目標是建設(shè)一個以容器技術(shù)為基礎(chǔ),支持微服務(wù)架構(gòu)應(yīng)用軟件運行的基礎(chǔ)平臺,以降低應(yīng)用開發(fā)、測試、部署和運維過程中軟件基礎(chǔ)環(huán)境的復雜度,使開發(fā)人員更關(guān)注業(yè)務(wù)實現(xiàn),提高開發(fā)、測試、運維效率,提升技術(shù)對業(yè)務(wù)需求的相應(yīng)速度。

容器云的建設(shè)以服務(wù)應(yīng)用開發(fā)為中心,將業(yè)務(wù)應(yīng)用中的功能性需求如高可用、彈性伸縮、灰度發(fā)布、監(jiān)控告警、日志存儲等,通過容器云平臺統(tǒng)一實現(xiàn),并解決應(yīng)用全生命周期管理、中間件云服務(wù)、基礎(chǔ)資源利用率等問題,從而降低基礎(chǔ)設(shè)施的投入,容器云平臺主要對應(yīng)用開發(fā)及運維提供以下支持:

? 開發(fā)環(huán)境支持:即開發(fā)人員使用提容器云平臺供的快速部署能力,建立開發(fā)應(yīng)用所需的技術(shù)環(huán)境、編程語言框架、中間件服務(wù)等,實現(xiàn)開發(fā)環(huán)境的快速準備。

? 應(yīng)用部署服務(wù):即開發(fā)人員創(chuàng)建的應(yīng)用可通過鏡像方式快速部署到容器云上,在測試環(huán)境和生產(chǎn)環(huán)境實現(xiàn)應(yīng)用快速部署及更新。

? 微服務(wù)架構(gòu)支持:提供微服務(wù)應(yīng)用的應(yīng)用注冊中心、日志中心、監(jiān)控中心、容器調(diào)度及編排服務(wù),為客戶中心、服務(wù)中心等這類按照微服務(wù)架構(gòu)開發(fā)的應(yīng)用提供基礎(chǔ)環(huán)境支持。

應(yīng)用運維支持:應(yīng)用運維人員無需管理底層硬件資源、操作系統(tǒng)及中間件等,可以按照統(tǒng)一的鏡像方式部署和變更應(yīng)用,大幅降低應(yīng)用運維的復雜度,逐步實現(xiàn)應(yīng)用運維管理(伸縮、配置、升級等)自動化。

我司容器云平臺建設(shè)的基本目標是:提供應(yīng)用托管、應(yīng)用運維的統(tǒng)一平臺,通過容器云提供的配置中心、注冊發(fā)現(xiàn)中心、日志中心、監(jiān)控告警中心等為所有業(yè)務(wù)應(yīng)用提供基礎(chǔ)服務(wù),研發(fā)人員專注于業(yè)務(wù)應(yīng)用的研發(fā)而不用關(guān)注應(yīng)用的部署和運維?;谠朴嬎愕亩嘧鈶趔w系和權(quán)限管理體系,可以很好的實現(xiàn)應(yīng)用之間的隔離,提供安全的訪問控制體系。

以建設(shè)容器化PaaS平臺為契機,搭建基礎(chǔ)的統(tǒng)一監(jiān)控、告警、日志、配置、認證、API管理等服務(wù)能力,同時結(jié)合大數(shù)據(jù)平臺建設(shè),預研機器學習、深度學習等人工智能應(yīng)用場景,融合各系統(tǒng)的優(yōu)點和能力,避免各個系統(tǒng)的獨立建設(shè)導致的系統(tǒng)隔離、數(shù)據(jù)分散、數(shù)據(jù)冗余、數(shù)據(jù)不一致等問題,逐步建設(shè)形成統(tǒng)一認證中心、監(jiān)控告警中心、服務(wù)注冊中心、服務(wù)配置中心、日志管理中心、API網(wǎng)關(guān)和API管理等能力。

8.PoC測試情況分析--廠家評估

項目組根據(jù)前期調(diào)研和國內(nèi)容器云產(chǎn)品廠商的技術(shù)能力和項目實施情況,選取了A、B、C、D、E、F、G七家廠商的產(chǎn)品進行了PoC測試,目前測試已經(jīng)完成,我們選擇了以下幾個方面作為評估維度:

? 多租戶:考察租戶隔離能力,對組織架構(gòu)、用戶、權(quán)限、角色的支持能力。

? 資源管理:集群、主機、計算、存儲、網(wǎng)絡(luò)資源的管理分配能力。

? DevOps:敏捷研發(fā)運維的能力。持續(xù)集成、持續(xù)部署能力。

? 應(yīng)用管理:包括應(yīng)用發(fā)布(灰度發(fā)布)、部署、應(yīng)用模板、彈性伸縮、應(yīng)用運維、服務(wù)、實例、Pods、容器等管理功能。

? 微服務(wù)支持:包括支持的微服務(wù)框架、服務(wù)編排、服務(wù)治理能力等。

? 鏡像倉庫/中間件支持:鏡像倉庫能力和公用中間件支持能力。

? 基礎(chǔ)組件:日志、監(jiān)控、調(diào)度、權(quán)限、健康檢查等基礎(chǔ)組件的能力。

? 易用性:操作、理解的便捷程度。主要是考慮客戶使用體驗。包括安裝配置、部署操作、更新升級、高可用等。命名定義是否貼切、操作是否便利、配置是否復雜化、是否符合人的習慣等。

? 廠商情況:背景、技術(shù)實力、運維支持、項目經(jīng)驗等。

根據(jù)評估綜合結(jié)果來選擇進入招標階段廠商。

9.實施規(guī)劃

按照試點先行、分步推進的原則,容器云平臺建設(shè)計劃分為兩個階段:

第一階段:容器云基礎(chǔ)平臺建設(shè)。部署容器引擎和容器管理調(diào)度系統(tǒng),支持客戶中心、服務(wù)中心系統(tǒng)的上線部署,為客戶中心、賬戶中心、產(chǎn)品中心等應(yīng)用和用到的中間件服務(wù)提供托管和運行管理平臺;同步搭建微服務(wù)架構(gòu)支撐體系,建立服務(wù)配置中心、服務(wù)注冊中心、服務(wù)日志處理中心、服務(wù)監(jiān)控告警中心等組件,以更好的支持服務(wù)運維要求?;谖⒎?wù)架構(gòu)設(shè)計的服務(wù)可以很好的跟容器云結(jié)合,實現(xiàn)服務(wù)的彈性伸縮、灰度發(fā)布、路由配置、熔斷保護、應(yīng)用監(jiān)控等能力。同時嘗試在容器云平臺提供公共的中間件服務(wù),如負載均衡服務(wù)、消息中間件服務(wù)、Redis緩存集群服務(wù)、應(yīng)用服務(wù)器服務(wù)等。第一階段預計工期N個月。

第二階段:已有服務(wù)開發(fā)遷移及DevOps流程實現(xiàn)階段。本階段遷移部分適合容器化部署的部分已有應(yīng)用如企業(yè)服務(wù)總線、大數(shù)據(jù)應(yīng)用、OTC、產(chǎn)品中心等,使上述業(yè)務(wù)應(yīng)用具備彈性伸縮能力以及日志收集、日志分析、監(jiān)控告警等運維能力;實現(xiàn)開發(fā)、測試、生產(chǎn)環(huán)境的一致性,完成持續(xù)集成、持續(xù)發(fā)布流程和標準規(guī)范,逐步形成適合公司自身的DevOps體系并持續(xù)改進,并逐步推廣到其他團隊。預計工期N個月。

二、容器云項目本期工程實施的預期具體應(yīng)用效果

前面我們提到,容器云項目實施采用試點先行、分步實施的方式,第一階段先建設(shè)容器云基礎(chǔ)平臺,并同步支持微服務(wù)架構(gòu)的應(yīng)用。第二階段實現(xiàn)DevOps持續(xù)集成、持續(xù)部署、持續(xù)反饋閉環(huán)流程,完成整個工具鏈選擇和集成,同時遷移已有的服務(wù)化應(yīng)用,以及需要改造的單體應(yīng)用等。這些工作完成之后,將對企業(yè)、IT系統(tǒng)建設(shè)、運維和開發(fā)人員帶來極大收益。

1.對于企業(yè)的價值

容器云是基礎(chǔ)設(shè)施平臺,就像我們建樓房的地基,樓房結(jié)不結(jié)實、抗不抗震,地基是關(guān)鍵。對企業(yè)來說,建設(shè)一套企業(yè)應(yīng)用系統(tǒng)的開發(fā)運維基礎(chǔ)設(shè)施平臺,將是企業(yè)實現(xiàn)敏捷應(yīng)用開發(fā)和快速業(yè)務(wù)響應(yīng)的基礎(chǔ)。

傳統(tǒng)單體應(yīng)用的開發(fā)周期基本上都是以半年、年來計算,采用SOA/ESB集成服務(wù)化之后,受制于ESB的設(shè)計思想,雖然可以提高響應(yīng)能力,將應(yīng)用功能解耦合,縮短應(yīng)用開發(fā)周期為月、周甚至天,但性能和低延遲方面常常無法滿足需求。ESB是基于系統(tǒng)的集成,受制于底層各系統(tǒng)的能力,無法自由擴展。微服務(wù)架構(gòu)強調(diào)組件從下到上的服務(wù)化,對應(yīng)用系統(tǒng)做徹底的改造,實現(xiàn)應(yīng)用系統(tǒng)微服務(wù)化。容器云平臺為微服務(wù)應(yīng)用提供環(huán)境,可以方便的建設(shè)企業(yè)的服務(wù)中臺。這是一個企業(yè)的關(guān)鍵能力。有了服務(wù)中臺,才能真正的實現(xiàn)快速的業(yè)務(wù)響應(yīng)能力和應(yīng)用快速構(gòu)建部署運營能力。

容器云彈性伸縮能力,讓基礎(chǔ)的、共用的組件可以真正的解耦出來,不再受制于單臺機器資源的限制,可以支撐整個企業(yè)的需求。比如日志中心,就可以實現(xiàn)整個公司所有應(yīng)用系統(tǒng)、應(yīng)用服務(wù)的日志的歸集、分析。容器云多租戶能力有可以很好的滿足不同業(yè)務(wù)、不同部門或團隊的隔離需求。

有了這些能力,在響應(yīng)業(yè)務(wù)需求時,將只專注于業(yè)務(wù)的實現(xiàn),不再考慮平臺、存儲、框架等,服務(wù)中臺的服務(wù)組合和編排可以迅速的實現(xiàn)業(yè)務(wù)服務(wù),使業(yè)務(wù)人員能抓住業(yè)務(wù)時機,及時為客戶提供合適業(yè)務(wù)服務(wù),留住老客戶,贏得新客戶。

2.對于IT系統(tǒng)的好處

在建設(shè)容器云之后,我們關(guān)注的將是一個個業(yè)務(wù)應(yīng)用,不再是一個個IT系統(tǒng)。所有的業(yè)務(wù)應(yīng)用構(gòu)成一個企業(yè)級的IT系統(tǒng),是一個整體,一個生態(tài)系統(tǒng)。公共的服務(wù)、公共的組件是共享的,不再有重復的建設(shè)。比如日志,傳統(tǒng)單體應(yīng)用每個系統(tǒng)都需要有日志模塊,導致重復和冗余,也造成很多的不一致和數(shù)據(jù)隔離,給綜合的長期的業(yè)務(wù)分析造成麻煩?;谌萜髟频腎T生態(tài)系統(tǒng),只有一套日志組件服務(wù),它可能有很多個日志服務(wù)實例,基于分布式部署在容器云平臺。其他組件服務(wù)和業(yè)務(wù)應(yīng)用服務(wù)也是一樣。比如消息服務(wù),為整個企業(yè)提供消息的發(fā)布、訂閱提供支持,對接不同的渠道,如手機App、微信、短信、網(wǎng)站應(yīng)用等。任何一個業(yè)務(wù)應(yīng)用或者新的業(yè)務(wù)需求需要用到消息服務(wù),直接就可以通過消息服務(wù)API實現(xiàn)快速集成,不用再開發(fā)自己的消息服務(wù)。這將節(jié)省大量的工作量,從而提高響應(yīng)速度和節(jié)約成本。

3.對于運維人員的好處

采用容器云平臺之后,運維人員職責可能劃分為資源運維和應(yīng)用運維。資源運維人員專注于IT基礎(chǔ)設(shè)施資源的運營維護,為應(yīng)用服務(wù)提供計算、存儲、網(wǎng)絡(luò)等資源。應(yīng)用運維人員也可能由應(yīng)用開發(fā)人員兼任,實現(xiàn)業(yè)務(wù)應(yīng)用的自動化運維監(jiān)控。健康檢查、日志、監(jiān)控、告警、反饋自動化。通過自動化流程和工具來解放運維,幫助快速定位異常、快速反饋、快速的解決問題。

這樣各司其職,資源運維人員不會因為應(yīng)用的缺陷被抱怨,應(yīng)用運維人員對自己開發(fā)的業(yè)務(wù)應(yīng)用熟悉,又可利用自身的技術(shù)能力選擇、開發(fā)合適的運維工具來支持應(yīng)用運維。

4.對研發(fā)人員的好處

容器云平臺為研發(fā)人員提供了持續(xù)集成的平臺和一致性的環(huán)境,不用再花時間去搭建基礎(chǔ)開發(fā)環(huán)境、測試環(huán)境,可能幾天的準備工作可以在分鐘級內(nèi)完成。開發(fā)人員可以專注于業(yè)務(wù)應(yīng)用的開發(fā),不用考慮底層數(shù)據(jù)的存儲、模型、系統(tǒng)的架構(gòu)、部署方式等等,只需要考慮如何使用服務(wù)中臺的服務(wù)來構(gòu)建業(yè)務(wù)應(yīng)用。不但簡化了開發(fā)、提高了對業(yè)務(wù)響應(yīng)能力,而且標準化、規(guī)范化、一致性的接口服務(wù)對普通開發(fā)人員的能力要求降低,學習成本減少。

三、重大風險揭示與管理

風險總是無處不在。容器云有諸多好處,但采用和實施容器云也存在不少風險。容器技術(shù)是新興開源技術(shù),發(fā)展變化快,首先存在技術(shù)風險。發(fā)展變化快意味著很多人可能跟不上技術(shù)的變化,技能和經(jīng)驗不足,缺乏深入的認知。這是人力風險。對于新的開源技術(shù),企業(yè)往往認識和投入不足,缺乏好的實踐案例,從技術(shù)成熟到真正落地,往往需要一到幾年的時間。

1. 技術(shù)風險

容器技術(shù)出現(xiàn)也就短短幾年時間,仍在不斷的發(fā)展變化。開源的技術(shù)容易凝聚大家的智慧,但同時也由于考慮問題的角度不同,也造成開源技術(shù)的大雜燴,為技術(shù)選型帶來紛擾。

去年我們考慮采用容器技術(shù)并開始選型時,面臨著Mesos、Docker Swarm、Kubernetes等容器調(diào)度管理框架的選擇。但等我們完成PoC測試、Mesos和Docker Swarm已經(jīng)沒落,國內(nèi)所有的容器廠商都轉(zhuǎn)向Kubernetes。快速的技術(shù)變化,為項目的選型和建設(shè)帶來一些問題。錯誤的選型可能為后期的運維帶來難題。

容器技術(shù)是開源技術(shù),開源社區(qū)和商業(yè)企業(yè)關(guān)注點不同,社區(qū)開源版本相對于商業(yè)企業(yè)版本往往缺乏強力的支持。

容器云技術(shù)又涉及眾多的組件,眾多的技術(shù),不僅僅是Docker + Kubernetes,網(wǎng)絡(luò)、存儲、日志、監(jiān)控、安全、微服務(wù)等等,要想一下子全部掌握很難,存在技術(shù)風險。

2. 人力風險

容器云是一個基礎(chǔ)設(shè)施平臺,需要相應(yīng)的基礎(chǔ)組件服務(wù)支撐才能真正的實現(xiàn)輕量化PaaS,如果僅僅是Docker + Kubernetes,其不足以支撐企業(yè)的業(yè)務(wù)應(yīng)用開發(fā)和運維等需求。但目前國內(nèi)整個一個容器云市場的認識還大多停留在Docker + Kubernetes,甚至把Kubernetes等同于容器云。認知和技術(shù)的不成熟可能是容器云建設(shè)失敗的主要原因。

人員技能和經(jīng)驗不足,使容器云項目實施存在諸多變量。大部分人都是一知半解,缺少實踐經(jīng)驗。在實際的項目中,如果沒有一個在過往經(jīng)驗上、技術(shù)上和管理上掌控全局的人員,容器云項目是不會成功的。

IT項目上,人是大的不可控因素。項目人員的技能是否匹配、主觀能動性能否發(fā)揮、責任心是否具備、人員的流動、對項目的理解、認知、把控是否到位等等都影響著項目的質(zhì)量。

3. 資金投入不足風險

目前大部分企業(yè)對新技術(shù)存在懷疑,投入與支持不足。很多企業(yè)都是在做PoC測試驗證,或者實施一個小項目做個試點。這限制了容器云基礎(chǔ)設(shè)施平臺的完整搭建,也無法真正體現(xiàn)出容器云平臺的優(yōu)勢。只有在有一定規(guī)模的基礎(chǔ)上,實現(xiàn)了或者部分實現(xiàn)了服務(wù)中臺的能力,才能真正表現(xiàn)出其價值和能力。

4. 如何避免這些風險

為避免上述風險,我司建議采用購買或者合作研發(fā)容器云產(chǎn)品的方式來實施容器云項目。我們可以提供產(chǎn)品研發(fā)的詳細需求、使用場景、架構(gòu)設(shè)計和詳細設(shè)計,支持容器云廠商基于這些需求、場景、設(shè)計來實現(xiàn),如果最終產(chǎn)品滿足要求則進入招標候選廠商。這樣對容器云廠商來說是一個完善產(chǎn)品,同行的機會,對我司來說,可以避免一定的風險和節(jié)省成本。

1) 產(chǎn)品要求

我們要求廠商提供的產(chǎn)品能基本滿足我們的需求,對于不滿足的部分在后期必須實現(xiàn)并交付使用。對于我們在使用過程中可能需要做一些定制化更改需求,可以友好協(xié)商,支付一定的額外報酬,后續(xù)分期完善。對產(chǎn)品的缺陷,要及時修正,不能影響到我們業(yè)務(wù)的正常運行。對于超出能力不能及時修復的缺陷,要找到相應(yīng)的解決辦法。另外要求產(chǎn)品各組件之間是松耦合的架構(gòu),方便更新替換。

2) 產(chǎn)品安裝、部署、升級、遷移

容器技術(shù)屬于新興技術(shù),雖然已經(jīng)逐步成熟,但仍在迅速發(fā)展變化之中,各種組件不斷的涌現(xiàn),所以我們要求產(chǎn)品必須能支持不同系統(tǒng)平臺之上的安裝、部署,支持物理機、虛擬機等系統(tǒng);容器云容器引擎及容器管理調(diào)度系統(tǒng)能夠及時的提供無縫升級、遷移能力;提供升級、遷移預案,識別潛在風險并能規(guī)避這些風險。

3) 后期需求及新特性開發(fā),定制開發(fā)

產(chǎn)品不可能滿足我們所有需求,因此在我們使用一段時候后會根據(jù)各團隊使用情況的反饋意見提出新的修改及新特性的需求。對于非缺陷性的新功能需求,我們可以基于協(xié)商的基礎(chǔ)上支付一定的合理的研發(fā)費用。

4) 技術(shù)支持

產(chǎn)品使用初期可能需要提供現(xiàn)場服務(wù)支持,后期可提供遠程服務(wù)支持。在產(chǎn)品使用過程中如果有重大缺陷引起的重大事故,廠商必須安排技術(shù)人員在2小時內(nèi)達到現(xiàn)場解決問題。并需要在24小時內(nèi)修復缺陷,完成部署。

5) 高可用要求

對于產(chǎn)品的關(guān)鍵組件實現(xiàn)高可用部署,同時提供潛在風險點的備份機制。

支持平臺控制節(jié)點高可用;

支持應(yīng)用服務(wù)高可用部署;

支持鏡像倉庫高可用;

支持負載均衡高可用;

平臺控制節(jié)點宕機不能影響容器中服務(wù)的正常運行

四、預算評估

本項目預算XX萬元,用于購置服務(wù)器硬件、容器云軟件產(chǎn)品授權(quán)及實施服務(wù),詳見下表:

容器云平臺如何進行風險管理和關(guān)鍵技術(shù)路線選型?

如前所述,我們建議選擇相對成熟的產(chǎn)品,避免項目形式交付,人是大的變量,大的不可控因素,所以盡可能減少人的變量,減小風險,從而使成本可控。

經(jīng)過2次詢價和多次溝通交流,容器云產(chǎn)品軟件一套約XX萬元,另外按節(jié)點數(shù)量產(chǎn)生授權(quán)使用費用,每節(jié)點約XX萬元,根據(jù)節(jié)點數(shù)的量提供一定的折扣比例。容器云產(chǎn)品部署、配置、測試、調(diào)試等實施費用約XX萬元。服務(wù)器硬件根據(jù)應(yīng)用部署需求確定,目前需要X臺PC服務(wù)器,XXXG內(nèi)存和XX顆Xeon 6150 CPU,以及硬盤、網(wǎng)卡等(如上表)。容器云廠商后期服務(wù)費首年免費,后期約按項目總額的10%-20%收取。經(jīng)過總的測算,以目前的需求,實施容器云項目總預算包含軟硬件、實施和3年維保服務(wù)大概在XX萬。不同的廠商價格會有差別。

五、關(guān)鍵技術(shù)路線選型

在規(guī)劃容器云項目的時候面對多個技術(shù)路線選擇,首先是容器引擎技術(shù),容器編排調(diào)度技術(shù)、微服務(wù)框架等。

1. 容器引擎

容器引擎技術(shù)主要有Docker公司的docker引擎和CentOs的rkt引擎,rkt理論上在安全性和兼容性方面更好,但缺乏生產(chǎn)實踐,目前用戶大部分使用Docker。Docker社區(qū)也更活躍,這可能跟Docker發(fā)布比較早和參與的人更多有關(guān)。目前大部分容器廠商都選Docker支持,rkt的成熟度仍顯不足,因此容器引擎我們選擇Docker引擎。

2. 容器編排調(diào)度框架

容器編排調(diào)度框架主要有Mesos、Docker Swarm、Kubernetes、Openshift等。

Docker Swarm簡單易用。原生支持Docker,安裝Docker后開啟Swarm模式即可使用。比較適合小型的集群管理。

Kubernetes除支持主流Docker容器(需單獨安裝Docker組件)以外也支持CoreOS rkt等容器技術(shù),目前社區(qū)最活躍,受廠商支持也最多,基本上所有的容器云廠商都已轉(zhuǎn)向支持Kubernetes。

Mesos上無需安裝docker程序也可以運行docker容器,mesos可以自己解析docker鏡像來啟動容器。Mesos應(yīng)該來說更成熟,Kubernetes已經(jīng)測試了數(shù)千個節(jié)點,而Mesos已經(jīng)測試了成千上萬的節(jié)點。Mesos社區(qū)不再活躍,對超大集群的支持Mesos更合適。

Openshift是Redhat基于Docker和Kubernetes之上做了封裝的開源容器應(yīng)用平臺。RedHat增加了很多新的特性以支持應(yīng)用的快速開發(fā)、部署、擴展等生命周期管理能力。Openshift的實施一般是由RedHat合作伙伴執(zhí)行。合作伙伴的能力決定著項目的質(zhì)量。

考慮到技術(shù)的快速變化,為了后期升級維護的需要,適合選擇社區(qū)活躍、支持度高的容器編排調(diào)度框架,綜合考慮,Kubernetes或者Openshift是目前比較好的選擇。

3. 微服務(wù)框架

目前比較流行的微服務(wù)框架是SpringCloud和Dubbo。SpringCloud是Pivotal公司基于SpringBoot框架的基礎(chǔ)上推出的微服務(wù)開發(fā)開源框架,它提供相對完善的服務(wù)配置、注冊發(fā)現(xiàn)、服務(wù)網(wǎng)關(guān)、服務(wù)消息總線、熔斷、日志收集等能力。Dubbo是阿里公司的開源產(chǎn)品,相對簡單,國內(nèi)用的較多,但中斷了一段時間維護,缺乏Pivotal公司系統(tǒng)的支持能力。阿里的產(chǎn)品總的來說是阿里自身需求的結(jié)果,所以往往缺乏標準化規(guī)范化的考慮,只是為了追求某方面的性能。綜合來看,選擇SpringCloud來開發(fā)微服務(wù)是比較好的選擇。

六、可行性評估結(jié)果及建議

基于以上的分析評估,我們建議可以盡快采用容器云技術(shù)實施容器云。以盡快搭建公司私有容器云基礎(chǔ)設(shè)施平臺,建設(shè)持續(xù)集成、持續(xù)部署、持續(xù)反饋的閉環(huán)應(yīng)用研發(fā)流程。提升公司自主研發(fā)能力,提高對業(yè)務(wù)需求的響應(yīng)能力。采用購買產(chǎn)品的方式來建設(shè)公司容器云平臺,避免項目周期長帶來的技術(shù)風險和人力風險。

云計算容器云平臺

分享題目:容器云平臺如何進行風險管理和關(guān)鍵技術(shù)路線選型?
文章位置:http://www.muchs.cn/news19/201469.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、外貿(mào)建站、網(wǎng)站排名、商城網(wǎng)站、App設(shè)計、手機網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)