<object id="1jvdl"><nobr id="1jvdl"></nobr></object>

<object id="1jvdl"><sup id="1jvdl"></sup></object>
<tr id="1jvdl"></tr>

  • <center id="1jvdl"></center>

      <object id="1jvdl"><option id="1jvdl"><sub id="1jvdl"></sub></option></object>

          <big id="1jvdl"><nobr id="1jvdl"></nobr></big><code id="1jvdl"><em id="1jvdl"><track id="1jvdl"></track></em></code>
          1. 首頁 > 移動應用 > 正文

            衡量軟件系統穩定性三個常用指標

            2022-05-09 15:04:52  來源:云原生技術愛好者社區

            摘要:每個軟件開發人員可能對什么是健康的軟件項目都有自己的想法??赡苁钱a生了巨大的商業價值,也可能是解決了某個領域的難題
            關鍵詞: 系統 指標
              每個軟件開發人員可能對什么是健康的軟件項目都有自己的想法??赡苁钱a生了巨大的商業價值,也可能是解決了某個領域的難題,就我個人而言,如果這個項目可維護、可運營,就可以稱之為健康的項目。那么關于可維護、可運營的項目有什么特點呢?下面我列舉一些更具體的方面。
             
              可估量
             
              估量主要指兩個方面,一是開發工作量,二是容量明確。
             
              (1) 開發工作量
             
              軟件項目不同于硬件,唯一不變的就是變化。只要持續運行就會持續變化。變化需要對功能進行擴展,擴展就要開發,開發就有工作量。有工作量就需要預估工作量,軟件開發中的工作量很難估算準確(棋牌法、多人估算)。如果實際工作量與估計工作量相比的差異小于 15%,則您的估計值非常好。然而,一些軟件項目允許令人驚訝的準確估計,而其他軟件項目往往會產生令人難以置信的異常值。我不止一次遇到過這樣的異常值,偏差高達 700%,就好比一個功能看似一天完成,結果做了七天。
             
              出現預估不準確基本都是架構設計存在擴展性問題,當然也不排除不了解項目內部運行機制而導致的盲目評估。
             
              (2) 容量明確
             
              日常生活中的各種工業化產品都會有一個說明書或者儀表盤,明確告訴你該產品的能力。比如汽車,承載量2t,時速 140km/h。軟件項目也一樣,應該明確說明該項目 core 數 對應的 qps,當出現性能問題可以進行準確的容量和資源評估。
             
              可觀測
             
              監控其本質就是軟件系統運行情況的可視化,具體參考:Prometheus+Grafana的思考和實踐,打個形象的比方,你在開車的時候,你不知道你的時速是多少?那么如何決定什么時候加速?什么時候剎車?什么時候加油?即便如此重要,很多公司,特別是中小企業基本不會重視監控指標的建設,究其原因成本高,短期收益相對較低,所以只能頭疼醫頭腳痛醫腳。
             
              在缺少告警機制的情況下,無法第一時間洞悉到系統發生故障,只能通過用戶的反饋來獲取,系統運維人員往往也只是充當了一個“救火” 隊員,大面積的系統癱瘓往往也會給企業和用戶帶來極大的損失。通過監控,服務可以在系統受損的第一時間得到反饋,并通過電話/短信進行告警,oncall 人員及時處理問題,大大減小了系統故障對企業和用戶造成的影響,更有可以做到無感知的修復。
             
              可部署
             
              軟件部署及其自動化程度是另一個關鍵方面。這與可重復性密切相關,但自信的布署也是一個文化問題。如果部署仍然是一件特殊且危險的事情,沒有人愿意負責,那么部署問題會成為一個復雜問題。我了解到很多公司和團隊也很重視 CI/CD、DevOps 等文化,但是多數停留于概念表面,比如通過文檔驅動部署、千遍一律的人工配置發布,這種方式看似穩妥,其實一種偷懶的表現。因為文檔和人都會犯錯,它不能幫助我們解決軟件部署的根本問題。當然持續部署模型并不適合每個團隊或產品,但部署至少必須盡可能自動化、盡可能可重復且盡可能簡化。
             
              總結
             
              業界的發展歷程來看,技術的代碼化、標準化、自動化是一個必然的演進過程。對于有能力和前景的企業,在發展過程中會把技術棧統一、資源接口統一、底層基礎設施統一,這個歷程會非常長,從筆者的經驗來看,應該小步迭代,按照實際效果謹慎執行。軟件項目雖然說技術很重要,但是人、成本、落地場景同樣重要。
             
              所以不能只是考慮光鮮的政績,并沒有有效地解決實際問題。就像最近一段時間提出的 AIOps,這種高度自愈的系統一定是軟件運行的終極目標。但這跟軟件工程并不沖突,學會用科學的方法實現最大化軟件收益仍然是最重要的。

            第三十四屆CIO班招生
            國際CIO認證培訓
            首席數據官(CDO)認證培訓
            責編:zhangwenwen

            免責聲明:本網站(http://www.instituteofdigitalmarketingusa.com/)內容主要來自原創、合作媒體供稿和第三方投稿,凡在本網站出現的信息,均僅供參考。本網站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。
            本網站刊載的所有內容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權歸原作者所有。任何單位或個人認為本網站中的內容可能涉嫌侵犯其知識產權或存在不實內容時,請及時通知本站,予以刪除。

            天天狠天天天天透在线

            <object id="1jvdl"><nobr id="1jvdl"></nobr></object>

            <object id="1jvdl"><sup id="1jvdl"></sup></object>
            <tr id="1jvdl"></tr>

          2. <center id="1jvdl"></center>

              <object id="1jvdl"><option id="1jvdl"><sub id="1jvdl"></sub></option></object>

                  <big id="1jvdl"><nobr id="1jvdl"></nobr></big><code id="1jvdl"><em id="1jvdl"><track id="1jvdl"></track></em></code>