SlideShare a Scribd company logo
DevOps in Hiiir
2017/9/5 曾光毅
-開發 -
自然而然地使用新技術
歷史
●在自己的電腦上開發
●每個人的套件裝起來不太相同
●新人第一天就是先搞清楚怎麼裝環境
演進
●Vagrant 技術
○ 還是使用虛擬機
○ 記憶體問題
●共用一個測試環境
○ 在同環境切不同使用者資料夾
○ 共用環境的安全性議題
●缺點
新技術的出現
●部署工具的進展
○ foreman
○ puppet
●容器技術的突破
○ Docker 讓環境部署變成像程式的版控一樣
●容器技術與其對應的解決方法
○ docker-compose
透過再包裝讓開發者無感
●讓開發者一鍵完成所需作業
○ ./dev-tool.sh init
○ ./dev-tool.sh enter web
○ ./dev-tool.sh build
●自然的使用新的技術
帶來的改變
●獨立的開發環境
●相同的開發環境
●新進同仁的開發環境
●好學的開發人員
-開發 -
程式碼品質看得見
歷史
●專案思維 vs 產品
○ 先求有、再求好?
○ 歷史共業,誰承擔?
演進
●QA 自主的自動化
●開發者自主的 uni-test
●TDD
大規模推展與實踐
●Uni-test with auto-testing
●Daily build.
●Code Coverage.
帶來的改變
●程式品質透明化
●早期發現,早期治療
-維運 -
懶惰乃是原動力
歷史
●維運的惡夢
○ 包版、佈版、不是這版
○ User: 剛剛那個有問題,再幫我上一版
●下班時間,上版才開始
○ 不到最後,不輕易上版
○ 上版後有問題,人都走光了
演進
●部署工具使用
○ Shell script
○ gunnery
○ rundeck
●部署工具也要自動化
○ Jenkins
交付執行
●簡單的就交付
●非正式環境交付
●交付自動化工具
帶來的改變
●不在辦公室,也能辦公事
●部署的需求量減少
●有更多時間喝咖啡了 (誤)
- 維運 -
一個技術貫串全場
歷史
●開發包一版、測試包一版、正式包一版
●不同時間包的程式碼會不同
●不同環境,部署方式也不同
演進
●Dockerfile 確保安裝環境一致
●程式碼自動打包image
Docker image with Kubernetes
●一個版本包成一個 image
●image 透過環境變數適用不同環境
●透過 kubernetes 指令部署至不同環境
Git tag
Docker
Image
Beta Gamma Stage Prod.
不同環境使用相同的 Image
帶來的改變
●確保部署的版本一致
●image 能加速部署時間
-開發與維運 -
合作共創好文化
歷史
●開發就負責開發
●維運就負責維運
●部署就負責部署
演進
●維運分享維運大小事
●開發分享開發架構
●彼此了解,彼此幫助
合作無間的文化
●開發懂維運
●維運懂開發
●頻率相同、溝通就順暢
-開發與維運 -
開發維運本一家
歷史
●開發還是主要是寫程式
●維運主要還是做維運
DevOps 概念之傳承
●開發可以懂一點維運
●維運可以懂一點開發
●開發可以做一些基本的維運
●維運可以協助看一點程式碼
Virtual Team
●從開發團隊中挑選人選
●選定題目、培養新血
●將基本維運的方式交給 Virtual Team
結語
About DevOps
●定義
○ 系統維運?
○ 資源回收?
●如何開始
●如何結束
Thank you !
Q & A

More Related Content

PPTX
用 Drone 打造 輕量級容器持續交付平台
Bo-Yi Wu
 
PPTX
Go 語言基礎簡介
Bo-Yi Wu
 
PPTX
用 Go 語言打造 DevOps Bot
Bo-Yi Wu
 
PPTX
用 Go 語言 打造微服務架構
Bo-Yi Wu
 
PDF
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
 
PDF
Introduction to git
Bo-Yi Wu
 
PDF
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
均民 戴
 
PPTX
認識 Docker
協哲 蔡
 
用 Drone 打造 輕量級容器持續交付平台
Bo-Yi Wu
 
Go 語言基礎簡介
Bo-Yi Wu
 
用 Go 語言打造 DevOps Bot
Bo-Yi Wu
 
用 Go 語言 打造微服務架構
Bo-Yi Wu
 
運用 Docker 整合 Laravel 提升團隊開發效率
Bo-Yi Wu
 
Introduction to git
Bo-Yi Wu
 
COSCUP 2016 Workshop: 用 Docker 架設班級 git-it 練習環境
均民 戴
 
認識 Docker
協哲 蔡
 

What's hot (20)

PDF
My DevOps Tour 0.1
Chu-Siang Lai
 
PDF
容器式軟體開發介紹
Philip Zheng
 
PDF
Introduction to Golang final
Paul Chao
 
PDF
Git 入门实战
icy leaf
 
PDF
Linking error
Ching Yi Chan
 
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
 
PDF
Bootstrap個人網站 20141117
均民 戴
 
ODP
Clojure cnclojure-meetup
sunng87
 
PDF
Git and Github basic with SourceTree
Chu-Siang Lai
 
PPTX
工程師必備第一工具 - Git
Alan Tsai
 
PPTX
Git 入門與實作
奕浦 郭
 
PPTX
Jenkins x GitLab CI
Yihsuan Chen
 
PDF
git, repo, Gerrit 基礎教學
Doremi Lin
 
PDF
連哈秋都懂的Git教學
hydai
 
PPTX
Git flow 與團隊合作
Bo-Yi Wu
 
PDF
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Chu-Siang Lai
 
PDF
Bitbucket pipeline CI
Zero Huang
 
PDF
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
 
PPTX
微软Bot framework简介
Zhichao Liang
 
PDF
Git與source tree 基礎教學
Duncan Chen
 
My DevOps Tour 0.1
Chu-Siang Lai
 
容器式軟體開發介紹
Philip Zheng
 
Introduction to Golang final
Paul Chao
 
Git 入门实战
icy leaf
 
Linking error
Ching Yi Chan
 
Continuous Delivery Workshop with Ansible x GitLab CI (3rd)
Chu-Siang Lai
 
Bootstrap個人網站 20141117
均民 戴
 
Clojure cnclojure-meetup
sunng87
 
Git and Github basic with SourceTree
Chu-Siang Lai
 
工程師必備第一工具 - Git
Alan Tsai
 
Git 入門與實作
奕浦 郭
 
Jenkins x GitLab CI
Yihsuan Chen
 
git, repo, Gerrit 基礎教學
Doremi Lin
 
連哈秋都懂的Git教學
hydai
 
Git flow 與團隊合作
Bo-Yi Wu
 
Continuous Delivery Workshop with Ansible x GitLab CI (5th)
Chu-Siang Lai
 
Bitbucket pipeline CI
Zero Huang
 
Git 版本控制 (使用教學)
Jui An Huang (黃瑞安)
 
微软Bot framework简介
Zhichao Liang
 
Git與source tree 基礎教學
Duncan Chen
 
Ad

Similar to 20170905 dev ops in hiiir (20)

PDF
Weic2015 docker
Ray Lin
 
PDF
認識那條鯨魚 Docker 初探
仲昀 王
 
PPTX
Docker workshop
Wei Tung
 
PPTX
Docker 基礎介紹與實戰
Bo-Yi Wu
 
PDF
桃園市教育局Docker技術入門與實作
Philip Zheng
 
PDF
OpenLab.Taipei #2 PORTA2030
Rex Tsai
 
PPTX
Docker
NCUDSC
 
PDF
Docker 最佳实践
YuLing Liu
 
PDF
Rootkit tw(0224)
Chia-Hao Tsai
 
PDF
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
PPTX
Docker技术介绍
LI jeanphorn
 
PDF
Monster Processing Workshop (dayOne)
Akinori Kinoshita
 
PDF
docker intro
koji lin
 
PDF
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
Jen Yee Hong
 
PDF
Layer 8 - Open source communities and your product
Rex Tsai
 
PDF
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
 
PDF
Noder eyes for frontend guys
Hsu Ping Feng
 
PDF
WOT Cloud Computing Architect Summit
Docker, Inc.
 
PDF
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
俊明 吳
 
PDF
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
 
Weic2015 docker
Ray Lin
 
認識那條鯨魚 Docker 初探
仲昀 王
 
Docker workshop
Wei Tung
 
Docker 基礎介紹與實戰
Bo-Yi Wu
 
桃園市教育局Docker技術入門與實作
Philip Zheng
 
OpenLab.Taipei #2 PORTA2030
Rex Tsai
 
Docker
NCUDSC
 
Docker 最佳实践
YuLing Liu
 
Rootkit tw(0224)
Chia-Hao Tsai
 
玩轉 .NET Interactive Notebooks 一次就上手
Poy Chang
 
Docker技术介绍
LI jeanphorn
 
Monster Processing Workshop (dayOne)
Akinori Kinoshita
 
docker intro
koji lin
 
COSCUP 2019 國際開放原始碼專案經營 - 從失敗中學習
Jen Yee Hong
 
Layer 8 - Open source communities and your product
Rex Tsai
 
讓軟體開發與應用更自由 - 使用 Docker 技術
Yu Lung Shao
 
Noder eyes for frontend guys
Hsu Ping Feng
 
WOT Cloud Computing Architect Summit
Docker, Inc.
 
使用 Docker 建置 END OF LIFE 的 Ruby 開發環境
俊明 吳
 
以Code igniter為基礎的網頁前端程式設計
Amigo 陳兆祥
 
Ad

20170905 dev ops in hiiir