คำว่า Docker

สวัสดีครับวันนี้ขอมาเสนอคำว่า Docker
เพื่อนๆ คงสงสัยว่า Docker คืออะไร ไม่เคยเห็นไม่เคยคิด ( ผมก็เช่นกัน อีโมติคอน squintมันกินได้ที่ไหนละนั่น ) พอดีผมได้โจทย์จากบริษัทแห่งหนึ่งที่ผมเป็น Vendor ให้กับบริษัทแห่งหนึ่ง มีโลโก้สีแดง มีสี่ตัวอักษร ซึ่งให้โจทย์มาว่าให้ push os + config server + code ของโปรจค ให้อยู่ในรูปแบบของ Docker ถึงกับงงไปเป็นแถบ แต่ก็ศึกษามาจนถึงขั้น ใช้เป็น และเข้าใจข้อจำกัดต่างๆ ของ Docker และ จึงอยากมาแชร์ให้ สาธุชนทั้งหลาย ได้รู้จัก ให้เข้าใจคำว่า Docker ว่ามันจะมาในอนาคตแน่ๆ ผมคิดว่าน่ะ
ผมขออนุญาติสรุป ตามความเข้าใจผมน่ะครับถูกผิดไม่รู้ รู้แค่ว่าใช้แล้วมันเวิค์ก โอเคตามนี้น่ะครับ ( อีโมติคอน squint เผด็จการฟุดๆ )
1. Docker คือ vmware ที่สามารถใช้ทรัพยากรของเครื่อง Server ร่วมกัน ไม่มีการ กำหนดขนาดของ CPU , HDD , Memory ให้กับ images ก้อนใดก้อนหนึ่ง สรุปง่ายๆ คือ มันใช้ io ของ server ร่วมกับ เครื่อง Host นั่นเอง
2. Docker มีประโยชน์ ยังไง ? เหมาะสำหรับงานที่ต้องการมีหลาย ๆ service เช่น apache , nginx , mysql , memcache , redis , อื่นๆ อีกมากมาย คือเอาง่ายๆ ก็อยากมีหลายๆ service รันอยู่ในเครื่องเดียวกัน มันก็เหมือนกับ vmware นั่นแหละ แต่ว่ามันจะรันหลาย ๆ port เอาเช่น apache 80 , docker apache 81 เป็นต้น
3. Docker ให้ใครใช้ ? ก็เหมาะสำหรับทีม อะไรก็ได้ที่ยุ่งกับ Server ( Programmer , System Admin , DevOps ) ซึ่งจะช่วยให้ไม่ต้องปวดหัวเรื่อง สเป็กเซอร์เวอร์อีกต่อไป เพราะแชร์ทรัพยากรเครื่องทั้งหมดร่วมกัน หลายคนคงสงสัยว่ามันดีอย่างไรที่มันแชร์ร่วมกัน ยกตัวอย่างง่ายๆ เช่น ถ้าเป็น vmware เราคงไม่สามารถให้ vmware1 มี ram 8gb ที่เหลือใช้ มาแบ่งให้กับ vmware2 ที่มี ram 2gb ที่ไม่พอใช้ได้แน่ๆ เพราะ vmware2 จะใช้ ram 2gb ก็บางเวลา ไม่ใช่ตลอดเวลา แต่ไอเจ้า Docker มันไม่มีการ limit ram ให้กับ service ใด service หนึ่ง มันใช้ร่วมกัน ( ช้าร่วมกัน เอ้ยไม่ใช่ดิ เร็วร่วมกัน ^-^ )
4. Docker แพงไหม ? แพงน่ะครับผมว่า แพงเวลา เพราะว่าคุณต้องเรียนรู้เพราะว่ามันใหม่มาก แต่ Docker เป็น Free Service ครับ โหลดแล้วลงโล้ด
5. Docker เลวเอ้ยเร็วแค่ไหน ? ก็เหมือนเรามี Service เพิ่มก็เร็ว ตามจำนวน Service ครับ ผมมองว่า มันอาจจะไม่ได้เร็วมากมาย แต่มันจะทำให้ User ทุกคน สามารถใช้บริการที่มีความเร็วเท่า ๆ กัน โดยไม่ต้องรอคิวของ process ครับ คล้ายๆ กับการทำ load balance ให้กับ Service นั่นเองครับ
6. Docker มีข้อเสียไหม ? ของทุกอย่างย่อมมีข้อดีข้อเสียครับต้องเลือกให้เหมาะกับงาน Docker ต้องการใช้ Hdd ครับ มันเลยไปอ่วมที่ Hdd แทนยิ่งมีการ run docker หลายๆ service Hdd ก็จะมีการ read/write ถี่ขึ้น จนทำให้ service docker ทั้งหมดช้าได้ วิธีการแก้ไขใน พ.ศ. นี้ก็ง่ายๆ คือเปลี่ยน Hdd เป็น SSD ซ่ะหรือไม่ก็ใช้ Flash Disk เอาหรืออยากหล่ออยากเทห์ ก็ Raid SSD ซ่ะเลย ก็น่าจะแก้ปัญหาจุดนี้ได้

ของดีเลยเอามาบอกต่อครับ จากความเห็นส่วนตัวและการใช้งานจริง ไม่มีการ relate บทความใดๆ ทั้งสิ้น ถูกผิดไม่รู้ รู้แค่ว่าใช้มาแล้วจึงบอกต่อครับ
ขอบคุณที่แวะมาอ่านครับ
// JACK

jQueryTips