Presentation is loading. Please wait.

Presentation is loading. Please wait.

敏捷企業決勝關鍵:DevOps 開發維運 Ruddy Lee, 李智樺 課程代碼: Dev301.

Similar presentations


Presentation on theme: "敏捷企業決勝關鍵:DevOps 開發維運 Ruddy Lee, 李智樺 課程代碼: Dev301."— Presentation transcript:

1 敏捷企業決勝關鍵:DevOps 開發維運 Ruddy Lee, 李智樺 課程代碼: Dev301

2

3 敏捷企業決勝關鍵:DevOps 開發維運 Ruddy Lee, 李智樺 線上問卷QR code 課程代碼: Dev301
參考課程: Dev 303 開發運維一體化(DevOps)的獨孤九劍 教室: 101AB 講師: 胡德民、徐鈞安

4 Agenda 一、DevOps 的歷史 二、DevOps 的定義 三、實行DevOps 從哪裡開始 四、實行DevOps的原則
Demo: Microservice Demo: DevOps Kanban

5 《 歷史可以告訴我麼什麼? 》 NOKIA 正式退出歷史舞台, 在記者招待會上,CEO 約瑪•奧利拉 公佈同意微軟的收購 時,最後說了一句話:“我們並沒有做錯什麼,但不知為什 麼,我們輸了 ” 說完,連同他在內的幾十名高階主管不禁落 淚。 這是一家值得敬佩的公司,它沒有做錯什麼,只是世界變化太快。 錯過了學習,錯過了改變,也就錯過了機會! 而且,他們錯過的不是賺錢的機會,而是生存的機會。

6 Gartner 預測 2016 年將是 DevOps 元年

7 有趣的現象 FB、Line出現一個Bug,請問你可以容忍 多久?
DevOps 就是要求在良好的品質之下,能夠 快速地更新版本,快速的修復缺陷的能力。

8 快速部署 DevOps 的任務 我們都知道從找到BUG,修正它到正式發布,這 整個過程都需要群策群力,絕對沒有那麼簡單!?
藉由將開發階段自動化以及訊息公開,幫助企業 軟體開發部門,解決傳統的流程 end to end 所產 生的訊息非同步,以及協作不順暢的問題,並且 將每一階段自動的串接起來,進而才可能達到盡 可能的快速地交付。

9 快速部署 DevOps 的任務 我們都知道從找到BUG,修正它到正式發布,這 整個過程都需要群策群力,絕對沒有那麼簡單!?
藉由將開發階段自動化以及訊息公開,幫助企業 軟體開發部門,解決傳統的流程 end to end 所產 生的訊息非同步,以及協作不順暢的問題,並且 將每一階段自動的串接起來,進而才可能達到盡 可能的快速地交付。

10 《用專案開發的角度》 傳統 做事的方法 依循計畫 敏捷 開發的方法 回應變化 精實 原則 減少浪費 理想 快速交付

11 Pre 2000 2001 2010 Watrfall Agile DevOps Test/QA Release Release
Cycle time: Months or year Cycle time: Weeks or Months Cycle time: Hours or Days idea Business/Plan idea Business/Plan idea Business/Plan Development Development Test Development Test Test/QA Release Release ( Operation ) Operation Monitor learn Monitor learn Customer Customer Customer

12 或許;新的技術驅動專案開發 但組織文化 是靠經驗的累積與實行來建立的。 而組織文化才是讓企業長久久的根本。
DevOps 是一種組織內文化與既有職責變革

13 DevOpsDays 他首先介紹了Agile Infrastructure的概 念於2008年在多倫多,並在2009年, 他組織了第一次DevOpsDays。後來莫 名地改成 DevOps,並成為了始祖。 Patrick Debois Belgium 2009 San Jose CA 10+ deploys per day: dev and ops cooperation

14 10+ Deploys per Day: Dev and Ops Cooperation
Velocity 2009 大會上的一場演講 Flicker A photos sharing website Paul Hammond John Allspaw Flicker Engineer Flicker Operation Group

15 》每個時代都有一些個有趣的現象,它告訴我們 …
Flicker A photos sharing website 》每個時代都有一些個有趣的現象,它告訴我們 …

16 有趣的現象 寫Desktop程式的人都來寫App程式的時候 有十倍量的App在網路上供大家選擇時… 寫程式進入紅海的競爭階段…

17 有趣的現象 人們拼命滑手機 負面: 寫一些更能吸引他們的軟體,讓他們上癮 正面: 寫一些高投資報酬率的軟體,綠能軟體。

18 DevOps 定義 DevOps 不僅是一項技術或工具組,而是需要文化演進的心態。 它結合人員、程序和適當工具,加速推動您的應用程式生命週期, 而且更能預測。 DevOps is more than a technology or a tool set. It’s a mindset that requires cultural evolution. It is people, process and the right tools to make your application lifecycle faster and more predictable. Microsoft DevOps is an enterprise capability for continuous software delivery that enables clients to seize market opportunities and reduce time to customer feedback。 IBM 英國政府DevOps

19 看板方法: 科技企業成功變革漸進之道 David J. Anderson 軟體看板方法之父

20 Two things about DevOps
敏捷維運 嘗試將敏捷及精實的觀念加諸於維運之中。 The first was also called “agile system administration” or “agile operations”; it sprang from applying newer Agile and Lean approaches to operations work.  協同合作的文化 開發與維運之間的協同合作。 The second is a much expanded understanding of the value of collaboration between development and operations staff throughout all stages of the development lifecycle when creating and operating a service, and how important operations has become in our increasingly service-oriented world.

21 DevOps 定義 DevOps是維運和研發工程師一起參與,在整個軟體的 生命週期,從設計到開發過程中,以支持與開發整個
產品生命週期的做法謂之。 DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support. Dev = 所有參與開發的作業人士. Ops = 產品誕生後參與創作的所有人士. DevOps 是屬於企業整體的變革之道。

22 DevOps 是一種文化 實行DevOps,首先;你要規劃針對自己公司的運作方式,要怎麼做才能擁有快速交付的能力。
基本上要先從設定目標開始,分多期或幾次完成,然後再持續改善它來達成目標。經過這樣的長期實作之後,最終自然就形成了一種組織文化了。 文化是由實作中,日積月累而逐漸形成的。 -- 豐田企業

23 從學習別人成功的經驗開始! 實行 DevOps 從哪裡開始? 別人成功的經驗: Rafter的 DevOps 學校課程教材
學校課程教材 別人成功的經驗: Rafter的 DevOps 從學習別人成功的經驗開始!

24 實行 DevOps 從哪裡開始? 別人成功的經驗: Rafter的 DevOps DevOps 即平臺 (構建) 引導階段: 自動化果實
學校課程教材 別人成功的經驗: Rafter的 DevOps 引導階段: 儘量簡單(在你能控制的範圍) 切勿過度投資 選擇好的工具 增強學習成長 DevOps團隊的成立 自動化果實 按需配置 共用部署 自助工具 關注開發 DevOps 即平臺 (構建) 日常工作: 支援 - 監控和告警 - 專案工作 永遠不會結束 DevOps 平台 產品工程團隊 部署、監控 DevOps團隊 提供一個平臺 運維團隊 獲取和建立 硬體設備 Xerox Nearshore Delivery Center

25 Xerox Nearshore Delivery Center Xerox 近岸交付中心
參考案例: Xerox Nearshore Delivery Center Xerox 近岸交付中心

26 實行 DevOps 從哪裡開始? 從消除浪費貫徹「精實原則」開始!

27 》從精實開始: Lean Principle
要消除浪費,必須先看到既有流程。 找出 Queue 及 Buffer。 開始改善流程(改善工作與工作之間的間隙) 》上面這三個步驟正是看板方法的執行步驟 【創意階段】 【開發階段】 【佈署階段】 需求 產品

28 單純的 DevOps 看板 【創意階段】 需求 產品 【佈署階段】 【開發階段】

29 欲達成 DevOps 請採用 Kanban method
DevOps and Kanban - Match Made in Heaven Kanbans and DevOps: Resource Guide for “The Phoenix Project” Using Kanban For DevOps Projects Kanban - a sane way towards DevOps Kanban should be the default choice for DevOps teams SwiftKanban | Kanban for DevOps / Continuous Delivery Why Kanban and DevOps are such a good fit? – Roojoom Kanban & DevOps - Forming a Perfect Alliance – ProKarma Kanban - A Way Towards DevOps in the Legacy Enterprise

30 看板方法 看板方法是一種 改變管理方針的途徑。它不是 軟體開發法、專案管理、生命週期、 或者流程。
是豐田生產模式中的重要概念,目的是為了達到及時 生產(Just In Time)的方式來控制生產流程的工具。因 此在這個要求快速產出軟體程式的時代,它又再次披 掛上陣,搖身一變成了軟體達到快速開發的途徑。 看板方法是一種 改變管理方針的途徑。它不是 軟體開發法、專案管理、生命週期、 或者流程。 而改變管理方針的途徑正是解決 DevOps 的最佳方法

31 實施看板方法,首先便是找出『盈餘時間』, 從減少不必要的工作做開始,是進行改革時的良方。
平常已經忙得不可開交的團隊 像盛滿了水的杯子,沒有辦法再加進任何東西 實施看板方法,首先便是找出『盈餘時間』, 從減少不必要的工作做開始,是進行改革時的良方。

32 看板方法有效的二個方法: 》 》 拉動系統 Pull System 利特爾法則 Little’s Law
一次做一件事,用看板來協助你做多工作業。 利特爾法則 Little’s Law 控制你的「半成品」數來獲取最佳產能。 Work In Process : 做了一半還沒有完成的工作。

33 微服務架構 Microservice Architecture
DevOps 之下唯一公認的新技術 微服務架構 Microservice Architecture 微服務架構是個很有趣的概念,它的主要作用是將功能分解到離散的各個服務當中,從而降低系統的耦合性,並提供更加靈活的服務支援。 微服務 Microservice 定義之一: 微服務是一種簡單的服務功能, 大概是有10到100行程式碼組成。

34 “彼此之間具有獨立通信能力並具有明確的API
微服務 Microservices “彼此之間具有獨立通信能力並具有明確的API 可供呼叫,且足以形成更大的 更複雜的應用程式“ “Independent processes communicating with each other with well defined API’s to form larger more complex applications”

35 Microservices 特性 只做一件事,確確實實的做好。 獨立性(可供一般語言呼叫)。 可獨立部署。 容錯性高且可靠。
因為人類的思維不完美,很難寫出十全十美的毫無 缺陷的程式,因此若把它極簡單化的變小一些,就 比較容易做到更可靠的服務了。

36 Microservice 架構模式 在設計一個組件的時候, 我們需要考慮該組件所 給出的接口能夠盡可能 地滿足當前及今後的一
系列可以預見的需求, 要求該組件所提供的 API ,在細粒度的設計 下能兼具: 靈活性及擴 展性。 第三方類別庫 平台類別庫 業務層實現 第三方類別庫 平台類別庫 業務層實現

37 Microservice Architecture
Microservice 採用Restful API做為資料傳送協定。 資料以json格式進行傳輸。 Service Bus的觀念 像極了 SOA(Service Oriented Architecture) 的概念,雖然 microservices 似乎是這兩年才開始流行起來的。其實 Microservices 並不是一個新的概念,Martin Fowler 覺得它跟 SOA 差別非常大,Netflix 也把他們目前的架構稱作 microservices architecture。

38 Microservices 架構是一個趨勢,
每個團隊應該根據自己當前的需要選擇合理 的服務化架構。

39 Demo 如何產出微服務 Microservice

40 建立你自己的 Microservice Demo 架構 Unit test 》
Your program Services Container Test project Unit test Services Adapter 運用測試專案(Test project)產出 Microservice,可以讓我們 同時做到既有程式及服務容器雙方面的單元測試。

41 Microservice architecture -- Using 3A pattern
Test Prroject ARRANGE, Get the environment ready to received data structure { "number_1": 1, "number_2": 1, "sum": 2 } ACT, Call the method under test ASSERT Ensure that what you expected to happen, happened. UNIT TEST STRUCTURE 3A: ARRANGE, ACT, ASSERT ARRANGE, Get the environment ready ACT, Call the method under test ASSERT Ensure that what you expected to happen, happened.

42 實行DevOps的原則 The Three Ways (Gene Kim) CAMS (John Willis)
脈絡! 掌握問題的全貌 The Three Ways (Gene Kim) Systems Thinking Amplify Feedback Loops Culture of Continual Experimentation CAMS (John Willis) Culture – People > Process > Tools Automation – Infrastructure as Code Measurement – Measure Everything Sharing – Collaboration/Feedback Informed by the values in the Agile Manifesto and Lean Theory of Constraints Ernest

43 脈絡就是學習全局思考 – 精實原則第七條: 縱觀全局
實行DevOps的原則 脈絡! 掌握問題的全貌 The Three Ways (Gene Kim) Systems Thinking Amplify Feedback Loops Culture of Continual Experimentation 凡事,必有脈絡 Ernest 脈絡就是學習全局思考 – 精實原則第七條: 縱觀全局 我們看得見使用者的痛點, 看懂組織的作為, 看透機構的制約。

44 指導原則 一種學習、協作的文化非常重要 敏捷開發和自動化(測試、部署)可加速創新 回饋迴圈可縮短回饋的時間 以整個系統作為作為考量的目標

45 DevOps 實踐 • 版本控管 Version Control For All • 測試自動化 Automated Testing
• 主動監控、數據化 Proactive Monitoring and Metrics • 實行看板方法 Kanban/Scrum • 視覺化/變更管理 Visible Ops/Change Management • 配置管理 Configuration Management • 事故指揮系統 Incident Command System • 持續整合-發布- 交付 Continuous Integration/ Deployment/ Delivery • “Put Developers On Call” • 虛擬化/雲端/Containers Virtualization/Cloud/Containers • 工具鏈的實踐 Toolchain Approach • 透明化/事故檢討 Transparent Uptime/Incident Retrospectives

46 DevOps 工具 Hardware (System provisioning/automation)
Software (Software delivery pipeline) 濕件Wetware (Process/human element) 監控/數據化 Monitoring/Metrics (of all the above)

47 12 Factor App 做自動化時盡量採用格式化的宣告,以便利新進人員能 夠快速上手(可以適度解決銀子彈的問題)。
對建置環境取得最佳的共同性,避免受環境(OS) ,邊界 值大小的限制和影響。 總是用雲端來做比擬。(End to end 與 Constraint) 讓工作環境盡可能地和測試與真實的環境相一致。 Always要保持可以Scale up的情境,尤其要考慮到各種工 具的版本差異及更新。 做最佳實踐(開發、測試、發布)。

48 12 Factor App 1. 程式碼統一化: 一份基準程式碼,多份部署 2. 依賴: 顯式聲明依賴關係 3. 配置: 在環境中存儲配置
1. 程式碼統一化: 一份基準程式碼,多份部署 2. 依賴: 顯式聲明依賴關係 3. 配置: 在環境中存儲配置 4. 後端服務: 把後端服務當作附加資源 5. 構建,發佈,運行: 嚴格分離構建和運行 6. 進程: 以一個或多個無狀態進程運行應用 7. 埠綁定: 通過埠綁定提供服務 8. 併發: 通過進程模型進行擴展 9. 易處理: 快速啟動和優雅終止可最大化健壯性 10. 開發環境與線上環境相同: 盡可能的保持開發,預發佈,線上環境相同 11. 日誌: 把日誌當作事件流 12. 管理進程: 後臺管理任務當作一次性進程運行

49 如果把開發與維運都串起來了, 那測試呢? 測試是很發時間的怎麼辦?
如果把開發與維運都串起來了, 那測試呢? 測試是很發時間的怎麼辦? 服務虛擬化 Service Virtualization

50 採用服務虛擬化的技術打通關 Service Virtualization 用虛擬化達成 End to End
《 服務虛擬化三步驟: 捕抓、建模、模擬化 》

51 X X X 【創意階段】 【開發階段】 【佈署階段】 需求 產品 WIP WIP Idea 介面: 介面: Buffer, Queue

52

53 太理想化了! 真實的世界做得到嗎? 但如果我說;整個環境都在雲端上的時候呢?! 為什麼在雲端上就辦得到了呢?
答案是: End to End.

54

55 4 1 2 3 DevOps 開發作業 產品 監控 + 學習 計劃 佈署 開發 + 測試
Build 2015 9/9/2017 5:57 AM DevOps 4 1 監控 + 學習 計劃 開發作業 產品 What is DevOps? As we've gone through the first decade of agile development, we noticed development teams got really efficient at developing software. We also saw that there are two distinct lifecycles. The ALM lifecycle and the Operations lifecycle. They were very different. What we're noticing is there's a convergence of lifecycles into one lifecycle called DevOps. DevOps is more than a technology or a tool set, it’s a mindset that requires cultural evolution. It's around people 1st, then process 2nd, the tooling is there to help facilitate the cultural and process changes you need to make. This is what will make your application lifecycle faster and more predictable. Why is it important? DevOps integrates development teams and operations teams in order to improve collaboration, productivity, and be more responsive to business needs. This is accomplished by automating infrastructure, automating workflows, and continuously measuring application performance. Teams work better together and think more alike by breaking down silos and sharing responsibilities. This will Increase the rate of software delivery and improve the time to market from months/weeks to days/hours. At Microsoft the DevOps investments were making inside of Visual Studio, Visual Studio Online, Team Foundation Server, and Azure reflect on our focus enabling and empowering teams to get great software into the hands of your customers. 2 3 開發 + 測試 佈署 Reqest - Plan – Code – Build – Test – Release – Delay – Manage - Monitor © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

56 4 1 2 3 DevOps Development Production Monitor + Learn Plan Release
Build 2015 9/9/2017 5:57 AM DevOps 4 1 Monitor + Learn Plan Development Production What is DevOps? As we've gone through the first decade of agile development, we noticed development teams got really efficient at developing software. We also saw that there are two distinct lifecycles. The ALM lifecycle and the Operations lifecycle. They were very different. What we're noticing is there's a convergence of lifecycles into one lifecycle called DevOps. DevOps is more than a technology or a tool set, it’s a mindset that requires cultural evolution. It's around people 1st, then process 2nd, the tooling is there to help facilitate the cultural and process changes you need to make. This is what will make your application lifecycle faster and more predictable. Why is it important? DevOps integrates development teams and operations teams in order to improve collaboration, productivity, and be more responsive to business needs. This is accomplished by automating infrastructure, automating workflows, and continuously measuring application performance. Teams work better together and think more alike by breaking down silos and sharing responsibilities. This will Increase the rate of software delivery and improve the time to market from months/weeks to days/hours. At Microsoft the DevOps investments were making inside of Visual Studio, Visual Studio Online, Team Foundation Server, and Azure reflect on our focus enabling and empowering teams to get great software into the hands of your customers. 2 3 Develop + Test Release Reqest - Plan – Code – Build – Test – Release – Delay – Manage - Monitor © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

57 Build 2015 9/9/2017 5:57 AM Plan It starts with an idea – and a plan how to turn this idea into reality … Project starts Manage work Develop + Test Track progress Plan 1 Let’s take a look at some of the work that we’re doing today. I’ll cover this at a very high level now, but much deeper in my session later today. We can qquickly define, prioritize, and decompose the work for your project. Dashboards and charts provide visibility to your team and stakeholders. Backlogs to quickly define, prioritize, and decompose the work for your project. Kanban can be used for each backlog in Visual Studio Online. Dashboards that provide visibility to your team and stakeholders. Charts that bring your data to life and make it visible to your team, organization, and stakeholders. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

58 Build 2015 9/9/2017 5:57 AM Develop + Test Once the iteration starts, developers turn great ideas into features … 2 Write Code Unit Testing Version Control Our next phase is allowing developers and testers do what they do best, which is creating software. Once the iteration starts, developers turn great ideas into features. There are many activities around developing code and keeping the quality very high. We have developer productivity features from CodeLens to Intellitests Build Build Verification Release © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

59 Unit Testing Test Runner Intellitest 9/9/2017
Tests run in background automatically on build and support multiple unit testing frameworks: MS Test, xUnit, nUnit , jUnit, oUnit, Selenium…etc Deep integration in the IDE with multiple run options Supports native C++ code Easy code coverage access for all tests Intellitest Generate parameterized unit tests, including setup Discover edge cases and generate unit tests for all possible code paths Keep your tests in sync with your code changes, automatically © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

60 Next generation build Cross-platform build capabilities
9/9/2017 Next generation build Cross-platform build capabilities Includes build definition templates to compile using Visual Studio, Xamarin for Android or Xcode Comprehensive build steps for a variety of technologies including Ant, CMake, Maven, Xcode Build, Android Build, and more Get more from the build process Continuous integration to find build issues earlier Options for creating your own build definition templates or use community templates from your Git provider Talking Points The next generation build system will enable teams to more easily create custom build workflows by introducing reusable tasks and leverages a lightweight, web-based authoring environment. This build system will also be capable of building code from external systems such as GitHub by leveraging the REST API’s and service hooks infrastructure available in Visual Studio Online. Finally, a new cross-platform build agent will allow teams to run builds on non-Windows machines. This makes it possible for the first time to build on Linux machines and for iOS / OSX by running builds on Macs. Background Information This will be previewed at BUILD but will not be available until a few weeks afterwards. Depending on when you give this presentation you should check to see if this feature is available. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

61 Sonar Cube 有助於控制技術債務 建立用於深入分析和解決問題優先的信息 Talking Points
9/9/2017 Sonar Cube 有助於控制技術債務 建立用於深入分析和解決問題優先的信息 Talking Points The next generation build system will enable teams to more easily create custom build workflows by introducing reusable tasks and leverages a lightweight, web-based authoring environment. This build system will also be capable of building code from external systems such as GitHub by leveraging the REST API’s and service hooks infrastructure available in Visual Studio Online. Finally, a new cross-platform build agent will allow teams to run builds on non-Windows machines. This makes it possible for the first time to build on Linux machines and for iOS / OSX by running builds on Macs. Background Information This will be previewed at BUILD but will not be available until a few weeks afterwards. Depending on when you give this presentation you should check to see if this feature is available. © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

62 Build 2015 9/9/2017 5:57 AM Release When all tests pass, the build is deployed to testing environments for each stage in the release process Cloud Load Testing Staging environment Integration testing environment 3 Automated functional testing environment Pre-production environment Monitor + Learn Now that we have our build process done, we have a set of binaries. What we need to do is get to production at this point. There’s usually a few steps to get there. We have to go to Dev, QA, UAT, Pre-Production…etc. If we’re going to speed up that feedback cycle, we need to be able to ship a lot more quickly. What we want to do is take all the manual steps and automate them. © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

63 Release management Talking Points Background Information
9/9/2017 Release management End-to-end traceability View change summaries before approving automated releases Track work items as they deploy to production through change summaries End-to-end automation Automate the deployment process to deploy to each environment the same way Automate approval workflow to reduce delays and coordination issues Configuration as code Set the desired state configuration (DSC) in code for readability and to execute in PowerShell Deploy consistently Deploy applications on-premises or in the cloud Use templates for consistency or to trigger a deployment from a build Talking Points Release management capabilities in Visual Studio provide the automation and traceability to release frequently. Background Information Work-item tracking with Release Management: management.aspx Release management: Release management VSO service: release-management-vso-service-to-manage-releases.aspx © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

64 Cloud Based Load Tests Talking Points Background Information
9/9/2017 Cloud Based Load Tests Cloud load testing Performance test your code with hundreds of thousands of users Author load tests from Visual Studio then use the cloud for the right load mix Configuration options include number of virtual users, browser distribution and more Test from where your users are Run tests from one of many global Azure datacenter locations to minimize latency and simulate users' real-world conditions Talking Points Release management capabilities in Visual Studio provide the automation and traceability to release frequently. Background Information Work-item tracking with Release Management: management.aspx Release management: Release management VSO service: release-management-vso-service-to-manage-releases.aspx © 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

65 Build 2015 9/9/2017 5:57 AM Monitor + Learn Learn and understand how users use your app, how it reacts and quickly fix issues and bugs Plan the next iteration Feedback Monitor Finally, we move into the last phase. Now that we have moved our builds into production one of the big challenges that we have in DevOps is making sure that we not only can release quickly, but we can learn quickly. This allows us to build the right product for our customers. 4 © 2015 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.

66 The DevOps cycle: from Business Analysis to Monitoring
開發人員 BA User Stories Dev TFS/Git Version Control Monitor Bugs 使用者 QA Test Scripts DevOps Cycle Deploy (產品) Test Deploy (QA) Build Ops 維運人員 真實世界的 DevOps 循環

67 Demo 運用看板方法(Kanban Method) 規劃DevOps

68 加入 WIP(Work In Progress)
新增了 Doing & Done 狀態欄

69

70 Q&A

71

72 綠色能源軟體 Green Energy software
Ruddy Lee, 李智樺

73 解決人們因為軟體設計不良所耗費掉的時間

74 定義 內容至上 對使用者花費在操作或瀏覽的上的時間,有著足夠的投資報酬率的軟體就可稱之為綠能軟體。 並非 能夠與使用者產生共鳴的內容
例: 能贏得使 用者的認同 並非內容龐大 充塞各式各樣 資訊就是好的 符合使用者需求的內容 例: 符合客戶 需求的廣告 具有市場價值的內容 例: 提供有價 值的資料 具有教育價值的內容 例: 足以讓客 戶成長的資料

75 How do we change the world?
我們怎麼改變世界?

76 ARK 一次做一件不經意的小事。 How do we change the world?
One single “act of random kindness” at a time. 我們怎麼改變世界? 一次做一件不經意的小事。

77 多工作業不是軟體求快的方式。 要找到浪費,消除浪費才是。
要求快速! 多工作業不是軟體求快的方式。 要找到浪費,消除浪費才是。 要消除浪費 就必須先看到浪費的所在,才能針對癥結點做處理。 因此,看得見是第一要務。 第一步、視覺化

78 難以改變的個人的生活習慣, 就由看見浪費, 開始改起!
難以改變的個人的生活習慣, 就由看見浪費, 開始改起!

79 資訊輻射 information radiator
視覺化是第一步: 敏捷對資訊的傳播方式,常常被稱為以「資訊雷達」的方式快速而透明。 大型視覺化圖表 BVC Big Visible Charts 古老的白板 POW Plain Old Whiteboards 在牆上展示各項事項 TOW Things on Walls

80 超越敏捷 Beyond Agile

81 Cloud 是公有雲對呢? 還是私有雲對? 取決於人性! End to End Constraint

82 馬上能用的DevOps工具包

83 Here's the thing about the future. Every time you look at it,
關於未來有一個重要的特徵 Every time you look at it, 每一次你看著未來 it changes because you looked at it. 它會發生改變 因為你看著它 And that changes everything else. 然後其它事也跟著一起改變了 Oh no. You don‘t believe in destiny? 噢...不,你不相信命運 嗎? Well, even if it


Download ppt "敏捷企業決勝關鍵:DevOps 開發維運 Ruddy Lee, 李智樺 課程代碼: Dev301."

Similar presentations


Ads by Google