IBM潘雪梅:基於容器雲的企業私有云建設主要挑戰及解決

IBM 雲計算 技術 DevOps 銀行 金融 設計 區塊鏈 金科創新社 2019-05-26

者:IBM雲計算事業部混合雲技術經理 潘雪梅

來源:2018新一代金融雲平臺(北京)沙龍


8月24日,由金科創新社和IBM聯合舉辦的2018新一代金融雲平臺沙龍在北京止觀美術館舉行,本次沙龍的主題是“新架構、新速度、新效能”,三十多位金融行業專家、業內實踐者齊聚本次沙龍,就新一代雲計算技術容器雲及其實施方案和應用等行業熱點話題進行了熱烈的交流和討論。


IBM潘雪梅:基於容器雲的企業私有云建設主要挑戰及解決

IBM雲計算事業部混合雲技術經理潘雪梅出席了本次沙龍活動並發表了《如何架構全新雲平臺》主題演講。企業在建私有云,特別是基於容器雲的時候面臨的問題。

以下是潘雪梅的演講實錄:

今天我將帶給大家一些真實的案例,真實的企業在建私有云,特別是基於容器雲的時候面臨的問題,以及在一些案例裡面IBM技術怎麼去解決的,希望給大家能夠帶來一些參考。

企業上雲是階段性戰略化的旅程

實際上企業在上雲時確實經歷了三個階段,我在聽趙總講的時候發現完全的一樣,因為趙總提到第一個階段是資源優化,就是基礎設施優化,專注在資源。第二個趙總講的專注在服務,實際上就是改進應用,更好的適應業務需要。第三步是非常大的升化,就是從技術走到了業務,業務如何能重塑?如何再造新的業務模式?在技術上需要什麼支撐。比如現在多雲環境下的,或者是龍頭企業在行業雲上的嘗試等等都屬於第三個階梯轉型的階段。

這個過程中會遇到很多困難,這個困難解決有很多辦法,時間又很有限,所以我會講的快一點,好東西都端出來,有興趣的話我們再找機會交流。

企業上雲的業務價值驅動

企業上雲經歷這三個階段是有實際業務訴求的,業務訴求通常有哪幾類呢?首先是更好的獲客增加收入,開拓新的業務合作模式,創收。還有優化成本,提高運營成熟度,比如說IT運維更加高效,服務質量更高,提高客戶滿意度和高可用性來增加收入,還有滿足合規,包括安全合規的一些要求。

實際上企業技術應用在適應這些業務的需求,在做轉化的時候,目前企業都遇到了一個普遍矛盾,就是所謂的穩態業務和敏態業務的矛盾,因為金融都是做非常穩定的可控的業務,而現在業務是多變的,不可預知的,所以帶來了這個矛盾,因此比如說瀑布式開發等等傳統的方式已經不適應了,所以要帶來的變化,要有一些創新思維方式、方法,包括DevOps的引用,敏捷、精義,創新思維,設計思維方法等等的引入,都是在解決這個矛盾。

企業上雲遇到的挑戰

企業在上雲的過程中會遇到很多困難,很多挑戰,這是我在跟很多企業交流過程中總結出來的幾方面的問題和IBM的應對之策。

第一類挑戰是選擇,剛才劉總也提到了,就是容器雲平臺選擇的過程中,是開源還是商用,自研還是產品化,這個是我很多企業都面臨的一個兩難選擇,這個選擇最具體的挑戰是什麼?遇到問題是什麼呢?

第一種是自研,基於開源自己自研帶來的技術投入非常大,而且開源技術跟進非常困難,因此要看公司裡面是否有這樣的儲備去實時跟進,IBM是三個月跟一個版本,也跟前一個版本,這樣保證它穩定的同時,新技術也能用的上,而對於一家銀行來說需要擁有龐大的跟進隊伍,還要面對技術團隊的流失,跟我們合作的幾家銀行都在流失,而且技術人員的流失會讓銀行做的一點變更不敢動,想升級不敢升,遇到問題沒法解決,還有上生產以後出問題非常痛苦,只能爬在社區上面等人來回答問題,這是非常痛苦的,因為沒有一個商業公司後面的保障,這是自研的問題。

第二種是跟國內互聯網公司合作的,把公有云上的最佳實踐帶進私有云裡面,遇到的問題是什麼呢?第一個很多技術是私有的,私有的技術裡面遇到的問題特別多,比如客戶第一朵私有云還在建設中就開始選第二朵私有云了,但是這裡面每個組件都有問題,每個組件只能依賴一個廠家解決,產品非常不成熟,沒有成熟的升級路線,就是他出來新版本,這個老版本沒有考慮到,就得推倒重來,是重建而不是升級,這是很痛苦的。

第三種是跟小型的創業公司合作,我們遇到的幾個客戶有這樣的問題,原因是看起來他們的技術很好,DevOps搭建也很好,快速上線,接下來的問題是用起來以後,規模到50臺以上,發現問題了,性能功能全出現故障了,原因是沒有大規模生產實驗,沒有經過真實環境反覆的錘鍊。再有,等到變成一個企業級戰略要基於容器雲平臺構建新的IT的時候,不斷的數據能力要上來,可能區塊鏈、業務流程、集成等等所有的業務都要上來的時候,發現這個平臺沒有為此而設置,當初考慮的只是部署一個小型創新應用,所以侷限了它的發展,沒法支持企業更遠大的戰略目標以及雲計算的目標,這是我們發現的幾個真實的案例,這是一個挑戰。針對這個挑戰,我呆會跟大家專門分享一下容器雲平臺,如果作為企業級的戰略,它應該有怎麼樣的一個設計和定位。

第二類挑戰是雲原生應用,開發的時候很多人都是理想化,但是做微服務的設計,微服務架構下面應用怎麼設計,應用微服務怎麼治理,微服務的監控管理怎麼做,這些跟傳統的IT服務管理的體系就完全不一樣了,所以這也帶來新的挑戰。

第三類挑戰就是已經有的應用,如何評估他適不適合上雲,如果適合的話工作量多大,風險在哪,還有已有應用上雲的話,是不是有工具和方法能夠幫助我做,能不能做微服務化改造。

最後還有一些在與客戶交流遇到的一些問題,就是創新沒有方法。

接下來我就拿一些實際案例,看看從這幾個方面,IBM怎麼幫客戶做的。

給大家看一個比較通用的數字化銀行的一個參考架構,因為現在雲計算是支撐企業數字化轉型的一個非常好的架構,所以在這個數字化銀行參考架構裡面已經把雲計算充分的設計進去了,他的底層是多雲,不管是公有云還是私有云,未來會是一個多雲的環境,儘量用每家雲最有優勢的地方,然後對於雲平臺企業內部既有IaaS又有PaaS,然後在最上面會構建新型的服務,應用有的直接在上面建,有的遷過來,有的在上面做優化,而且傳統的有一些核心應用還會存在,因此這是一個混合的IT環境,當然也要充分利用一些SAAS的服務,混合的環境裡面又有平臺服務的管理,又有集成,又有一些安全合規,利用這樣的架構來支持上面的多渠道應用。

IBM容器雲平臺簡介

IBM容器雲平臺產品IBM Cloud Private就是要支撐企業級的雲平臺,雲平臺應該有的能力都應該在平臺裡考慮,而且有個非常大的挑戰就是技術一定要開源開放,所以IBM在設計這個產品的時候主要考慮了幾點,給大家做個參考。第一個就是自主選擇,可以是公有云,可以是自有云,也可以是Open Stack。第二個容器調度平臺是現在最熱的技術,採用的是開源技術。第三個在這樣統一的平臺下,利用到最靈活的調度能力之後,企業級應用需要的增強來做,就這樣又保證開放,又保證他足夠強壯,企業級要的運維能力在這層加強,放心可靠的來使用這樣的平臺。最後再增持一些企業級應用需要的能力,包括說各種編程語言,運行時環境,數據的服務能力,創新的服務,比如AI、IoT都是在這層不斷的增強,所有這些都構建在統一的平臺上,與IaaS架構無關,這樣保證最大的自由度,一個是這些東西都能搬的走,在這上面因為都在Kubernetes 和Docker上,都能搬的走。第二個不用再管底層的安全、監控、伸縮、出問題的自愈,都不用管,因為這一層給解決掉了,給保證了,只要專注在要解決的技術問題,所有應用都構建在這個上面。

映射到IBM的私有云產品,就是說與所有的IaaS無關,但是都能集成,在之上構建的是一個基於Kubernetes的容器雲平臺,在上面應用和數據支撐的中間件做雲化,可以布在上面。另外,第三方可以做集成,混合雲多雲環境的集成,另外區塊鏈、IOT、AI的能力都布在上面,創新能更快,所有好的服務能力都可以布在這個上面,在整體環境裡面要有多雲環境,要有差異化,要在我的管理上屏蔽掉,要一致的DevOps,一致的IT運維管理,一致的安全管控,這是IBM設計的一些指導思想。

下面給大家看下從平臺,多雲、混合雲集成,或者DevOps運維管理這幾方面的能力。

某銀行雲環境下的應用持續部署案例簡介

DevOps具體舉幾個例子,比如有的銀行在做DevOps的時候,傳統的系統已經在實施DevOps了,IaaS雲已經有了,現在在實施PaaS雲,考慮的是在多雲環境下如何能夠實施多雲環境以及這個環境的複雜度,並且希望整個DevOps可視,而且可以發現異常,通常的DevOps在每個步驟大概花多長時間,現在是不是有嚴重超時,有什麼樣的問題需要解決,能怎麼樣更快速的解決問題,如何支持多雲環境,這是從需求上來講。

以IBM的解決方案來說,第一是提供工具,如何能最大化開發者的開發效率,具體考慮開發者涉及的環境都有什麼?代碼開發,做一個編譯,看看日誌,然後調試運行看日誌看看性能,然後做部署,所有的這些打包在一個環境裡面,所有IBM在國內外的車聯網項目都是用這樣的環境高速開發,一個環境裡完成所有的工作。

第二、現在有一個趨勢就是DevOps如何在開發的時候實現開發即刻被管理,所以在整個開發環境裡面所有的探針自動的加進去了,這樣應用監控就自動可以做了,不用後期再配置。

第三、就是多雲應用的部署,銀行有比較嚴格的安全管控,所以按組織,按員工的權限,自動化、流程化設計部署工作流,設計多雲部署的環境,包括從IaaS上面,如何做控制,怎麼樣測試,特別是發佈的時候檢查是否出錯,實現一鍵回退,這就是整個應用部署的實現。另外,應用部署還有一個發佈管理,用戶是有非常嚴格的發佈的週期和發佈一些管理的要求,整個發佈過程可視,時間表怎麼樣,發佈任務有多少,成功率多少,問題出在哪兒,一個界面裡整個發佈過程可視化。

第四、應用發佈的流水化,所有的應用或者是微服務,在不同的環境開發測試生長環境裡面,都發布到什麼樣的版本,有什麼樣的問題,部署了這些信息以後,還需要得到一些提示,那些是異常,跟原來發布部署的時間相比,出現了什麼樣的異常,哪些是需要重點關注的,重點解決的。

最後這是另外一個客戶提的要求,從IT管理者的角度,他不關注具體每一個應用或者產品的發佈的具體工作流程,但是他關注跟我投資有關的業務價值交付情況,那就是從IT投資,立項開始投的每筆錢,逐步立項,然後從需求到後面的設計開發,到上線部署的使用的整個流程,價值鏈要理出來,然後可以知道整體上來講,問題出在哪,如果有問題可以往下找到具體出問題的項目,這個有助於領導對自己的IT規劃和IT投資的運轉狀況有個全面直觀的瞭解。

某運輸服務公司多雲環境及 DevOps 架構案例簡介

接下來這個方案特別拿出來介紹,希望給一點參考,這是國外的一家公司,客戶要求業務儘可能上公有云,而當他百分之百要上公有云的時候,他要考慮的很多因素跟我們銀行現在上雲要考慮的因素是一樣的,比如說安全性、可靠性。上公有云的時候,一朵雲是那麼可靠的嗎?一家的雲是那麼可靠的嗎,所以他選了兩家雲,一個IBM一個AWS,選了三個節點,IBM兩個,AWS一個,有點類似於銀行的兩地三中心這樣的設置,這就要考慮到應用的可遷移性。

Kubernetes架構需要貫穿這三個環境裡面的開發測試、生產等等所有的環境,都是一套架構,這裡面要解決的DevOps的問題,特別說一下,就是說因為它是三個中心裡面的多個環境,DevOps的複雜度太高了,而且是多雲環境的管理,所以它重點有兩個組建,一個是多雲環境裡面這個環境的準備,自動化服務環境的準備。第二個是自動化的應用部署,這是裡面兩個最關鍵的組件,這個組件跟之前銀行的一樣。

而上面多雲環境的環境準備,涉及到的環境準備包括了雲計算對站的全站,包括從底層的IaaS準備,然後中間的PaaS層,基於的操作系統,中間件的安裝、配置,以及上面的定義成服務以後,再為應用準備所要的所有環境做成服務錄。這個基於多雲環境的全站部署怎麼樣去做呢?他們的做法就是基於IBM私有產品的一個組件。這個組建的優勢就是主流支持的雲都有現成的插件,基於這樣的插件都有基於不同的IaaS內容,存儲網絡、計算資源都有相應的插件,不同雲組件的插件,還有像中間件的,通過拖拽就能構建出這樣環境準備的工作流,這個工作流配置好就可以作為一個模板,作為標準服務放到服務目錄裡面,我們構建IaaS應該有類似的機制,只是說把它擴到了全站。這個包括了IaaS、PaaS、應用都可以最後打包成服務,放到服務目錄裡面。因為雲計算的最高進階就是人工零介入,而這些東西定義好了就可以放到服務目錄裡面,可以自服務。這個國內很多客戶青睞,像有金融的,BATH裡面的一家,就用的這個,因為有些業務要布到私有云,又要布到公有云,有些數據在這兒,有些應用在外面,這是一個混合的環境,可以用這樣的技術來做。這裡面用到的也是開源技術,等於各家的公有云和私有云都去支持他。

某大銀行的Web應用服務器的雲轉型案例簡介

剛才把DevOps說完,現在看應用的雲化。舉個例子,現在國內很多銀行都在做PaaS雲平臺建設,都會涉及一個問題,就是採用什麼應用服務器,其中有幾家都在跟IBM合作,把IBM應用服務器做輕量化上雲。在輕量化雲上面,IBM有一個特別適用雲的版本,我們具體來看看工行的案例,從2014年開始做這樣的打算,從2016年2017年已經連續支持兩次“雙十一”,現在日交易量達到2.5億次,生產環境上已經布上千個節點。簡單介紹下輕量化上雲IBM能做什麼,IBM提供了一個工具叫Transformation Advisor,首先它會分析源代碼,評估用的技術是比較容易上雲,還是有點難度,還是非常困難,另外他會評估如果要遷的話工作量有多大,可以很直觀的認識到要不要做,需要投入,現在IBM已經幫助國內幾家銀行做了應用的遷移。

某銀行雲管平臺監控案例簡介

因為傳統的運維沒有考慮到容器、微服務這樣的技術站的事情,所以會帶來一些困擾。這是國內一家特別大的銀行,已經上了容器雲平臺,希望對整體的IT資源有一個監控管理,然後快速的預警和發現問題,現在的困擾是什麼?IaaS層有自己的監控軟件,PaaS每個組件也有自己的監控軟件,然後微服務化的應用還沒有好的工具監控,而且這些都是獨立的,遇到問題得一個一個去查,面臨解決問題週期太長,這是最主要的困擾。

另一方面,監控數據散落在不同工具中,量特別的大,而且無關聯,就是這些本該有關聯的事情,因為IaaS層的網絡導致PaaS層上面的應用不行了,然而這些事情在不同的監控工具裡面,以自己的形式存在著,完全沒有關聯,這件事情讓它非常無助,出問題的時候沒法快速定位問題,也沒法預警。

還有就是在這種高速動態的環境,快速伸縮動態的環境裡面,整個環境不在自己的掌控之下,整個關聯關係不知道,對於運維來講這是比較困難的工作。

IBM團隊給出的解決方案就是做不同數據源的整合,從海量數據裡面信息進行歸類規整,排重,然後簡化,這樣減少數據量,然後找到根源做一些分析,另外動態的拓撲幫它做展現,還有應用,微服務化的應用做監控。

這是一個參考架構,真正的故障,這個客戶最大的困擾是如何能夠快速定位故障,這個故障管理是有一個標準的參考架構的,這裡面最關鍵的組件在於事件管理,事件關聯,就是解決這個需求的關鍵,具體的做法是什麼呢?把整個IT技術站裡面所有的日誌,監控的信息,收集採集上來,然後中間層做數據的歸類整理,歸類整理有些什麼依據呢?首先得知道動態拓撲結構是什麼?蓄積和物理級的關係,容器和蓄積的關係,上面的應用和容器的關係等等從上到下全站的關係要做理順,然後做了橫向的,一個事物一個請求來了,整個響應鏈端到端的監控,但是全技術鏈的確有一定的難度,要做到這些來了以後能夠非常好的關聯分析,有一個基礎就是對動態拓撲的聯繫。

它大概的原理,看右邊圖能看出來,剛開始來的海量事件每天上億條,但是有大量的信息是重複的,去掉了,信息做完分類以後做一些關聯,找到他們的因果關係。特別是因為動態拓撲的關聯關係,持續關係,甚至於基於機器學習知道隱藏在後面的關聯關係,使得事件變少,這個事件才交給我們的運維人員去做解決。這個實際上已經好幾家銀行在做類似事情,有的是用在傳統的IT上面,有的現在開始嘗試用在容器雲平臺,包括容器雲平臺的整體架構裡面。

行業生態雲簡介

行業生態雲是目前比較領先的一些公司,或者是企業特別特別感興趣的,主要的想法是說如何把自己的能力輸出,為上下游或者是生態所用,因此打造行業生態雲裡面最重要要解決的幾方面問題。一個是如何以一套規範的方式讓功能上線和輸出,供合作方基於它去創新,另一個是如何更好的在生態中為最終消費者所用,最後要考慮這些能力,底層如何支撐它,支撐它包括應用上線的能力,服務的集成能力,一些管控能力,安全等等的這些,還有云的市場,如何把SaaS應用集中管理到裡面。

技術上來講是這樣,這個解決方案是還構建之中,目前有幾個金融的客戶特別感興趣,所以IBM和他們一起在做建設,最底層的是基於容器雲平臺,因為整個支撐行業生態雲是需要底下動態的能力,所以基於容器雲平臺。管理所有的API和APP,需要一定管理的規範,包括服務如何上架,整個審批流程,中間的安全管控,監控管理等等的是在Pass層去解決,之後支撐他的應用也可能需要數據,也可能需要一些通用的服務,比如緩存等等的服務,這些是平臺能夠提供。另外,實際上還有很多比如計費,計費是我們解決,但是怎麼收費的規則之類的這是我們的用戶自己來定,這是IBM提供這些功能,用戶提供這些功能之上打造一個API和APP的Market Place。

核心產品IBM Cloud Private簡介

前面講的,最核心的都是基於一個產品,就是IBM的 Cloud Private,他基於開源技術做了一些增強。開源技術最關鍵的有哪幾個,Kubernetes、Docker是最重要的兩個,有的企業選擇跟一些廠家合作,上面所有的軟件包需要自己一點點去打包,有安全隱患,而且不方便,而IBM Cloud Private是有規範的,所有上面容器平臺上的組件,不管是哪層的,都由IBM驗證過可以安全使用。採用多用的管理Terraform,今天的雲、新出的雲只要符合這個技術都可以繼承。

IBM Cloud Private平臺給企業用戶的價值有哪些?DevOpS支持混合開發,支持混合雲環境的集成,能夠利用現有的技術,現有的中間件能夠帶他們上雲,還有在多雲環境的規範化管理,安全與合規,另外IBM Cloud上面所有的東西都是驗證過的,並且做了漏洞掃描的保障,保證沒有問題。IBM預裝在容器雲平臺上的能力非常多,包括應用開發的一些基礎要的環境,應用的集成,混合雲集成,應用如何到雲的遷移工具,然後業務流程管理的,AI的,多雲管理的等等的,還包括一些數據的能力。

IBM Cloud Private三個版本,一個是開源社區版,是免費的,可以下載試用。還有另外兩個版本,一個叫雲原生,一個叫企業版,區別不大了,在這兒不花時間跟大家說了。

為什麼選擇與IBM合作?

最後說一下為什麼選擇跟IBM合作?企業選擇廠家合作的時候,可能重點考察幾個問題。

一個就是目前的技術是開源當道,在開源裡面這個廠家是否有話語權,是否能主導一些開源的走向,是否能夠滿足你的業務需求,你的需求是否能夠進到裡面。比如工行買了IBM的服務,然後發現業務裡面Kubernetes一個漏洞,IBM可以提供的售後是有兩種辦法,一個是打完補丁交給開源社區並建議放到下一個裡面,如果過程有點慢IBM可以先給他打上,然後在開源社區裡面追加,這樣是用開源最終極的技術保障,因為IBM在這個開源社區裡有一定的話語權。

另外一個就是整體方案和成熟經驗,因為業界裡現在好多拿著Kubernetes就包裝的產品就在用,實際上真正到企業級的需求,無論從規模、穩定性和未來的發展能力,是否能支撐,可能在做企業級雲平臺建設規劃時候,要提前做一些考量。

再有就是技術開放和穩定的產品路線圖,IBM非常嚴謹的在跟進Kubernetes,比它低一個版本,尋求技術和穩定性之間的平衡,企業的合作要考慮這些因素,

最後還要考慮售後支持,IBM不僅有24×7的支持,還有本地研發團隊的支持。

好,我的內容就這麼多,謝謝大家。

相關推薦

推薦中...