[isTMS]課程 - Azure DevOps顧問實戰
 

讓DevOps釋放團隊真正能量

DevOps是實踐敏捷開發的門票,若想真正做到頻繁交付價值,軟體開發團隊不可能沒有DevOps。最近幾年,資安事件頻傳,想兼顧開發效率與品質、安全性,本身就是很大的挑戰,這讓DevOps更顯得不可或缺。
門課,我們將帶您體驗DevOps的威力,並且讓您深入了解DevOps在軟體開發中的重要性。
們將從直接帶您建立一個自動化的建置與部署流程開始,讓您體驗近代軟體開發之所以能夠輕易實現一周交付數次、甚至是一天交付(上版)數次,卻又能夠同時維持高品質、且兼顧軟體安全性的關鍵...

在您體驗所謂的頻繁整合、持續交付的同時,你將完整的看到從需求出現,一直到將功能交付到用戶手上的這整個自動化過程,並且讓您的團隊也可以建立出這個流程,且享有其帶來的好處與價值。

歡迎您,立即加入這趟旅程。

課程對象與內容

本課程的主要學習對象,為具有基礎開發能力的軟體工程師或維運人員,課程中以少許 C# 及 Bash/CLI 指令為主要工具,採用Azure DevOps作為CI/CD/版控/專案管理管理平台,介紹如何在真實世界中實踐 DevOps 與 CI/CD 自動化流程。

完成此課程,你會得到底下的成果:

  1. 熟悉微軟Azure DevOps技術,成為 DevOps/SRE 專家。
  2. 能夠帶領團隊實現高品質的頻繁交付、設計CI/CD Pipeline、規劃團隊合作的版控/測試流程、需求管理、軟體相依性管理...等。
  3. 掌握軟體開發的每一個環節,包含自動化測試、自動化安全性掃描、套件開發與相依性管理、藍綠佈署、金絲雀佈署、Feature Toggle...等使用技巧。

課程具體內容包含:

  1. DevOps Introduction

    • 介紹何謂 DevOps, DevOps與CI/CD Pipeline對於近代軟體開發生命週期之影響、與帶來的改變
    • 介紹DevOps的實踐方式與相關做法、內涵
    • 關於DevOps的企業實踐與組織文化建立
    • Azure DevOps Services 申請與環境介紹
  2. DevOps、敏捷(Agile)、與看板(Azure Board)應用

    • 敏捷方法(agile methodology)成就了 DevOps 的承諾,讓快速迭代交付、持續品質改善 成為可能。
    • 本單元介紹迭代、敏捷、與DevOps之間的關係。
    • 如何從需求(requirements)的蒐集開始、進一步整合到開發與工作項(work items)管理、進入DevOps pipeline
    • 使用看板(Kanban)進行工作規劃,搭配Agile/CMMI/Scrum/Basic Process template 進行專案管理
    • 看板設計、迭代設計、remaining work與工時規劃
    • 工作項生命週期與Sprint
    • 跨專案查詢(query)的建立與使用
    • 建立數位儀表板(Dashboard)管理專案狀態
    • 使用 delivery plans 跨專案檢視相依性與專案全貌
    • 使用 SpecMap/User-Story Mapping 規劃工作與迭代(iteration)
  3. 從Repos開始,預備建置Pipeline

    • 版控(Version Control)驅動了DevOps Pipeline的運作,在這個單元,我們會介紹何謂Pipeline,會看到 DevOps 流程如何透過Git版控被觸發、運行。如何建立良好的機制,整合原始程式碼(source code)、工作項目、異動紀錄、透過PR進行Code Review、串聯到自動化更新與上版。
    • 同時,也介紹分支流程策略的選擇與DevOps之間的關係。
  4. 關於持續整合(CI-continuous integration)

    • Pipeline是CI(continuous integration)的實踐,透過持續整合,將大幅度提升軟體品質、讓團隊合作有高效的產出,更進一步的,我們能夠有效的縮短開發時程。
    • 在這個單元,我們將會看到如何加快軟體開發的方式,並且兼顧品質與安全性。不是透過加班、不需要在團隊中加人,在同樣的人力和更短的時間內,我們將可以實現更多且更高品質的產出。
    • 同時,我們也介紹CI Pipeline當中的重要機制,包含如何在Pipeline中實現自動化測試、程式碼掃描、套件掃描、以及相當重要的PR-CI(PR Pipeline)...
  5. 關於持續交付(CD-continuous delivery)

    • 持續交付(continuous delivery)與自動化佈署機制介紹
    • 自動化佈署與簽核機制(Approval)的實現、如何使用Release Gate來確保交付品質
    • 現代化佈署模型介紹(zero-downtime的藍綠佈署、金絲雀佈署...等)
    • 使用Feature Toggle實現Release與Deployment分離
    • 支援容器技術(Container)的自動化佈署機制
  6. 系統維運、即時監控、與反饋的取得

    • 良好的軟體生命週期管理不會停止在交付,而是持續監控軟體運行的狀況,並且持續改善。在這個單元,我們介紹如何透過既有的技術,針對交付後的軟體進行持續的品質追蹤與改善,讓用戶對產品與團隊有更高的信任、透過高品質的軟體,實現高效的工作產出。
  7. 關於測試與測試自動化

    • 本單元討論如何在 CI 流程中實現各種自動化測試機制,從Unit Test, TDD, Automatic Test, ... 到 Load Test 。讓自動化的版本發布更有品質保障。
  8. DevOps與安全性

    • DevOps提升了軟體開發的透明與自動化,讓交付可以從數月一次提升至每月(甚至每周、每天)數次,但自動化的交付如何確保安全性可以被兼顧? 如何確保軟體交付依舊具有(甚至有更好)的安全性控管? 在這個單元中我們會討論 DevOps 與安全性之間的關係,包含CI、CD以及軟體開發的相依性管理。
  9. 系統架構與部署策略

    • 本單元討論不同系統架構、框架、與開發環境下,各種系統的部署方式與策略
    • 持續交付中 Feature Toggle的實際使用(Azure)
    • 關於現代化佈署模型(zero-downtime的藍綠佈署、金絲雀佈署…等)的實作(Azure)
  10. DevOps的規劃與導入策略

    • 導入DevOps與組織轉型的重要步驟
    • 如何設定 KPI? 如何評估導入狀況?
    • 如何在企業中導入變革(如何營造順暢低阻力的改變)
  11. Azure test Plans 與 敏捷測試

    • 近代軟體開發中的測試工作面對很大的難題。敏捷與DevOps的出現,讓測試人員遭遇到前所未有的挑戰。面對一周數次甚至一天數次的頻繁交付,測試人員可用的測試時間越來越短,但軟體品質與資安需要卻又愈來愈被要求。如何透過Azure Test Plans有效的管理測試案例,更精準的進行測試,是這個單元要介紹的重點。
  12. Admin Overview

    • Azure DevOps 管理者功能與權限設定
    • Azure DevOps 團隊環境配置
    • Build Agent 的建立與使用
  • ...持續更新中...

課程內容呈現

本課程以超過50部影片和扼要的文字所構成。我們認為,文字和圖解才是最適合快速學習、理解重點的主要媒介,而影片則可以讓您迅速地掌握操作過程和步驟,兩者缺一不可。

所以,我們將影片與文字搭配交叉進行,請學習者依照順序,仔細閱讀並搭配操作影片,可於最短的時間內,最大程度掌握Azure DevOps各項技巧。

認證考試

本課程由微軟認證講師(MCT)、微軟技術社群區域總監(RD)、微軟AI/Developer MVP -- 董大偉老師所規劃,學員可搭配微軟AZ-400認證考試,提升本身技術能力。

持續更新

為了確保您學習到的都是最新的技術,本課程會定時持續更新。一個停滯不更新的課程,是死的。如果對此課程有任何反饋獲回應,請點選右上角的提供反饋圖示。

tags: isTMS課程 課程 - Azure DevOps顧問實戰