iT邦幫忙

2021 iThome 鐵人賽

DAY 1
0
自我挑戰組

DevOps的下克上之旅( ° ∀ ° )ノ゙系列 第 1

Day 1 : 前言與DevOps

前言

大家好,我是Lufor,第一次參加鐵人賽。這是我的主要Blog網址: https://lufor129.medium.com/ 最近剛結束完實習,但是緊接而來的畢業季卻絲毫沒有讓人喘息的機會 (論文ㄚ~~)。

縱使如此,我也希望能夠將在這兩個月暑假內學習到的東西紀錄下來,我對DevOps也是一個新手,一邊學習一邊用IT鐵人幫作為筆記本紀錄下來。如果有錯誤或是不清楚的地方,歡迎大家提供寶貴的意見。

這次的主題預計會規畫以下幾點:

  • Git 與 多人合作
  • Docker 操作
  • Docker-compose
  • Portainer
  • ELK的運用
  • Jenkins
  • Mocha、Jmeter、Selenium
  • Github action
  • Kubernate
  • 上雲 Azure (要是有時間)

DevOps與CI/CD

傳統進行開發如瀑布開發模式分成四大部分:

  1. 需求 (Biz)
  2. 開發 (Dev)
  3. 測試 (Test)
  4. 部屬與維運 (Operations)

https://ithelp.ithome.com.tw/upload/images/20210901/20119044ssjHiy5oRl.png

老闆/User要求開發團隊進行開發,開發完成後要進行測試,測試完成後交由維運團隊上版,最終使用者可以看到軟體的更新與變化。往往User的一句話或是老闆的心情一個不好,需求變更使又得進入耗時又費力的開發週期。

為了因應需求快速變動的開發現代環境,因此有了Agile開發流程,建立客戶溝通暢通的管道,User提出的需求快速修改出成果展現給客戶,並盡快確立好需求。
但是傳統Dev團隊針對需求的快速開發後,時程依舊會卡死在測試與上版,此時開發團隊就會感慨,"ಠ益ಠ 要是有當我開發完成後能自動跑完後面的流程明天開會自動交付到客戶手上的世界該有多好呢?"

於是有了CI/CD的概念提出

  • CI: Continuous Integration 針對多人開發整合進行測試(test)與建置(build)
  • CD: Continuous Deployment 自動將測試與建置好的系統部屬上機器並監控

https://ithelp.ithome.com.tw/upload/images/20211003/20119044AfUib9NOpO.png

如上圖,我們從規劃架構開始(PLAN)、寫完code (CODE)、Merge上Dev branch並自動啟用Build(Build)、同時也跑壓力測試與單元測試 (TEST)、一切OK後上到Production機器 (Deploy)、上線後的監控(Monitor)。

DevOps的核心觀念就是,減少開發工程師在上版所花費的繁瑣步驟,用文件化、規範化的方式幫助工程師進行進行自動化的流程部屬,使得開發人員可以專注在開發的世界上而不需要理會之後的繁瑣工作。

接著就讓我們一步一步地來,進入DevOps的世界吧!


下一篇
Day 2 : Git 基本操作
系列文
DevOps的下克上之旅( ° ∀ ° )ノ゙30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
arguskao
iT邦新手 4 級 ‧ 2022-09-04 09:36:56

DevOps的核心觀念就是,減少開發工程師在上版所花費的繁瑣步驟,用文件化、規範化的方式幫助工程師進行進行自動化的流程部屬,使得開發人員可以專注在開發的世界上而不需要理會之後的繁瑣工作。

聽了感覺很興奮!

我要留言

立即登入留言