Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Continuous Delivery - Opening

Continuous Delivery - Opening

Date: 2018/06/20

Avatar for Rick Hwang

Rick Hwang

June 20, 2018
Tweet

More Decks by Rick Hwang

Other Decks in Education

Transcript

  1. 2

  2. 8

  3. Software Delivery Deployment (Installation, Shipment) 9 Artifacts (Version, Build, Packing)

    Environments (OS, Network, Security) Provisioning / Orchestration Configurations (Profile, Settings, Key)
  4. Hardware (c4.xlarge) OS: CentOS / Ubuntu PHP Apache (HTTP) MySQL

    Client ImageMagic ... Wordpress (CURRENT) Provisioning (Environment) Storage (Artifacts) LATEST Image (Artifacts) Deployment 1. Build / Pack Example: Wordpress 10 Configuration Someone (人 or 機器)
  5. 15

  6. 16 Configuration 好的 Config 代表系統的 Interface,可以看出以下: • 架構性 • 可測性

    • 可維運 Cost、Provisioning、Observaiblity、Deployment Testability、Functional and Non-Functional Architectual、Security、Available、Reliability、Scalability、Performance
  7. • 用途:團隊溝通使用,可以創造獨特的團隊文化 • 不要跟公司、產品名稱、部門 … 有直接關係 ◦ 也就是 namespace /

    package / module / id 不要有這些字 ◦ Source Code Repos 也不要用 • Code Name 舉例: ◦ Android 用糖果代號 ◦ Elasticsearch Node Name 預設漫威電影人物名稱 ◦ Docker Container 亂數命名 ◦ 最近我都用 三體 相關的 XD 名字很重要 - 代號篇 (CodeName) 17
  8. • 用途:業務行銷用 • 象徵性大於實質 • 跟程式邏輯無關 ◦ 不要放在程式裡面當 module, package,

    namespace 使用 • 舉例: ◦ Windows Server 2016 ◦ iPhone X ◦ macOS high sierra 名字很重要 - 產品名稱 (Product Name) 18
  9. App1 App2 App3 App4 Artifacts (產出物) Build Build Build Build

    App5 Build Development Teams QA Pipeline OPS Infra as Code Instances Infra 1. provision 2. deploy LB, CDN, Storage, RDBMS ... master, or develop. depends on QA
  10. 22

  11. 23

  12. 軟體交付的核心概念 26 • 任何人都可以部署任意版本,到 特定環境 ◦ 任何人:開發、測試、支援、維運、業務、老闆、老闆的老闆、掃地的 ◦ 可以部署:be able

    to -- one button ◦ 任意版本:Artifacts、Configure ◦ 特定環境:包含 Prod、Staging、Test、Dev、Lab … ▪ 有自己的名稱,包含 Infra,像是 DNS, Storage, Network ... • 部署流水線 (Pipeline) 也要被測試、優化、監控、維護 (Ops Pipeline) ◦ 部署程式也是程式,要可以在 Local 開發、測試 ◦ Pipeline: Build, Provisioning, Deployment, AutoTasks (Test, Backup …)
  13. 期待 29 • 反思 Continuous Delivery 這件事情的本質 • 反思自動化的本質與目的性 •

    了解自己公司的現況,好的、不好的、適合的、不適合的,怎麼做比較適合? • 透過討論、問問題、經驗分享
  14. 30

  15. 相關文章 34 • 你的靈魂 - 談產品名稱 • Version Control •

    導入 CI/CD 的第一步 • 怎樣的 CI/CD 才夠 Quality? • Resource Provisioning and DevOps • Software Development Lifecycle