ㄟ ,那個新出來的工具好酷喔
TeamsCity 和 Azure DevOps 好像很潮
拜託,Gitlab 才是王道,你們懂什麼
DevOps 好像很潮,我和主管一起推廣看看
我們公司有自己的 Scrum
認清現實吧,李嚴,所以我說那個醬汁呢?
技術再好再潮
沒有辦法導入終究是空談
這世界不缺新技術
每個技術也有各自的擁護者和傳教士
可是,那個醬汁呢?
我們可以怎麼幫自己的企業導入?
技術本身沒有對錯
但是我們都忘了一件事情
所以我們可以怎麼使用?
寫程式寫到最後不能單單只有了解程式和架構
還要深入了解業務層面的邏輯
這樣才能寫出合乎使用邏輯的程式
如果公司很早就開始使用 Git
也有自架 Git Server
為什麼要說服大家使用 BitBucket 或 CodeCommit
公司很早就開始使用 Jenkins
為什麼非要大家使用 Gitlab 和 Azure DevOps
具有一定規模的公司
為了管理方便
都會建立資訊安全管理辦法並導入 ISO 認證
有時候換一套工具或方法
打掉的可能不只是流程
更是管理辦法都要逐一審查和修正
遠不及大家所想的只是換掉就好
在說服之後
導入才是真正挑戰的開始
大公司有錢找顧問、開 Support Ticket
不會有太大的問題
通常就開幾場教育訓練教大家如何轉移到新技術上
小公司就隨自己高興使用
卻不知道自己用的合不合規
於是有把雲端當地端使用的狀況
EC2 硬碟另掛 1TB
EC2 裡面同時塞 AP 和資料庫
在 CI 環境裡藏了一堆 private key
造成 super jenkins 的狀態
企業中實際使用的狀況
遠超乎我們的想像
這也是我這次會願意出來寫文章的原因
這次使用的主題偏向手把手的教學
但是使用的技術和工具很多
雖然使用 Gitlab 卻只使用它的 Git Repository
雖然用了 Jenkins 卻起了 Docker 使用 aws cli 呼叫 API 讓 CodeDeploy 進行部屬
現實生活中也有類似的狀況
可能有人使用 Github.com 或 Gitlab.com
有人不用 Jenkins 而是用了 CodeBuild 和 CodePipeline 的 AWS 整套流程
透過這次挑戰只是希望大家能夠看到自己需要的
以激發更多靈感
Reddit 上有篇工程師的酒後箴言還不錯
前幾天的實作過程中
我也確實表達出如果要以合規的環境來看
確實 CI/CD 不能外露
建個 VPN(無論是 Site-to-Stie 還是 VPC Endpoint)仍是保險的做法
但是別忘了...那個醬汁呢?
軟體開發也要盡早開發完先讓系統上線
CI/CD 的部分只要評估好風險
確定風險在可控範圍也可以考慮先上線
如同我們第一天辦完帳號
就開始很開心地開始建 EC2
建資源的過程中不斷地刪刪改改
不斷地重構寫程式碼
將建立的 Infrasture 砍掉重建一樣
都是在逐漸讓整個基礎設施更完整
明天開始會進入新的篇章
開始走向 Docker
將服務包裝成容器最後把服務部屬到 EKS
以 EKS 上建立監控做最後的收尾
內容其實有點多
我也不確定我寫不寫得完
就......加油吧(苦笑)