科技改變生活 · 科技引領未來

        • 首頁
        • 資訊
        • 技術
        • 百科
        • 問答
        • 學習
        • 看看
        • 站長
        • 生活
        • 快訊

        首頁 > 資訊 > 快訊

        ZStack實踐匯 | 高效開發測試打造產品化私有云

        時間:2019-07-29 19:13 作者:陳悅東

        前言

        隨著越來越多的企業將云計算產品應用到基礎設施及其核心業務中,如何提高和保證軟件交付質量、減少軟件開發迭代周期、加速軟件發布頻率成為所有云廠商面臨的關鍵問題。

        根據IDC 2018年的預測,中國云計算市場在未來5年將持續高速發展的態勢,主要表現為:中國傳統的非云計算IT基礎架構占整體IT基礎架構的投入比例將從2018年的50.3%下降到2022年的40.7%;中國私有云平臺建設的市場規模將以年均24.8%的復合增長率快速增長;中國云計算IT基礎架構支出占全球市場比將從2018年的12%上升到2022年的25%,屆時中國私有云IT基礎架構支出將超過美國,成為全球第一大市場。在這一輪新的迭代更新中,更多的企業和行業開始部署或者建立更大規模的私有云;而新應用(數據分析,AI,IoT,移動)和新場景(邊緣計算,智慧/平安城市,行業云)也對云平臺提出了更高的需求。

        ZStack憑借創新的產品化理念,在業內率先提出云計算的4S標準 – 簡單Simple,健壯Strong,彈性Scalable,智能Smart。同時,ZStack企業版從第一版發布到最新的3.5.0版本,一直以每六周一次的周期迭代更新軟件版本,快速提升和擴展產品功能,積極應對云計算市場對私有云產品不斷增長的需求。而保證其私有云產品化的關鍵要素有以下三點:

           1、 流程 – 快速敏捷

           2、 運維 – 智能高效

           3、測試 – 嚴謹全面

        注:ZStack堅持快速、簡潔、高效的開發、運維、測試流程,確保新需求六周便可實現

        1. 流程-快速敏捷

        ZStack開發流程依然定義了傳統開發模式中的幾個關鍵階段 - FF、CF、RC和GA。同時針對不同階段的任務和目標,進行有的放矢地優化。在Feature Freeze階段,主要以需求分析為主,要求產品經理將客戶的需求分片化、分級化,需求描述本地化,更有效地將需求安排到不同發布版本周期中。開發和測試工程師則需要將Code Freeze和Release Candidate的任務提前到Feature Freeze階段中,減少互相之間任務的依賴,提高各個階段的并發度。而測試不僅需要滲透到開發的每個環節中,同時也要通過模型測試、路徑測試、穩定性測試等方法,提高代碼的覆蓋度和測試效率。每個發布周期通過反復地從需求->開發->測試的快速迭代,保證了產品的新需求和問題始終能夠被快速滿足和解決。

        注:ZStack產品開發流程高度并發,保證版本之間快速迭代

        2. 運維-智能高效

        作為私有云產品開發的基礎保證,一套快速、穩定、高并發、可伸縮的運維系統是必要的。而傳統運維提供的簡單CI和CD功能是顯然無法滿足這樣快速迭代的需求。ZStack產品化過程中,搭建了一套以ZStack + Kubernetes為基礎、面向公司各個部門的整體性服務框架。這套框架中所包括的服務內容涵蓋從開發&測試人員使用的測試環境、到整個項目的管理工具。框架的底層以ZStack作為IaaS提供給上層可靠的、可擴展的物理資源,同時結合Kubernetes,將容器運行于云主機中,既保證了隔離性、又充分利用了ZStack和Kubernetes對云主機和Docker調度的優勢,起到了對上層服務高可用、高并發及可伸縮的雙重保障。

        注:ZStack作為IaaS層向上層服務提供可靠的物理資源,而更重要的是,內部的ZStack環境也會隨著發布版本更新,真正做到了自己的產品自己先用起來。

        注:實際生產環境中,一次自動化測試至少在Jenkins上并發創建500+個請求,每個請求包含10~50個測試用例,ZStack + Kubernetes保證了這些請求幾秒內可以被處理

        3. 測試-嚴謹全面

        打造一個產品化的私有云軟件需要全面且嚴謹的測試,這不僅僅是單元測試和集成測試能保證的。ZStack從以下四個方面入手強化測試:

        3.1  測試高效化:整個產品流程中開發和測試要同步進行,這包括了對不同的開發分支需要有不同深度的測試代碼保證其質量——例如,對于Release分支,必須有持續性的Nightly測試把控每天進入的代碼質量;對于Feature分支,需要能快速檢測出patch對代碼核心功能影響的BAT測試。同時測試系統和CI系統要高度集成并且做到同步觸發。

        高效化的另一個重點就是要做到所有測試都能運行在云端,提高測試的并發度和資源利用率。ZStack內部的測試都是跑在云端的,而云端環境也是基于ZStack自身搭建的,利用其對底層硬件資源的抽象和管理,模擬出測試中需要的不同的硬件配置場景,包括網絡、存儲、虛擬化平臺、甚至不同的ZStack高級功能配置,如企業管理、災備服務等。同時,為了滿足大規模資源需求的測試場景,例如1萬臺或10萬臺云主機的測試場景,ZStack測試中還實現了simulator機制,即不真實分配硬件資源,而使用mock后端API的方式提供了對后端資源的調配,真正做到了有針對性的測試。

        注:ZStack云端測試的環境構建是通過XML配置文件實現的,測試工程師可以非常簡單地用幾分鐘配置出一臺自動化環境。

        3.2 測試標準化:ZStack所涵蓋的測試內容不僅包括功能性測試,還包括一套完整測試體系所需要的各種測試,如開發工程師需要做的集成/單元測試,測試工程師需要做的系統測試中的壓力、性能、可靠性測試、以及針對不同版本定制的發布測試。例如ZStack的可靠性測試就包括了兩類測試 – MTBF和DPMO測試,MTBF會對ZStack平臺進行15,000小時長時間的真實用戶操作模擬;DPMO測試則會對ZStack平臺進行高達10,000次的斷/上電、重啟等測試。

        標準化的另一方面體現在對關鍵節點的標準把控上,對FF、CF、RC和GA各個階段都會有相應的代碼準入和驗收標準,例如CF階段后功能開發代碼禁止進入發布分支而只能進入下一個發布版本的周期;又例如各個階段驗收時要求的bug數量限制,CF階段要求小于5個P0,GA階段要求沒有P0的bug。

        3.3 測試覆蓋智能化:軟件測試沒法達到100%的覆蓋率,所以我們要做的是在資源有限的情況下,以盡量少的代價做到盡可能高的覆蓋率。要提高覆蓋率,需從兩方面入手,一方面是對代碼進行覆蓋率檢查,我們在日常CI的包中插入了代碼不同模塊的覆蓋率,不管是手動還是自動測試,或是日常bug的驗證,都會為覆蓋率提供數據。

        另一方面我們增加了模型測試,它可以產生由隨機API組合構成的場景,會持續運行直到遇到預定義的退出條件或者找到一個缺陷。這種模型測試很好地彌補了人為定義用例的不足,提高了測試場景和路徑的覆蓋率。由這種測試模型,也衍生出了三種不同場景的覆蓋率提高測試:

        3.3.1 覆蓋率測試:

        除常規有序的測試步驟外,運用模型測試,收集無序測試步驟下的測試覆蓋率。

        3.3.2 MTBF測試:

        從有序和無序兩種測試維度,對系統穩定性及可靠性進行測試。

        3.3.3 路徑測試

        通常一個系統測試用例最多5~6個操作步驟,而最終客戶的問題場景是極其復雜的,通常需要10~20個以上的步驟才能重現,運用模型測試的方法,可以有效減少構建測試用例的代碼量。

        注:一個典型路徑測試,只需要將測試對象和操作步驟寫到測試用例中即可完成

        3.4 報告立體化:主要從兩方面實現,一是測試報告的結果自動化、可讀化,是通過對測試用例中插入DITA描述實現的。另一方面是結果的可追溯和可回放,這是通過記錄測試過程中API的調用順序和參數實現的。

        注:一個測試結果的操作記錄及回放方法,能夠有效幫助開發測試工程師重現bug

        總結

        作為產品化的云計算公司,ZStack一直致力于打造自研的ZStack私有云、ZStack混合云、ZStackMini超融合一體機、ZStack CMP多云管理平臺、ZStack企業級分布式存儲等產品和方案。本文從開發流程、基礎運維以及測試能效等角度,介紹了 ZStack 團隊如何高效打造一個產品化的私有云。

        相關話題

        • 烤冷面設備多少錢一臺(沈陽兄弟萬字揭秘烤冷面制作工藝)
        • 本田思域多少錢一輛(全新思域Type)
        • 燙羊毛卷多少錢(發量多燙羊毛卷什么體驗)
        • 云煙祥瑞多少錢一包(2022年春節微信拜年文案)
        • 河鰻魚多少錢一斤(嚴選12款美食推薦)
        • 130平米裝修大概需要多少錢(90后女主5W打造舒適家)
        • 比亞迪多少錢一臺(最好再降2萬)
        • 組裝一臺臺式電腦需要多少錢(DIY臺式電腦從入門到中高主流性價比全套配置清單推薦)
        • 生大腸多少錢一斤(濟南大哥賣天價肥腸)
        • 正宗的阿膠多少錢一斤啊(今日驢肉市場最新價格多少錢一斤)
        • 脊髓電刺激術要多少錢(中國100萬脊髓損傷患者新福音)
        • 租勞斯萊斯一天要多少錢(車300)
        • 八杯水護膚品多少錢一套(努力護膚不一定有效果)
        • 二手房過戶費一般多少錢(二手房交易稅費一覽表)
        • 太原南站到太原站打車多少錢(太原南站停車場多少錢停一天)
        • 細支滕王閣多少錢一包(南昌網紅一日卡)
        • 查全血一般多少錢(看病檢查昂貴)
        • 電摩多少錢一輛(最大續航240km)
        • 催產針一針多少錢(遲遲不發動可以催產嗎)
        • 抽榮耀水晶要多少錢(6元抽到EZ傳說皮)

        熱門推薦

        • 沈騰馬麗回應互聯網爸媽
        • 周深貴陽演唱會
        • 中國科學院資深院士張存浩逝世
        • 美俄兩國防長通電話
        • TKL3比1DYG拿到第二輪首勝
        • 多地禁止一線教師暑假值班
        • 多部門駁斥美簽署所謂涉藏法案
        • 裴文宣的愛都藏在行動里
        • 假如我在飛機上遇到明星
        • 官方:北部灣海域有四艘沉船
        • 曾舜晞:我弟是我偶像
        • 王玉雯帶照片讓張新成簽名
        • 亞馬爾17歲生日快樂
        • SNH48王奕周詩雨予你巡演成都站
        • 巧了你也穿了白色入境
        • 杰倫布朗官宣女友
        • 布朗尼三分8中0
        • 原來胡歌也不能笑著離開理發店
        • 銀河系比想象中更大
        • 樊振東全紅嬋再同框

        陳悅東

        關注
        免責聲明:本文章由會員“陳悅東”發布,如果文章侵權,請聯系我們處理,本站僅提供信息存儲空間服務 如因作品內容、版權和其他問題請于本站聯系

        關注排行榜

        1. 1沈騰馬麗回應互聯網爸媽
        2. 2周深貴陽演唱會
        3. 3中國科學院資深院士張存浩逝世
        4. 4美俄兩國防長通電話
        5. 5TKL3比1DYG拿到第二輪首勝
        6. 6多地禁止一線教師暑假值班
        7. 7多部門駁斥美簽署所謂涉藏法案
        8. 8裴文宣的愛都藏在行動里
        9. 9假如我在飛機上遇到明星
        10. 10官方:北部灣海域有四艘沉船

        編輯精選

        Copyright ?2009-2022 KeJiTian.Com, All Rights Reserved

        版權所有 未經許可不得轉載

        增值電信業務經營許可證備案號:遼ICP備14006349號

        網站介紹 商務合作 免責聲明 - html - txt - xml

        感谢您访问我们的网站,您可能还对以下资源感兴趣:

        经典香港**毛片免费看_91精品一区二区综合在线_欧美人与性动交a欧美精品_国产小视频在线看