Version 6 (modified by jazz, 2 years ago) (diff) |
---|
Lessons Learned
Network
- 跨不同 Data Center 的資訊架構要特別留意 data pipeline 會受制於 bandwidth / latency ,而且要額外規劃 high availability
Docker
- Docker 的精神是傾向單一 image 可以維持 stateless (至少要確保 state 存放於外部 storage 中)
Fluentd
- 前提:不熟悉 Ruby 的開發團隊
- Fluentd 比較合適用在 input source 不是開發團隊可以控制,只能取得 log / syslog 等的場景 (扮演黏著不同 Data Pipeline 的角色)
DNS
- Azure Traffic Manager 是認 DNS Server 的位置,不是 Client 裝置的位置
時區
- 由於不容易確保 Infra 的 default timezone 都有正確改到,最好在 Application Layer 也實作
- Java -Duser.timezone=
字集
- 確保讀寫都用 UTF-8
產品生命週期
併購 & 知識管理
- 場景:大公司併購小公司,產品從小公司 migrate 到大公司的資料中心或公有雲。
- 痛點:原開發團隊核心開發者離開,若沒有妥善交接,欠缺知識管理,維運團隊後續維運起來會很痛苦(因為很多事情都是黑盒子,無從得知過去為何會那樣開發,技術細節更不是單看程式碼就可以馬上理解。遇到緊急狀況,無法快速技術排除)。