จากบทความ De-cloud and de-k8s — bringing our apps back home
ที่ทาง 37signals ทำการย้ายระบบที่อยู่บน cloud
ไปยัง data center/server ของตัวเอง
โดยเท่าที่อ่านพบว่า ไม่ใช่แค่การย้ายเท่านั้น
แต่ยังรวมไปถึงการจัดการ dependency
แก้ไข code
การสร้างเครื่องมือสำหรับการย้าย และ deploy
และ update software ต่าง ๆ อีกด้วย
เริ่มที่ผลของการเปลี่ยนแปลง ประกอบไปด้วย
- แน่นอนว่าต้องลดค่าใช้จ่าย
- ลดความซับซ้อนของ infrastructure ลง
- ปรับปรุง deployment strategy
- ปรับปรุงการ provisioning ให้เร็วขึ้น
- ลดเวลาในการ deploy ลงไปอีก เหมือนได้มาทำความสะอาดบ้านใหม่
- ทำการ refactoring code ทำให้ code clean ขึ้น ส่วนที่ไม่ได้ใช้ก็เอาออกไป ลด code ไปได้เยอะ
- ปรับปรุงและ upgrade สิ่งต่าง ๆ เช่น version mysql ที่ใช้งาน และ configuration ต่าง ๆ
ในมุมมองของ tools ที่ใช้งาน
- ใช้ Docker อยู่แล้ว
- CDN มาใช้ Cloudflare
- Logging ใช้ ELK stack และ Filebeat อยู่แล้ว
- CI/CD มาใช้ GitHub Actions
- Databasae ใช้ Percona MySQL 8 ซึ่งทำการ migrate data จาก RDS มาด้วย
- Provisioning ใช้ Chef
- เปลี่ยนมาใช้งาน Redis สำหรับการ share ข้อมูล
- ในการ deploy ทำการสร้าง tool ขึ้นมาใช้เองเรียกว่า MRSK :: deploy webapp everywhere
เป็นอีก case study ที่น่าสนใจ