iT邦幫忙

2023 iThome 鐵人賽

DAY 2
1
DevOps

從0開始學習DevOps,並部署CICD至Java專案中系列 第 2

關於DevOps,我的理解

  • 分享至 

  • xImage
  •  

DevOps 為 「Development 和 Operations」 的縮寫,也就是開發與維運

DevOps是一種軟體開發方法,為了加強開發和運營團隊之間的協作,以實現更快速的軟體交付和更高的品質。

為什麼Agile敏捷開發的興起,因而促進DevOps的產生?

因為傳統的瀑布流模型(Waterfall Model)只進行一次開發過程的生命週期,包括需求分析、系統設計、開發、整合、系統測試、上線和維護。
但在開發過程中,有可能會發現設計不夠完善、或是與需求有所落差,或歷經數月終於上線之後,使用者該需求已經與當時不同了,等等因素增加了開發風險。

因此,開始促進了Agile敏捷開發的興起,為的是要縮短開發週期,提高部署頻率和更可靠的發佈,高頻率的執行多次的開發生命週期,盡可能的更貼近需求、與開發目標。
所有就有了DevOps的出現,以進一步加速開發和運營之間的協作。

生命週期

https://ithelp.ithome.com.tw/upload/images/20230917/201620587UobWXPkhu.png
(圖片引用自https://worldtechjournal.com/what-is-devops-all-you-need-to-know/ )

PLAN(規劃): 著重於專案目標和需求。如:需求分析、使用者需求訪談、設計基礎架構、開發時程。
CODE(開發): 開始撰寫程式,根據規劃階段的需求和設計來開發。
BUILD(建置): 開發完成,打包與編譯。
TEST(測試): 確保程式的品質和穩定性。如:單元測試、整合測試等等,確認開發後的程式符合需求。
DEPLOY(部署): 將這個階段完成的版本部署上線使用。
OPERATE(維護): 部署後,持續維護和管理,以確保持續運作。
MONITOR(監控): 使用監視工具來監測性能和運行狀況。

DevOps主要是為了解決了什麼問題?

DevOps相關工具主要解決的問題是為了:可以加快系統的快速迭代與部署,並於部署上線後能自動化測試與監控,再於發現到的問題盡快獲得反饋,以利持續維護修復,並迭代新版本。

DevOps主要適合什麼樣的系統?

通常會適合需要「持續交付上線」的系統,非傳統瀑布流,而是採用敏捷開發的系統,需藉由高頻率的持續迭代程式碼,分階段快速的迭代部署上線,就會需要很頻繁的持續部署,此時,如果透過DevOps相關工具的協助,就能大幅縮短手動測試與部署上線的時間。
又或者是微服務架構下的系統,需要同時部署多個服務,管理多個服務的不同版本與監控,使用DevOps也能提供很大的幫助。


上一篇
序:為什麼想了解DevOps
下一篇
Docker是什麼?
系列文
從0開始學習DevOps,並部署CICD至Java專案中30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言