Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Continuous Delivery - Opening
Search
Rick Hwang
June 20, 2018
Education
8
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
82
在生命轉彎的地方 - 從軟體開發職涯,探索人生 (20231201_5)
rickhwang
0
210
雲端職涯探索日 - 探索職涯,複利人生 (20230829)
rickhwang
0
34
SRE 實踐與開發平台指南 書友見面會 (2023 0819 - 0826)
rickhwang
0
34
20230618 - 軟體測試實務新書發表會 - 從品質與測試,讓軟體再次偉大
rickhwang
0
31
CH02 API Governance
rickhwang
0
27
Chapter 8. Partial updates and retrievals
rickhwang
0
31
API Design Patterns - Ch09 Custom Methods
rickhwang
0
28
凝聚團隊共識的溝通方法 (Effective Team Communication) (20230215)
rickhwang
0
46
Other Decks in Education
See All in Education
Modulo : abc
robintux
0
220
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
3.5k
Sekolah Sabat - Triwulan 4 2026 - Pelajaran 2
hiola
0
9.8k
Carbohydrates: Classification, Structure & Chemical Properties
pawan_pharm
0
320
Requirements Analysis and Prototyping - Lecture 3 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
1.8k
El Geoparque Mundial UNESCO Volcanes de Calatrava de la Investigación Científica a la Transposición Didáctica en el aula
juanmartin2026
0
2.2k
1002
cbtlibrary
0
260
Merger Process
bvr7352
0
160
FA26 CLU MS Clinical Psychology New Student Orientation
jdbedics
0
180
Adobe Express
matleenalaakso
2
8.4k
One Year of Learning English with AI @エンジニア英語キャリア Meetup #3
kekekenta
0
280
形骸化しない社内勉強会の取り組み - オーナーシップの作り方 / In-house study session
soudai
PRO
1
390
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Chasing Engaging Ingredients in Design
codingconduct
0
340
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
510
Are puppies a ranking factor?
jonoalderson
2
4k
How to make the Groovebox
asonas
2
2.5k
WCS-LA-2024
lcolladotor
0
850
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
570
Exploring anti-patterns in Rails
aemeredith
4
520
30 Presentation Tips
portentint
PRO
1
420
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
840
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