1. 程式人生 > >魏新宇:“金融行業自動化運維的研究與落地” – 運維派

魏新宇:“金融行業自動化運維的研究與落地” – 運維派

由工業和資訊化部指導,中國資訊通訊研究院主辦,業界知名組織雲端計算開源產業聯盟(OSCAR)承辦的2017全球雲端計算開源大會於4月19日-20日在北京國家會議中心順利召開。本文為本屆大會嘉賓分享的大會演講速記內容,敬請瀏覽。

魏新宇

嘉賓介紹:魏新宇

公司職務:紅帽軟體(北京)有限公司方案架構師

大會演講速記

自動化運維

大家下午好,我是紅帽公司的解決方案架構師魏新宇,我很榮幸跟大家分享這個課題。

金融行業

金融行業的定義比較廣泛,它包含有銀行、證券、保險。金融行業的IT化資訊較早,例如1980年左右,銀行就開始了資訊化建設。由於起步和發展早,所以金融行業的IT架構相對來說比較複雜的,像很多銀行的IT裝置有大型機、小型機、物理伺服器、虛擬化,Open Stack,甚至還有容器。

IT運維

正是由於金融行業各個細分領域,IT業務架構有很大的區別,或者有很大的不同,所以IT運維我們經常遇到一些問題,主要是集中在兩方面,一方面運維塊效率較低,第二方面就是運維成本非常高。

紅帽專家根據多年支援銀行業客戶,長期經驗總結出了七類Linux運維中常見的問題。這七類問題,可以說是很多客戶,尤其是客戶運維人員的血淚史。當然,有的金融客戶面臨的問題可能是其中的某一個,有的面臨的問題甚至超出了這七種型別。

Linux運維

  • 自動部署

目前很多銀行內採用各種開源技術實現了作業系統的批量安裝和自動化部署、但是先前的做法可重複利用化程度很低,每當有專案需要進行自動部署時都需要針對該專案重新進行配置,工作量大且效率低下而且沒有很好的版本管理和回退機制,也缺乏一個很好的管理介面來進行管理,希望通過有效的管理工具來實現快速部署海量伺服器的問題。

  • 軟體更新

很多銀行伺服器升級都是去紅帽官方網站下載然後手工進行升級操作,實效性、可追溯性差,管理員只是被動接收來自安全部門和紅帽的安全建議,希望通過一個集中展示平臺,直觀的看到資料中心內部所有linux伺服器目前執行的軟體版本和官方版本之間的差異、升級的型別並直接通過統一的展示介面遠端直接對需要升級的伺服器升級某一個軟體的升級程式。

  • 安全更新

國家現在對開源軟體的安全性要求很高,很多銀行的安全部門以及公安部會定期對所有的Linux伺服器進行安全掃描併發布安全整改意見,這些意見和廠商提供的安全更新建議往往有很大的出入,迫切的需要一個工具能提供紅帽產品的安全更新以及修復建議並且能結合上述的軟體更新功能為系統及時的修補安全漏洞

  • 合規性檢查

大的銀行內部有自己的作業系統基線,定義了一系列的標準,這些標準需要人工來實現以及更,參與Linux運維的人員也很多,每個人的能力、對作業系統的理解程度以及使用習慣的不同會造成Linux伺服器的配置存在很大的差異,有無可能通過一個集中式管理工具結合行裡的執行規範來實現自動化部署並且可以根據已有古規範找出個與規範之間的差異並消除

運維

  • 從開發到測試到運維的軟體生命週期管理

很多銀行的開發測試運維的環境都不完全一樣,這就有在開發測試環境中可用但到了生產環境會出現問題的風險,希望通過工具來統籌管理開發、測試和運維平臺上的Linux環境的部署,應用軟體的分發以及合規性一致性的檢測。

  • 多使用者、使用者組管理以及訪問控制

很多銀行基於Linux的系統都是以專案(業務)的方式進行劃分的,每個專案都會有相應的軟體中心和資料中心的技術人員負責應用軟體和作業系統的開發、部署、上線、維護等工作,為了完成這些工作需要給相應的使用者賦予相應的許可權以避免越權操作,希望解決在大規模Linux使用環境下使用者管理和許可權劃分的問題。

  • 伺服器組批量操作

傳統的Linux運維管理需要登入到伺服器上手工或者通過執行指令碼的方式來進行,對於一個專案而言,通常幾臺甚至幾十臺伺服器的配置和執行環境是完全一樣的,希望能實現像操作一臺伺服器那樣操作一組伺服器,執行一次操作就可以對該組內所有伺服器都生效,即對一組伺服器可批量進行升級、部署、管理和維護的工作。

自動化運維

解決錯綜複雜的運維問題,出路在人員、流程、工具三方面一起下功夫,構建標準,先實現手工標準化運維。接下來,利用現代化IT技術,逐漸減少運維人員的工作量,構建自動化運維。在實現了自動化運維以後,就需要構建集中管理,實現集中化。最後,隨著企業IT水平的不斷提升,利用CI/CD等技術,構建devops。

OS運維

參考Gartner IT基礎架構和運維成熟度模型中的技術維度,紅帽根據在Linux領域長期的經驗,提出OS運維成熟度模型。OS運維成熟度越高的企業,其IT架構越敏捷、 Time To Market越短、業務競爭力越強。

根據不完全統計,在傳統行業裡,IT成熟度較高的使用者,其OS成熟度大多處於三級,也就是基本實現了運維制度化、規範化,但仍處於半手工運維的階段。

而作為對IT運維要求更高的金融行業,顯然需將OS運維成熟度至少提升到四級,實現集中化;甚至五級,也就是自動化和運維開發一體化。

客戶理想的自動化平臺是:首先要有一個自動化運維門戶(unifiedportal),理想狀態是這個門戶與客戶的雲門戶統一對接。其次,當IT系統出現問題/需要變更的時候,自動/手動觸發處理工單(這個工單系統符合ITIL流程 ,與行裡現有流程和審計對接)。

這個工單IT主管可以看到,審批以後、自動執行,把問題修復。比如:linux的根分割槽不夠了,自動觸發預運維平臺的對應操作是自動擴容,但需要自動觸發建立工單。工單到IT主管那,批准之後,自動擴容。

如果按照上一小節的“OS運維成熟度模型”來衡量該架構,上圖這個架構不僅實現了自動化,也實現了集中監控。因此其等級至少為4+,接近於5級。

運維平臺中

構建自動化運維平臺中,紅帽的左膀右臂分別是Ansible Tower和Satellite。

Ansible Tower作為一款優秀的自動化運維工具,它有四大特點:

  • 使用簡單而功能強大(它可以支撐整個IT架構,從物理機、作業系統、虛擬化、雲、容器到網路裝置。語言簡單易學)
  • 操作安全可控(ansible tower基於RBAC方式對使用者進行授權,AD,LDAP等認證方式做對接)
  • 適應傳統行業客戶與網際網路行業(ansible是git hub上最受歡迎,使用最廣的自動化工具)
  • 在金融行業已經積累了海量的playbook(紅帽的的使用者可以直接拿來用,紅帽在很多金融行業客戶積累的經驗)。

自動化平臺金融行業

satellite則在系統部署、訂閱管理、軟體管理、配置管理四方面幫助客戶實現IT運維標準化。

紅帽雲管平臺Cloudforms,可以與AnsibleTower和Satellite對接,實現雲平臺管理與運維統一。

那麼,IT自動化運維平臺架構如何落地?

首先我們先看自動化運維平臺的架構:從下往上:IT環境、基礎架構管理、資料展示層。

IT環境層,指的是自動化運維平臺需要納管的物件。在一個複雜的資料中心中,運維絕不是僅僅針對一種作業系統,或者一種型號的伺服器。而是整個資料中心,包括(但不限於):

1.系統層面:從Linux(物理機、虛擬機器、雲環境), Unix,到Windows。

2.虛擬化平臺:VMware、Docker、Cloudstack、LXC、Openstack等。

3.商業化硬體:F5、ASA、Citrix、Eos以及各種伺服器裝置的管理。

4.系統應用層:Apache、Zabbix、Rabbitmq、SVN、GIT等.

5.商業化軟體如:Openshift、Ceph、Gluster、Oracle等。

6.雲平臺:支援的雲平臺有AWS、Azure、Cloudflare、Red Hat CloudForms、Google、Linode、Digital Ocean等。

基礎架構管理層

基礎架構管理層的職責分為三大塊:集中監控、運維自動化平臺、內控平臺。

1.集中監控平臺包含平臺(如虛擬化平臺)監控和應用(如oracle資料庫)監控。

2.運維自動化平臺,它是基礎架構管理層的核心元件。它需要完成四類操作:作業排程、自動巡檢、批量釋出、容災管理。也就是說,運維自動化平臺必須能夠驅動IT環境層的七種物件。

3.內控平臺,主要負責合規控制。它完成:合規管理、風險管理、使用者管理、訪問控制。

整體而言,在基礎架構管理層中,運維自動化平臺是最關鍵的,它是管理層的發動機。而集中監控平臺和內控平臺則是輔助自動化平臺的。前者負責運維自動化的全生命週期管理,後者負責運維自動化平臺的合規和安全。

服務管理層

服務管理層通常通過ITIL等架構理念,與客戶的規章制度與業務流程匹配,需要做定製化開發。目前絕大多數金融行業使用者都有流程,只是體現在紙面上。需要做的是將紙面上的流程IT工具化。

資料展示層:

主要是面向企業內部IT和非IT部門的內容使用者。做統一的門戶。過這個統一的平臺,內部使用者可以訪問這個平臺。通常情況,運維門戶會與客戶的雲門戶統一。

金融行業客戶自動化運維平臺實施步驟

任何一個大型平臺,無論是混合雲平臺,還是自動化運維平臺,它們的構建都不是一蹴而就的。都需要客戶結合自身的情況,分步驟、分階段走。

自動化運維

下面我們看一下自動化運維平臺常見的幾類工作,按照OS運維成熟度模型進行評估,六類工作都能實現自動化的話,IT成熟度可達到接近於5級的水平。

在這六類工作中,按照難易程度,大致可以分為三類:

  • 比較容易實現的是批量作業自動化、自動巡檢。(通過Ansible Tower+ 專業服務實現)
  • 實現難度中等的是:軟體批量分發部署和配置與版本管理。(通過Ansible Tower + Satellite + 專業服務/其他開源工具實現)
  • 實現起來最複雜的是:應急故障檢查和容災管理。(通過Ansible Tower + Satellite + ITIL + BPM + 專業服務/其他開源工具實現)

金融案例

因此,針對於目前完全沒有進行自動化構建的小型金融客戶,建議從批量作業自動化、自動巡檢開始,先通過這兩步,解放運維人員的生產力;對於在自動化運維有過一定探究的中等規模銀行,可以考慮實施軟體批量分發部署和配置與版本管理;對於IT程度較高的大型商業銀行,需要考慮的問題是,如何實現應急故障檢查和容災管理的自動化。

實現六類工作與構建服務管理層和展現層並不衝突。流程、工具、人員三者必須同步進行。當然,在早期,服務管理層可以考慮先使用人工的方式。隨著IT規模的增加以及管理要求的提高,再將紙質流程IT工具化。

剛才所講的內容我放到公眾號上了,大家有興趣可以看,謝謝大家。

文章來自微信公眾號:雲端計算開源產業聯盟