Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Continuous Delivery - Opening
Search
Rick Hwang
June 20, 2018
Education
4
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Continuous Delivery - Opening
Date: 2018/06/20
Rick Hwang
June 20, 2018
More Decks by Rick Hwang
See All by Rick Hwang
從應用程式 Inside-Out 出發的 Web 可靠性設計 (台灣軟體工程協會, 高雄師範大學) (20250628)
rickhwang
0
64
在生命轉彎的地方 - 從軟體開發職涯,探索人生 (20231201_5)
rickhwang
0
160
雲端職涯探索日 - 探索職涯,複利人生 (20230829)
rickhwang
0
16
SRE 實踐與開發平台指南 書友見面會 (2023 0819 - 0826)
rickhwang
0
19
20230618 - 軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
rickhwang
0
19
CH02 API Governance
rickhwang
0
17
Chapter 8. Partial updates and retrievals
rickhwang
0
22
API Design Patterns - Ch09 Custom Methods
rickhwang
0
17
凝聚團隊共識的溝通方法 (Effective Team Communication) (20230215)
rickhwang
0
25
Other Decks in Education
See All in Education
輻射安全管理系統2.0暨輻防e++學園平台說明會
aecrp
0
1.9k
!コスパよくインターンに受かる方法!
ruribou
1
310
AWS Skill Builderを活用した一石二鳥の業務計画
ysaeki
0
120
Modern Data Fetching Techniques in Angular
debug_mode
0
250
2026年度春学期 統計学 第10回 分布の推測とは - 標本調査,度数分布と確率分布 (2026. 6. 4)
akiraasano
PRO
0
170
[2026前期火5] 論理学(京都大学文学部 前期 第9回)「正規化の停止性——ヒドラゲームによる証明」
yatabe
0
220
Estimating Group × Time Interaction in Scale-Transformed CEFR-J Self-Assessment Scores: A Case in Study-Abroad Research
uranoken
0
160
[2026前期火5] 論理学(京都大学文学部 前期 第11回)「ハーモニー:三層モデルと保存拡大」
yatabe
0
210
生成AI時代の情報発信
molmolken
0
160
参加制約理論
roadofhope
0
150
自己紹介 / who-am-i
yasulab
6
7.1k
Where Data Meets Storytelling
georgesinnott
0
150
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Prompt Engineering for Job Search
mfonobong
0
400
Chasing Engaging Ingredients in Design
codingconduct
0
260
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
73
41k
Ethics towards AI in product and experience design
skipperchong
2
340
[SF Ruby Conf 2025] Rails X
palkan
2
1.3k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
520
Optimizing for Happiness
mojombo
378
71k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
410
Transcript
Continuous Delivery - Study Group Opening Rick Hwang @ 2018
1
2
3 Software Delivery 你平常怎麼使用別人的軟體?
4 http://cassandra.apache.org/download/ Cassandra:分散式 NoSQL Database
5 https://hub.docker.com/_/cassandra/ Cassandra:分散式 NoSQL Database
6 https://github.com/kubernetes/minikube minikube: K8s 單機版
7 Apache Spark:分散式大數據分析
8
Software Delivery Deployment (Installation, Shipment) 9 Artifacts (Version, Build, Packing)
Environments (OS, Network, Security) Provisioning / Orchestration Configurations (Profile, Settings, Key)
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 機器)
11 http://archive.apache.org/dist/cassandra/
12 https://github.com/aws/aws-cli/releases
13 Artifacts 是獨立的 需要的人都可以自行部署、測試 Artifacts 要有 CodeName + Version
14 Again 你平常怎麼使用別人的軟體?
15
16 Configuration 好的 Config 代表系統的 Interface,可以看出以下: • 架構性 • 可測性
• 可維運 Cost、Provisioning、Observaiblity、Deployment Testability、Functional and Non-Functional Architectual、Security、Available、Reliability、Scalability、Performance
• 用途:團隊溝通使用,可以創造獨特的團隊文化 • 不要跟公司、產品名稱、部門 … 有直接關係 ◦ 也就是 namespace /
package / module / id 不要有這些字 ◦ Source Code Repos 也不要用 • Code Name 舉例: ◦ Android 用糖果代號 ◦ Elasticsearch Node Name 預設漫威電影人物名稱 ◦ Docker Container 亂數命名 ◦ 最近我都用 三體 相關的 XD 名字很重要 - 代號篇 (CodeName) 17
• 用途:業務行銷用 • 象徵性大於實質 • 跟程式邏輯無關 ◦ 不要放在程式裡面當 module, package,
namespace 使用 • 舉例: ◦ Windows Server 2016 ◦ iPhone X ◦ macOS high sierra 名字很重要 - 產品名稱 (Product Name) 18
名字很重要 讓團隊有靈魂! 讓團隊有想像力 平衡團隊的溝通 19
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
21 Source: Microservice Prerequisites
22
23
聽說這五本是 DevOps 五虎將? 24
25 https://pivotal.io/cloud-native
軟體交付的核心概念 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 …)
任何人都可以 27 到特定環境 (包含建置) 部署任意版本
思 考 28 導入 CI/CD 的第一步 怎樣的 CI/CD 才夠 Quality?
如果要 Open Source,需要做什麼?
期待 29 • 反思 Continuous Delivery 這件事情的本質 • 反思自動化的本質與目的性 •
了解自己公司的現況,好的、不好的、適合的、不適合的,怎麼做比較適合? • 透過討論、問問題、經驗分享
30
31 你平常怎麼使用別人的軟體?
32 你們公司的軟體怎麼給別人用?
歡迎參加 SRE 讀書會 DevOps Taiwan SRE Taiwan、痞客邦 場地贊助 33
相關文章 34 • 你的靈魂 - 談產品名稱 • Version Control •
導入 CI/CD 的第一步 • 怎樣的 CI/CD 才夠 Quality? • Resource Provisioning and DevOps • Software Development Lifecycle