จากบทความ 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 ที่น่าสนใจ