段海燕 肖睿 杜旭
【摘?要】按照公司信息化規劃“創新驅動、技術引領”的目標,以創新驅動專業發展,提升基層組織創新活力,促進專業創新協同。以快速響應業務需求為原則,基于互聯網思維,有序推進云化、移動化、數據化、AI化的IT架構升級,構建靈活的營銷業務支撐信息生態體系,以實現公司的數字化轉型。
【關鍵詞】南網數字化;Devops;轉型;應用
一、為什么DevOps
為有效實現公司信息化目標,在數字化轉型推進過程中,公司對當前較為突出的問題進行深入調研摸底,主要表現在:
1、IT架構針對業務訴求響應慢,客戶訴求得不到快速解決,影響用戶體驗和滿意度,與公司“以用戶為中心”理念存在差距。
2、公司營銷業務分布面廣,各地區個性化需求突出,導致營銷系統變更頻繁。
3、長期以來基于傳統IT架構下的開發和運維分工職責和分工不明確,代碼開發、測試和系統發布部署質量得不到保障。
針對上述三大長期存在的困擾,需要將需求、開發、測試和運維等工作整合在一起,并使這個“有機體”長期有效的持續進行。借鑒于大型互聯網公司的成功經驗,devops的引入是必然之選。
二、Devops實踐
2.1 核心內容
2.1.1 組織架構
南網作為國家電力行業重點企業,體量大,業務覆蓋范圍廣,而營銷系統作為業務支撐的核心系統,在數字化轉型中升級變更牽一發而動全身,影響范圍廣,風險高。在數字化轉型過程中力求雙態并行(穩態和敏態),是南網信息技術管理的前提條件。如何能夠有效的落實雙態,Devops是南網的不二之選,如何能夠做到“三用”,最終轉型成功,關鍵在于組織架構頂層設計是否正確。因為企業的組織架構站在企業“金字塔”制高點,以業務為出發點自上往下看,相對傳統的基于技術驅動的IT組織架構自下往上看,更具戰略前沿性。
南網通過其信息化部門成立數字化研究研(上述所指“公司”),再針對各業務組建部門,以自主研發、自主可控為主,通過部門和外部先進企業合作共建的模式,吸取外部科技力量,快速提升自身技術力量,培養具有較強研發能力的技術骨干。遵循devops理念,在開發層面由公司主導,外部企業為輔,借助外部企業先進技術,快速提升自身研發能力。在運維層面核心技術架構堅持獨立自主,業務上則與各廠商聯合運維,吸取外部企業經驗,不斷完善自身團隊。
2.1.2 devops工具
隨著信息技術的不斷發展,IT架構已經逐漸從昂貴的“IOE”模式轉向廉價的“X86”和開源的互聯網模式,IT管理層面也由過去求“穩”的ITIL V3面向流程管控模式轉向求“敏”的devops模式。在此大勢下,應用于devops的開源工具如雨后春筍般涌現,比較典型的devops應用工具為docekr+jenkins+git+harber+kubernetes。
公司的devops工具選型綜合權衡公司已有平臺資源、成本和安全可靠性,在持續集成方面選用成熟的開源工具框架docekr+jenkins+git,在持續部署方面則選用大型廠商產品騰訊云TSF。開發人員完成代碼開發并將其提交到git公共代碼倉庫,運維人員通過jenkins從git公共代碼倉庫將應用程序代碼打包到docker容器中,形成docker鏡像,再將docker鏡像通過TSF部署到生產環境中。
2.1.3 團隊能力建設
devops之所以是當前應用運維的主流,其最重要的原因之一是改變傳統的運維模式。傳統的運維模式下開發、測試、發布、部署這幾個軟件管理節點人員投入大、軟件發布周期長,開發運維協調效率低,通常情況下開發運維不能明確分清責任邊界,運維人員常貼上“背鍋俠”標簽,軟件管理質量差,特別是在海量的服務運維中,大部分企業只能通過加人頭、加班,運維人員苦不堪言。在devops體系下,持續集成、持續部署、自動化測試則成為其代名詞,開發團隊關注持續集成,測試團隊關注自動化測試,運維人員關注持續部署。devops與傳統體系相比,表面上對開發和運維只是加了“持續”兩字,測試加上“自動化”三字,前者看起來簡單,但理解卻很難,后者看起來容易理解,但做起來卻很難,因為“持續”和“自動化”都對其使用團隊的技能要求高很多,特別是在開源的環境下,則越發突出。此時開發團隊不再是單純的只懂開發,因為交付物發生了根本的改變,傳統的開發產出的是可執行的程序,而現在要求的是容器鏡像,其中涉及的技術棧更多,要求的綜合知識面更廣;運維團隊也不再是單純的只懂運維,也需要有開發思想,隨著發布的便捷化,敏態優勢凸顯,運維的工作任務更多,要求運維人員能夠通過“編程”實現應用鏡像容器的編排部署。測試團隊在“自動化”思想下,轉變則更大,需要融入到開發團隊去,在代碼構建完后,與開發人員一道“或者轉化為開發人員自行”編寫自動測試腳本,實現代碼拉取、構建、測試和發布自動化。
2.2 分階段摸索
正如前面3.1所述,Devops的體系建設,由于嚴重依賴于devops工具和團隊能力,所以整個過程不是一蹴而就,而是需要分階段推進,逐步探索。基于公司剛組建完成現狀,以團隊視角,可以分以下四個階段進行:
第一階段,devops團隊的組建,包括人才的儲備、企業IT環境的熟悉和工具的選型三方面工作。經過1-2年的協調運作,形成基本的開發運維體制,能夠應對日常的開發運維工作。此時團隊的技能水平低下,成員間協助度過磨合期,開發運維效率低下,但是不影響正常的業務運作。
第二階段,devops團隊的提升,包括成員的能力大幅提升,業務運作成熟穩定,規范IT管理。此階段中,一方面成員由于少了前期對IT環境、業務流程適應的困擾,積累了基本的技能和技術運行模板(包括程序,腳本等),開始著力提升更為適合業務增長的技能,使大量重復的勞動自動化,以騰出更多的工作時間用于自我學習、自我提升;另一方面,領導開始從管理上縮緊,逐步規范團隊行為,建立更為完善的IT管理規范。經過2-3年的發展,趨向成熟,團隊達到社會生產水平的中上水平。
第三階段,devops團隊的成熟,包括成員協作有序,業務謀求創新。此階段中,團隊之間的協調高度默契,常規的開發運維業務流程處于自動化,整個IT環境氛圍良好,團隊開始追求更高層次的挑戰--智能化,“科技電力”口號吹響,團隊著力于以應用技術創新推動業務的創新,以謀求為用戶帶來更好的體驗。
參考文獻:
[1]鐘群.供電企業檢修技改項目管理現狀與完善對策[J].企業技術開發,2011(2).
[2]李忠軍.對電力企業設備維修管理模式的若干探討[J].中小企業管理與科技,2010(6).
(作者單位:南方電網數字電網研究院有限公司)