SlideShare a Scribd company logo
1 of 71
Azure DevOps 建立 DevOps 團隊
DevOpsDays Taipei2019
Edward Kuo
Kingston Technology IT Manager / Microsoft Regional Director
About Me
 2019 DevOps Expo @Trend Micro 講師
 2019 翻轉營運契機 Azure DevOps 趨勢與實務研討會 講師
 2019 Insider Dev Tour Taipei 講師
 2019 Global Azure Bootcamp 廣州 講師
 2018 DevOps Days Taipei 講師
 2018 DOIS DevOps 國際峰會 深圳站 講師
 2018 Insider Dev Tour Taipei 講師
 2018 .NET Core Conf Taipei 講師
 2018 Agile Tour Taichung 講師
 2018 Global Xamarin Day 講師
 2018 商周-解碼新製造高效協同關鍵 講師
 Microsoft Global Tech Summit 北京 講師
 技術社群 講師
Kingston Technology IT Manager
Microsoft Regional Director
Microsoft Azure MVP
2
LET’S BEGIN NOW!
2018 年 DevOps Days Taipei 講了上集,今天來講下集。以下內容為個人經驗與實踐,請各位斟酌參考或使用,最後,還是必須以企業和團隊現況為主
3
前言
4
5
DevOps是結合人、過程和工具,
並能夠持續向最終用戶交付價值
的一種方式。
DevOps 要素
Build
&
Test
Continuous
Delivery
Deploy
Operate
Monitor
&
Learn
Plan
&
Track
Develo
p
持續迭代、消弭障礙
從團隊實施DevOps流程中,找出困難點,進行改善,重新檢視成果與反饋後,再次改進。並且持續積累這些小改善
6
企業營收
 新創團隊或是公司,實踐DevOps是相對容易
 有一定規模的企業,轉型相對比較艱辛
8
為什麼要
導入工具
工具是可以讓流程進行效率提升
工具是可以減少團隊不必要浪費
工具是可以讓協同合作更有效率
評估DevOps工具
9
應用雲端技術
 有越來越多的組織選擇多雲和混合雲解決方案。 這些解決方案除了
提高性能外,還提供靈活性,控制性和可用性。和去年相比,多雲
和混合雲的使用比例是有所增加。
雲端平台效益
使用雲端作為DevOps平台是高績效團隊和普通團隊的區別之處,也是驅動高效能的因素之一,按照 National
Institution of Standard and Technology 的 軟體交付效能與可用性的預測。雲端計算在5個關鍵能力方面,高績效團隊
團隊是低績效團隊的24倍。
11
時間花在創造商業價值,不是建置工具平台
決策指標
1 減少人員對DevOps工具開發和維運的成本
不同屬性的成員,都能用相同工具做事
2 PO、Developer、Tester & Stakeholder
即時因應技術變化,自動不斷擴充功能
3 針對一些技術演進,能自動提供相對應方案或是功能
彈性且有效的整合各種平台
4 能過有彈性擴充、支持第三方平台或是內部整合
12
再次強調
13
DevOps 並沒有限制團隊必須搭配什麼DevOps工具或軟體開發
不會強制改變團隊的現有開發行為或流程,工具平台最好能符合團隊工作文化
開始玩 Azure DevOps Service
基於雲端優勢和決策指標,再加上團隊現況與實務情境考量下
14
15
Azure DevOps 五大功能
Azure Boards
透過電子看板方式讓所有成員一起規劃、追蹤及
討論工作項目,可以使用Agile、Scrum、CMMI
的樣板,建立團隊習慣的專案管理模式。Boards
算是整個工具的核心
Azure Pipelines
可以適用於任何語言、平臺和雲端,建置團隊的
CI/ CD、測試及佈署的流水線。也可以與GitHub
或任何其他Git提供者整合與建置Pipeline
Azure Repos
取得無限制的雲端託管的私人Git存放庫,並透過
提取需求和進階檔案管理,讓團隊可以共同作業
以及管理程式碼
Azure Test Plans
使用手動與探勘測試工具,並建置測試流程與規
劃,進行測試及交付。
Azure Artifacts
建立、裝載套件並與團隊成員共用,也可以做為
自己團隊私有的Nuget、npm服務。讓團隊建立
自己專屬的元件庫
01
02
03
04
16
計畫 + 追蹤
• Azure Boards
開發 + 測試
• Azure Repos
• Azure Pipelines
• Azure Test Plans
監控 + 學習
• Azure Boards
交付
• Azure Pipelines
• Azure Artifacts
DevOps 循環
DevOps
要開始介紹它的功能嗎?
來!大家開始手把手使用Azure DevOps Service….
17
不,這樣就太浪費大家時間
因為在DevOps Days 中,已經有工作坊和議程提到AzureDevOps功能細節與怎樣操作了
所以,用個真實的情境切入
其實,是要分享我們建立DevOps團隊的一些實踐,工具協助我們完成那些東西
實踐DevOps團隊
21
思維改變
DevOps
實踐第一步
1 做開發和做維運的成員,都必須改變想法與習慣
目標一致
2 團隊運作方向必須與企業文化或目標一致
不追求自我成功或是英雄主義
3 每個人都應該改變,努力讓團隊變得更好
切割Story粒度
4 Story粒度足以影響佈署頻率,但是,這是一門藝術
Git 分支策略的訂定
5 情境與需求差異的不同,分支切割策略也會有所差異
23
Backlog
Practice
商業需求
來自市場/商業的需求或是使用者的需求。一個Sprint中,
僅能佔團隊的80%動能
工程需求
建構Infrastructure、平台、系統的改善或重構項目…等。
非商業的需求。一個Sprint中,僅能佔團隊的15~20%動
能
商業 & 工程
兩者必須同時被管理與追蹤,不能分散在其他看板或是
不列入看板中
定義Story Flow Story完成定義是必須能上線到生產環境才算完成
Story 優先序 定義Story優先權,並用色塊區分。
24
25
在 Board 的設定中建立多通道,同時管理不同類型的Story ,並客製化看板流程符
合團隊工作的Story Flow
26
在 Board 的設定中,針對 Story 的 Priority 不同,可以分別定義顏色區塊,藉由顏
色差異,快速了解每個Story的重要性。然後,依照 Priority 優先權,決定本週要優
先進行的Story
Version
Control
Version Control 我們採用Git,進行版控
連結工作項目
每次Check In,無論是修改或是新增的Code,都必須與
Task或是Story關聯起來
分支
依照公司文化與情境建立分支種類,目前我們有建立了
三種分支和兩種分支類型
無差別版控
任何程式碼或是程式,都必須要納入版控,如:資料庫、
第三方的執行檔…等
IaC
系統Infrastructure設定、應用程式環境變數…等,甚至
一些自動化腳本,都必需納入版控
27
28
Azure Repos
程式碼規範 在分支設立進版策略,不僅可確保程式碼進版的
規範和程式碼品質,也可以防不良程式碼流入生
產環境和防止團隊中有人違反進版流程導致問題
強大的程式碼搜尋 直接在線上快速找尋想要的程式碼,以及每個程
式碼和那些工作項目是相關,對於要負責多個專
案的團隊非常適合
Git進行版控 可以從任何編輯器或Git Client 安全地連接程式碼
並將程式碼推送到Git存儲庫中
29
Version Control
• Git
• TFVC
Work Item Process Template
• Agile
• Base
• CMMI
• Scrum
• Customer Process
30
Develop: 屬於開發階段,只限於團隊內部人員使用或是系統串接測試使用
QAS : 給USER 或 QA 階段測試的時候使用
Master : 生產環境使用
我們是在三個不同階段是分別佈署在三個不同VM / 環境
31
Develop:屬於開發階段,只限於團隊內部人員使用或是系統串接測試使用
Master :給USER 或 QA 階段測試使用,以及後續生產環境使用
採用Container,對於測試到生產環境,僅搬移Container Host和變更環境變數
32
訂定Branch規則
• 最少一定要經過多少位的Code Reviewer審核
• 是否有每次修改都有連結到Task 或 Story
• 檢查每次Check In是否有加入註解
• 限制Merge類型
• 主要規範分支怎樣合併到主線上
預先編譯
• 在Merge前,會預先編譯後確認成功,才會進行Merge
預先建立Code Reviewer
• 預先把該Branch的Code Reviewer建立好
從其他服務或是資訊來批准合併分支
• 透過其他服務或是狀態確認是否可以Merge
談工具,似乎Pipeline都是重頭
戲
因為要自動化…
 讓人可以不必執行重複性且單調的工作,並減少人工錯誤
 讓人有更多時間,創造公司的商業價值
 自動化可以提高發佈的品質
自動化
1 能在Pipeline解決重複性的流程或動作,就要透過自動化處理
2 多次以上需要人工處理的流程或是每次都需要花大量時間處理,就要自動化
處理
3 任何建置自動化流程前,一定要先用人工方式跑完整個流程
4 建置自動化工作,也必須是一個Task工作,且自動化建置初期是很消耗成本
5 雖然,需要自動化,但我們也不追求100%自動化。而是採用80% 自動化,20% 依
舊是由人工作業是比較合適的
34
Azure Pipeline
任何語言、任何平
臺、任何雲 任何語言都可以進行建置、測試和佈署動作,並
且可以直接佈署到Azure、AWS、GCP或企業內
部的環境
擴展性 從Market place下載所需要的套件,從編譯、測
試和部署…等都有相關的第三方套件可以使用,
也支持使用Yaml腳本撰寫Pipeline
Containers& Kubernetes 輕鬆構建容器並將其推送到容器註冊表,並且能
將容器佈署到各個主機或kubernetes
35
36
Continuous
Integration
變數管理
除Develop branch外,其他皆透過在CI過程中置換系統
設定參數,並把多個系統會共用的參數,集中化管理
程式碼掃描 與Sonarqube整合,在CI過程中進行程式碼掃描
Container
Manager UAT 編譯後,生產環境將不會再次編譯
Container Version
Container都會有版號,且不產生 Latest版本,避免增加
運行版本辨識的難度以及加速還原的速度
持續整合時間
盡量讓CI編譯時間不要超過10分鐘,目的是要快速反饋
與快速修正
37
 在Azure DevOps Service的CI功能取名為Pipeline,CD功能稱作
Release
 視覺化方式建立Pipeline或是透過YAML方式建立Pipeline
 Source Code可以來自Azure Repos、TFVC、GitHub、Subversion和
Bitbucket Cloud
 一個Pipeline可以複合式的使用不同Agent建置,例如:雲和地
 可以使用Marketplace的Task又或是自訂企業的客製化Task
Pipeline
38
Our Pipeline
開發+UAT+生產共235條Pipeline
涵蓋範圍從前端、後端、Container到Database
上個月就跑1053次,不算是單月最大量
運行CI的時間不能太長
39
 模組化設計:將多個Pipeline相同使用的參數,抽出來管理與維護
 機密性參數保護:機密性參數可以在Merge到生產環境才注入到系統內
使用
 易於管理: 參數管理與維護會相當方便
Library
40
Library
資料庫連線: 生產環境的資料庫連線,可以在CI時候注入到Application,同時,也可
以管理該Variable Group的安全性
41
 使用YAML,建立CI Pipeline
 YAML檔案會直接納入該專案的版控中。讓Pipeline也能被版控
 Pipeline管理、維護和轉移也相當方便
 更為彈性、更有效率
 可用Template expressions更容易擴展其他Pipeline,減少撰寫Pipeline
時間
Pipeline as Code
42
解耦
系統拆解
系統拆分到耦合性最小,建立共用性元件或是核心元件,讓團隊有效
共享或是重複使用相同元件,同時,增加可被測試的可能性
降低CI時間
當系統擴大,編譯時間就會越長,每次編譯必須拉下所有程式碼,拉
下程式碼又隨著系統越大越耗費時間。
元件化
每個團隊或個人開發的功能可以快速迭代且又不影響他人,多團隊下
讓團隊擁有自主權,能快速迭代。耦合性降低時,在於持續整合方面
也將會讓速度加快且更好釐清問題
43
Continuous
Test
自動化 自動化是測試的關鍵
持續測試
單元測試、整合測試、UI測試到負載平衡測試都是屬於
持續測試一環
測試深度 使用增量和反覆運算方式,讓測試的深度不斷前進
測試涵蓋率
別期望一開始就寫好所有測試案例,最好的測試,就是
增量測試
測試左移
大多數採用Unit Test居多,整合測試比較少,整合測試
與UI測試是相當消耗資源的
44
每次跑完測試,會有測試報表,同時,也可以知道每次持續性測試後的測試結果,
了解系統品質狀態,也可以從各種維度分析測試報告
Continuous
Delivery
審核程序 生產環境的佈署,需要透過審核才可以佈署到正式環境
排程發布
部分佈署需要在非工作時間進行,可透過排程的方式佈
署系統
自動化佈署 佈署過程中,除非必要,不然人員都不可以介入
Database的CD 自動產生佈署的SQL Script,再透過人員手動執行Script
45
Container從測試的Host,直接搬移到生產環境Host。僅
透過Docker-Compose File轉換環境變數
Docker環境移轉
46
Release
 Release 採用流程圖的設計方式呈現
 視覺化方式建立Release Flow
 同時可平行處理多個佈署流程
47
佈署到生產環境時候,可以指定人員審核,確認後才可以佈署。如果超過審核
天數後沒有佈署,會直接放棄這個版本佈署
審核佈署
確保每個版本發佈是順序性,又或是當新版本發布後,取消尚未發布的舊版本
排隊佈署
48
Release & Deploy
不同處
Release: 工程需求 & 開發需求
Deploy: 商業需求
排程發布
並非所有系統都能即時發布到生產環境,必要時可以透過排程指定時間進行佈
署
49
建立一個Repose,專門管理每個Container的Docker Compose檔案,由CD執
行Docker Compose檔案,不僅是啟動Container,也是作為Docker內應用程
式環境參數的切換
Docker-Compose 管理
UAT 和 PRD的Container運行環境是相同,藉由Compose變更系統啟動變數,
因此,不需要重新跑CI,僅需要轉移Host
cUAs
UAT to PRD
Monitor
Learn
即時性 要能隨時隨地能接收問題和即時的反饋
全面性 系統任何錯誤資訊皆需要被記錄
協同合作
團隊能在相同平台、相同資訊下,共同討論問題的解決
方案
透明度
開發與維運工作項目必須透明,所有訊息對於團隊都必
須是第一手資訊
50
團隊可承擔的Bug量的風險
Bug Cap
51
系統監控資訊整合到Azure DevOps Service Dashboard。可透過Azure DevOps
Service了解目前所有系統資訊狀況
52
偵測到的錯誤,能回饋到Azure Board上面,自動建立一個Bug Task,作為團隊工
作項目之一。
53
DevOps過程中,無論是Task建立或是分派,甚至是CI / CD流程的成功或失敗。
都要透過Notification即時通知團隊
Notifications
藉由Service hooks與第三方平台進行溝通,例如Microsoft Teams 或Slack,
將可以傳送通知到這些平台上
Service hooks
Facebook
Index
Evaluation
預估完成時間
開發與維運會同時在一個Sprint發生,預估一個Task時
間已經相對不重要
花多久時間完成
一個Task時間可能會被突然的Issue中斷或被拉長,因此,
作為指標也不準確
Sprint個人生產力
Sprint中已經只關注個人對專案貢獻度已經不準了,因
為,還要維運的工作去對個人時間的消耗
Burndown, Velocity
當Sprint間,不會只是單一專注完成Story或是Task,這
些指標相對也僅剩參考
54
程式碼行數不代表開發人員的認真程度
程式碼行數
55
透過 Azure DevOps Setting 內 Board 的 [Process] 的設定,可以修改 Story &
Task Card 欄位,以符合團隊DevOps流程
56
Cumulative Flow Diagram
Velocity 可以依照工作項目數量或是Story Point繪製圖表
Velocity Diagram
57
Burndown類型
• 工作項目數量
• 剩餘工作量
• 完成工作項目的總量
• 估計原始完成數量
58
不在關注的
原因
不精準 每次預估時間都不精準
不精準 每次完成時間也不一定準
不重要 個人達標已經不是最重要,整個團隊交付並不達
標,對團隊交付速度並無好處
這樣要怎樣衡量團隊效率
還是需要有一個準則才行吧!
59
評估團隊效率
衡量Story & Task 持續交付指標
D𝑒𝑙𝑖𝑣𝑒𝑟 𝐼𝑛𝑑𝑒𝑥 =
𝑇𝑜𝑡𝑎𝑙 𝐶𝑦𝑐𝑙𝑒 𝑇𝑖𝑚𝑒
𝑇𝑜𝑡𝑎𝑙 𝐿𝑒𝑎𝑑 𝑇𝑖𝑚𝑒
Other
Features
模組化流程 將眾多CI & CD 流程中需要標準化,建立客製化模組
Azure DevOps CLI
如果不想用介面管理,也可以透過CLI指令方式管理,有
些功能必須透過CLI才可以達成
多樣性的Agent 藉由不同屬性的Agent,擴充佈署與建置可用性與彈性
Dashboards
針對想要管理的指標或狀態,建置團隊Dashboards,方便
了解團隊狀態
61
可以基於Azure DevOps上的數據資料建立相關性報告並
提供給Power BI使用
客製化查詢
62
為什麼要這樣做
節省重複流程建置與管理時間
重要的CI / CD流程可以標準化,像是Code的安全性掃描
Task groups
彈性化配置
地與雲 CI / CD 混合搭配
 以產業面來說,並非所有系統都會在雲端,大多數還是在地端機房
 可能因為資安考量,並不適合在地端進行CI者
 CI所需要相依性套件在地端,但佈署在雲端
 同時需要佈署雲端與地端
 在不改動Pipeline下,需要做雲和地的彈性化佈署或是轉移
Agent Pool
Microsoft-Host Agent
雲端Agent可以編譯任何平台的Application,如MAC Apps,你將不需要一台實
體MAC,就可以進行編譯
Self-Host Agent
Agent可被安裝在任何一個作業系統平台,地端Agent運作不列入收費時間額度
64
功能不只有這些,還有很多…
選擇團隊所需,不要為了用而用
工具幫忙解決所有問題嗎?
其實,工具只幫忙解決需要花人力的部分和節省管理時間
不可不注意的地方
人生就是不斷面對意外,才能邁向美好
Azure DevOps Service遇到坑
67
68
介面 & 功能改版速度
每三週一小改,每三個月一大改,會改善BUG也
會增加功能。但最痛苦是介面異動,往往會找不
到原本的功能,又或是整個操作習慣必須更改。
愛恨糾結的Preview功能
Preview功能會提升或是強化工具使用性,也會
讓整個DevOps流程更順暢,但是,有時候會出
現問題,且不一定有解,因此,又必須退回沒有
Preview的時候
網路品質
簡單說,網路異常或是任何狀況發生。基本上當
天就不需要工作了
團隊中有對岸成員
Azure DevOps Server的Region不得不放在香港,
但香港功能和Bug的更新與修復,想對於其他
Region慢
難懂的意外/錯誤訊息
在CI / CD Pipeline發生錯誤時,提供錯誤訊息,
常常會無法很直覺知道問題在那邊,只能說這是
要有經驗的人才可以容易快速解讀,不然,基本
上會被檯面上的資訊誤導方向
有時,你需要等待
當下你需要某某功能可能會沒有,只能自己找到
其他方案替代,又或是期待下次改版,會不會有
你要的功能
血淚史
什麼算是成功的DevOps團隊
這是一個很深奧的問題!!
DevOps是沒有終點之路
DevOps是一種持續改善的文化與運動,且能在與業務需求掛鉤下的不斷交付與迭代,持續交付對用戶有價值的東西
THANK YOU FOR WATCHING!
ANY QUESTIONS?
 FB : https://www.facebook.com/jaigi.kuo
 Mail : Jaigi.kuo@gmail.com

More Related Content

What's hot

What's hot (20)

Transforming Organizations with CI/CD
Transforming Organizations with CI/CDTransforming Organizations with CI/CD
Transforming Organizations with CI/CD
 
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
What is DevOps | DevOps Introduction | DevOps Training | DevOps Tutorial | Ed...
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps91APP: 從 "零" 開始的 DevOps
91APP: 從 "零" 開始的 DevOps
 
DevOps核心理念和實踐
DevOps核心理念和實踐DevOps核心理念和實踐
DevOps核心理念和實踐
 
GitOps is IaC done right
GitOps is IaC done rightGitOps is IaC done right
GitOps is IaC done right
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
DevOps的神鬼奇航
DevOps的神鬼奇航DevOps的神鬼奇航
DevOps的神鬼奇航
 
Multibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだことMultibranch pipelineでいろいろ学んだこと
Multibranch pipelineでいろいろ学んだこと
 
DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所DevOpsにおけるAnsibleの立ち位置と使い所
DevOpsにおけるAnsibleの立ち位置と使い所
 
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
【BS13】チーム開発がこんなにも快適に!コーディングもデバッグも GitHub 上で。 GitHub Codespaces で叶えられるシームレスな開発
 
微服務對IT人員的衝擊
微服務對IT人員的衝擊微服務對IT人員的衝擊
微服務對IT人員的衝擊
 
knolx of KubeCost & Infracost
knolx of KubeCost & Infracostknolx of KubeCost & Infracost
knolx of KubeCost & Infracost
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
 
CI/CD Overview
CI/CD OverviewCI/CD Overview
CI/CD Overview
 
初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法初探 Elastic Observability 的實踐方法
初探 Elastic Observability 的實踐方法
 
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
CI、CD、Automation你還沒準備好!?(Agile Tour Kaohsiung 2017)
 
微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue微服務基礎建設 - Message Queue
微服務基礎建設 - Message Queue
 
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
 

Similar to [2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊

service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
Qiao Liang
 

Similar to [2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊 (20)

[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
[Agile Tour Hsinchu 2019] Our practice in the DevOps Process for Manufacture ...
 
twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)twMVC#24 | 開發團隊的敏捷之路(未完成)
twMVC#24 | 開發團隊的敏捷之路(未完成)
 
我們與Azure DevOps的距離
我們與Azure DevOps的距離我們與Azure DevOps的距離
我們與Azure DevOps的距離
 
如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法如何使用微軟Power系列服務的看法
如何使用微軟Power系列服務的看法
 
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
在B2B硬體產業運用 Agile 與 DevOps 的實務與心法
 
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
[2021 DevDays]Microsoft Teams 整合 Azure DevOps之實務應用
 
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
ACCELERATE:精益軟體與DevOps背後的科學-重點整理、個人見解與實務經驗
 
打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012打造面向服务的敏捷团队 Q con-beijing2012
打造面向服务的敏捷团队 Q con-beijing2012
 
service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012service-oriented agile team-Q con-beijing2012
service-oriented agile team-Q con-beijing2012
 
Xpp
XppXpp
Xpp
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
The way to continuous delivery
The way to continuous deliveryThe way to continuous delivery
The way to continuous delivery
 
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
twMVC#21 | 以實例說明ASP.NET Web API 服務的開發與測試過程
 
twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹twMVC#28 | visual studio 2017 新功能介紹
twMVC#28 | visual studio 2017 新功能介紹
 
Dev ops 顛覆新時代創新論壇
Dev ops 顛覆新時代創新論壇Dev ops 顛覆新時代創新論壇
Dev ops 顛覆新時代創新論壇
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
從理想、到現實的距離,開啟品味軟體測試之路 - 台灣軟體工程協會 (20220813)
 
微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu微服務的基礎建設 - Service Discovery, Andrew Wu
微服務的基礎建設 - Service Discovery, Andrew Wu
 
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
應用 Azure Platform-as-a-Service & DevOps 打造彈性企業服務
 
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定Angular Conf 2018 - 原來 Angular 可以這樣玩設定
Angular Conf 2018 - 原來 Angular 可以這樣玩設定
 

More from Edward Kuo

More from Edward Kuo (18)

[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
[2021 .NET Conf]善用 Azure Monitor 服務打造 DevOps 監控一環
 
Database in DevOps
Database in DevOpsDatabase in DevOps
Database in DevOps
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
[Study4.TW .NET Conf 2019]看,用 Azure 建立工業 4.0 的第一步
 
ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能ASP.NET Core 3.0 新功能
ASP.NET Core 3.0 新功能
 
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
[MonkeyFest 2018 ] App 開發與 DevOps 上的實踐
 
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
[2018 .NET Conf].NET Core與Azure DevOps應用於企業開發
 
[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps[2018 DevOps Days]大型企業如何推行DevOps
[2018 DevOps Days]大型企業如何推行DevOps
 
建構Windows混合現實應用程式
建構Windows混合現實應用程式建構Windows混合現實應用程式
建構Windows混合現實應用程式
 
2018 Experience for Microsoft Teams
2018 Experience for Microsoft Teams2018 Experience for Microsoft Teams
2018 Experience for Microsoft Teams
 
微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發微軟 Hololens 混合現實平台開發
微軟 Hololens 混合現實平台開發
 
How to use Microsoft Teams
How to use Microsoft Teams How to use Microsoft Teams
How to use Microsoft Teams
 
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构Microsoft Tech Summit  2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
Microsoft Tech Summit 2017 - 制造业运用微软研发云实现云到端的 DevOps 架构
 
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
[ Study4TW Visual Studio Everywhere ] Vsts + microsoft teams 建構企業的Devops
 
2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗2016 Azurebootcamp 中國Azure 使用經驗
2016 Azurebootcamp 中國Azure 使用經驗
 
ICP備案流程演示
ICP備案流程演示ICP備案流程演示
ICP備案流程演示
 
中國阿里雲與Azure比較
中國阿里雲與Azure比較中國阿里雲與Azure比較
中國阿里雲與Azure比較
 
微信公眾號運營
微信公眾號運營微信公眾號運營
微信公眾號運營
 

[2019 DevOpsDays Taipei]Azure DevOps 建立 DevOps 團隊