「Infrastructure as Code」呢個概念只會愈黎愈重要!
Predictable 、Reproducible、Maintainable ... 愈大 Scale 嘅 Product/Service 愈需要呢種技術 💪🏻 但係普遍要實踐「Infrastructure as Code」,Software Development 都必須有一定配合!
Software Development 嘅歷史話比我地知,Monolithic Application 係非常難 Maintain,令到維護成本極高;其中一個 出路就係 Micro-Service 。
Microservice
Micro? 其實究竟有幾 Micro? 究竟有乜野好處?阿 Gap 可以分享一下一啲經驗/ 見到感受到嘅好處:
- Low Risk, 能夠於兩個星期內將一個 Micro-Service 成個剷底重寫 - 點解係一個好處?因為有時候當設計上有大改動或有選擇錯誤,選擇以 (2.) 重練比起「改一爛三」更為有效率!
- 能夠用最合適嘅技術 / 前人已經 Well-Tested 啲現成 Project,以最高 Productivity 嘅姿態進行開發 - 例如話,以 NodeJs Express 作為基礎做 Authentication Service 然後再 Proxy Request 到後面嘅 JVM/ Python / Ruby/ PHP based 嘅 User Service
- 絕對 Decouple / 絕對 Modular - 分工、測試、知人善任更加容易。
- Low Deploy Overhead ;輕鬆 Containerize
聽過啲 Monolithic Application 百幾萬行 Code,連 Deploy 緊急 Hotfix 都要誰諗過、度過、拖過Overhead 甚大!
其實有啲 Code 基本上寫好咗可能幾個月/兩三年都唔會郁。 Micro-Service 可以淨係 Deploy 改過嘅 Service, Deploy 上 Production 能以每日計
.... 遲啲開文再講待續😂
自從互聯網興起,Software Engineering 從來唔受任何地域限制,唔好因為「香港無人咁做」而去拒絕學習香港少人用嘅新技術。 他日機會黎到嘅時候,損失嘅永遠係自己🙄
送兩句格言比大家
Everyone wants to win, but very few want to prepare to win.
#眼界決定境界
#大趨勢大方向小概念
#OpenStack
#Kubernetes