DevOpsDay
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Write
        • Owners
        • Signed-in users
        • Everyone
        Owners Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Help
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Write
Owners
  • Owners
  • Signed-in users
  • Everyone
Owners Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # 微軟工程團隊的 DevOps 轉型挑戰、現況與經驗 ###### tags: `DevOpsDays Taipei 2018` `9/11` `16:00~16:40` `Track A` {%hackmd zjE8rohhTBKEAPwdaLV11Q %} ## 那些年,我們的DevOps之旅 我們這一行,不承認傳統,只尊重創新。 DevOps 是企業不能逃避的一個概念。 ## One Engineering System for DevOps 因此,我願意,在任何一週的任何一天,⋯⋯ ==希望最棒的工程師,來開發我們自己的軟體工程平台。== ### 微軟的轉型 從三年磨一劍到現在快速交付 (講師:台灣需要這樣的轉型故事) ## 什麼是DevOps? > DevOps是團隊,流程和工具的緊密結合 增加價值交付 縮短迭代週期 持續不斷改進 ## 過去的微軟 * 盒裝軟體 * 像是編輯百科全書 * 三年一個版本 (當年的背景,要出 RTM版本, Release to Manufacturer, 再送去產磁碟片,光碟片) > 難以修改 > 修東西很快,三天!但release要三年 > 不可能為了一個 bug 再去壓一片光碟 > 第一年 plan、第二年開發、第三年 debug 但是業務逼著要銷售、要看財報,只好直接出貨 Visual Studio 版本發佈之路 2012 年開始不再修bug,開此做疊加 Visual Studio 大規模開發協作 ## 我們學習到了 >快速創新始於敏捷規劃 ## Visual Studio 2013,保持勢頭 ### 從瀑布式到敏捷 - 簡化溝通 Start up 的團隊本身就沒有敏捷、架構的問題。 ==只有生存問題== 大企業:如何在互斥之中找到溝通的流程 ### 連接客戶:第一次在產品中直接集成使用者回饋功能 > 過去聽老闆的,現在要聽客戶的 連接客戶:第一次在產品中直接集成使用者回饋功能 從收集客戶意見 -> 在程式中埋入瞭解使用者行為 ### 自動化測試:每夜(日)建構成為現實,建構時間:24小時。 在第一時間讓造孽的人解決他的 bug(測試左移) 聽說微軟把testing都幹掉了(X)> 是把 developer 跟 testing 合併了。 資深人員透過測試框架反過來協助資淺人員。 ## Visual Studio 2015,與時俱進 ### 引入維更新,組件化和帶外(OOB)發布 > 要 DevOps,軟體架構一定要改 切割>分工>提高團隊自主性 ### 合併DEV和QA團隊,改造Team Room * 成長化思維 * 重新定義角色與職責 * 重點放在培訓和學習 PM: 確保我們滿足客戶需求 Engineer: 快速,可靠構建高品質產品 >我們發現需要資料科學家來幫忙疏理回饋、問題 愛Java, 愛Linux...所有過去討厭的現在都愛愛愛... 現在什麼都愛 ==產品的改進始於使用者== ## Visual Studio 2017,用戶至上 ### 數據驅動決策 迭代的優先權透過數率來做 == 崩潰 - 分析 - 解決 == ### 嘗試和迭代 - 全新預覽管道 preview 版 > point:也是要可以用的! 全新安裝方式:可讓user自行按照自己所需安裝功能元件 獨立的,輕量的,互不影響的安裝方式:開發者可以在自己機器上安裝不同的版本 閉環,持續改進:內置完整的回饋機制 工程團隊視角:使用者的問題會被自動記錄 對developer來說是看的到明天的! ### 在中國發現的安裝失敗 中國40% vs 美國9% > 部分原因是因為牆的問題 > 只要在最短的時間把 bug 修掉,就不是 bug 我們的目標是盡快的修復程式 平均修復時間72小時 > 一定要讓領導(老闆、大主管)擁有透明化的訊息,他才可能願意授權 > 資訊透明化,開會只剩下解決問題(而不是發現問題)> 減掉70%的會議 讓第一線的產品經理跟工程師專注在產品開發上 1ES (One Engineering System). 一定要把成果量化, 沒有辦法量化說明結果都是幻覺 >(筆記補充: 讓說明的對象有感,對方才有機會被說服) 新一代 DevOps 研發體系成形 ![](https://imgur.com/mRQFi7i.jpg) > DevOps 只有一個目的:擁抱客戶 ## 高效DevOps團隊對企業的商業影響 > 老闆愛看的數據 > > ==我們這一行,不承認傳統,只承認創新== --- > 場外聊天室,歡迎在下方喇賽 想想xp sp3 sp4 很多都有賣錢啊(商用版),但個人版的開發工具可以一直「評估」 btw, VSCode 真的好用 好用+1 Visual Studio 世界上最好的整合開發環境 不服來戰 (其實我用phpstorm 只是玩梗 PHPStorm我記得商用要錢(個人用不知?) 個人也要啊 教育跟開放原始碼開發者可以不用 intellij也不差喔噗噗 有人說VS要加上Resharper才可以說是最好XD VS+Resharper 記錯邊ORZ (裝了可以不變慢就更好) vi and Emacs 表示 你是編輯器 Emacs 算不算IDE... 恩. 算OS VS 不就是肥+曼,各種包山包海 VSCode 就真的很輕量 技術債,可以留給後續接任的人還債(ㄟ );創造就業機會,[遺留代碼經濟學](https://hackmd.io/c/MW18/%2FefTkc1AFRK-eYdXOOylmfQ) 同意, 我們養Bug, Bug也養我們. sublime用戶 sublime --> 80USD (我有查 QQ) 我買了2 但是不能免費升3 就跳槽了 自從Java 不小心會需要面對Oracle 的律師,我就決定。。。。 (不過我本來就不會寫java ) 你還有mysql 跟pgsql啊 現在改用Aurora(哈) 所以到 Visual Studio 2017 才全面捨棄盒裝軟體? 一個DLC的概念 訂閱制對公司比較好處理吧 以我的經驗,是的, 1. license數清楚 2. 少很多佔位置的盒子 3. OPEX費用可以預期,不用解釋為何下年度要編列預算做更新,這年度卻沒有這更新預算。 我看不到明天QAQ 看得到明天很重要 使用者是對的,但系統做不到他的需求,這個很有感 遠端 stand up meeting 是什麼概念.. 定時間開視訊 standup meeting --> 簡短快速, 並達到目的的會議 (因為大家都不想一直站著) 遠端的standup meeting, 就是這些人無論在哪都可以這樣快速開會 ~~因為不想一直開著視訊~~ 樓上說的對喔! (想像一下你老闆出國要跟你視訊開會,你一定想時間越短越好) x 微軟化整為零,發表Azure DevOps以取代Visual Studio Team Services https://www.ithome.com.tw/news/125788 產品改名的意思 果然講師最後還是工商打了一下廣告 改造or跳糟

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully