ทำไมต้อง Container ?

kasidesh
Kasidesh
Published in
1 min readFeb 18, 2017

ยุคก่อนอินเตอร์เน็ต ซอฟท์แวร์อยู่ในเครื่องของผู้ใช้ เรียกว่า Client (native software)

ยุคแรกของอินเตอร์เน็ต ซอฟท์แวร์เริ่มมีการเชื่อมต่อระหว่าง Server , Client เช่นเราโหลด program chat มาติดตั้ง และคุยกันผ่านอินเตอร์เน็ต ผ่านโปรโตคอลต่างๆ

ยุคอินเตอร์เน็ตเฟื่องฟู ทุกอย่างที่เคยเป็น native desktop software ถูกย้ายไปอยู่บน browser เกือบหมด ไม่ว่าจะเป็น home use, organization use เริ่มจากไม่ต้องติดตั้ง mail client อีกต่อไปสามารถใช้ hotmail, gmail ได้เลย

ยุคของการใช้งาน Server ในรูปแบบต่างๆในยุคอินเตอร์เน็ตเฟื่องฟู ทั้งก่อนและหลังมี smart phone/tablet

  • มี Server -> ลง OS -> ลง Application ไม่ว่าจะเป็น Database, Web Server ต่าง
  • มี Server -> ลง OS -> ลง Virtual Machine-> ลง OS บน Hypervisor -> ลง Application บน OS ที่อยู่บน Hypervisor
  • Cloud Provider -> มี Physical Server -> ลง Virtual Machine -> ปล่อยให้ผู้ใช้งานเช่า

ยุคใหม่/ยุคของ Container

  • มี Physical Server -> ลง OS -> ลง Container Engine -> ลง Application บน container

แก้ปัญหาอะไร/ดีกว่ายังไง

  • ช่วยให้เตรียมเครื่องสำหรับ dev ได้เร็วขึ้น
  • หมดปัญหาเรื่อง environment ไม่ตรงกัน ระหว่าง เครื่อง develop, staging, production ทำให้การ build, ship, run ทำได้เร็วขึ้นกว่าเดิมเยอะมาก
  • version framework, dependency issues
  • deliver ได้ไวขึ้น ตามแนวทางสมัยใหม่ ที่ต้อง deliver ถี่ๆ ทุกๆ sprint, ทุกๆ เดือน
  • ใช้งาน container เบากว่า VM มาก (ไม่กินทรัพยากรโดยไม่จำเป็นบน VM ที่ต้องมี OS ก่อนจะมี Application)

--

--