DevOps概述

canxie07948發表於2020-07-03

什麼是軟體開發



軟體開發是根據使用者要求建造出軟體系統或者系統中的軟體部分的過程。
軟體開發是一項包括需求捕捉,需求分析,實現和測試的系統工程

軟體開發有哪些困難?

軟體開發的本質困難
複雜性
不可見性
可變性
一致性
The Mythical Man-Month 人月神話Frederick P.Brooks.J:

對本質難題的進一步分析


三個本質難題因專案而異
四大本質難題相互促進
本質難題的變化帶動軟體方法(過程)演變

軟體專案管理和軟體過程管理

image


軟體發展三大階段

軟硬體一體化階段(50年代~70 年代)


   軟體完全依附於硬體
   軟體作坊
軟體成為獨立的產品(70年代~90年代)
網路化和服務化(90年代中期迄今)


軟體完全依附於硬體


軟體應用典型特徵 
   軟體支援硬體完成計算任務
   功能單一
   複雜度有限
   幾乎不需要需求變更
·軟體開發典型特徵
   ◆硬體太貴
   ◆團隊以硬體工程師和數學家為主

image


軟體作坊

·軟體應用典型特徵  
   功能簡單
   規模小
·軟體開發典型特徵
   很多非專業領域的人員湧入軟體開發領域
   高階程式語言出現
   質疑權威文化盛行


典型軟體過程和實踐
“Code and fix”


軟體成為獨立產品


軟體應用特徵
   擺脫了硬體束縛(OS)
   功能強大
   規模和複雜度劇增
個人電腦出現 –> 普通人成為軟體使用者
   ·需求多變
   ·相容性要求
來自市場的壓力

典型軟體過程和實踐
·方法之一:形式化方法
·方法之二:結構化程式設計和瀑布模型


網路化和服務化

·軟體應用特徵
   ◆功能更復雜,規模更大使用者數量急劇增加(這會帶來什麼問題?)
   ◆快速演化和需求不確定
   ◆分發方式的變化(SaaS)


典型軟體過程和實踐
迭代式:大型軟體系統的開發過程也是一個逐步學習和交流的過程,軟體系統的交付不是一次完成,|而是透過多個迭代週期,逐步來完成交付。


更深化的網路化和服務化


軟體應用典型特徵
   隨處可見(pervasive)
   使用者需求多樣性進一步凸顯
   軟體產品和服務的地位變化
   錯綜複雜的部署環境


近乎苛刻的使用者期望

多:功能豐富
快:快速使用,及時更新

好:穩定,可靠
省:使用者的獲得成本低,最好免費


·軟體開發典型特徵
◆空前強大的開發和部署環境——XaaS
·IaaS
·PaaS
·SaaS,FaaS,etc.
盛行開源和共享文化
盛行敏捷
軟體工程的潛在支撐力量獲得了長足進步(AI, Bigdata,Cloud,etc.)


典型軟體過程和實踐—DevOps


·方法論基礎是敏捷軟體開發、精益思想以及看板 Kanban方法。
·以領域驅動設計為指導的微服務架構方式 大量虛擬化技術的使用
·一切皆服務XaaS(Xas a Service)的理念指導
·構建了強大的工具鏈,支援高水平自動化


The Three Ways-The First Way


·概念
   充分理解工作流(開發-運維客戶)
   流量最大化(小批次、縮小任務間隔、缺陷控制)
   不斷為了整體目標的實現而最佳化工作流

·部分關鍵實踐和方法
   持續構建、整合以及交付;
   按需建立環境;
   限制半成品(WIP);
   構建支援順利變更的安全系統;看板(任務視覺化)

image


The Three Ways-The Second Way


概念  
   價值流(開發-運維-客戶)的快速持續反饋
   避免問題再次發生
    (或者快速發現和修復)
   從源頭上保證質量
部分關鍵實踐和方法
   適時停止生產線

  持續改進
   構建自動化測試套件,確保程式碼隨時可部署
   Dev和Ops共享目標和pain
   遠端監測手段(自動化)

image


The Three Ways-The Third Way

概念
   ◆建立培育良好的文化(不斷嘗試、重複和練習)
部分關鍵實踐和方法
   ◆營造勇於創新、敢於冒險以及高度信任的企業文化
   確保至少20%資源投入在非功能需求上
   不斷鼓勵和強化改進

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》

《》


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976857/viewspace-2702203/,如需轉載,請註明出處,否則將追究法律責任。