จะเลือกใช้ Cloud กับอะไรดี ระหว่าง Containers หรือ VMs


          ในปัจจุบันการใช้งาน Cloud Computing มักจะอิงกับระบบ Virtual Machine เป็นส่วนใหญ่ แต่หลังจาก Container เริ่มเข้ามามีบทบาทจึงพบว่าส่งผลดีต่อผู้ใช้งาน Cloud ยิ่งกว่าเดิม อย่างไรก็ตามก่อนที่จะเลือกใช้เทคโนโลยีใดแทนที่อีกเทคโนโลยีหนึ่งนั้น ควรจะต้องเข้าใจรูปแบบการทำงานและความแตกต่างระหว่างเทคโนโลยี  ในที่นี้ก็คือ Container และ VM ว่าแบบใดจึงจะเหมาะสมที่สุดกับ Cloud แต่ละแบบ อาทิ Private, Public, หรือ Hybrid Cloud โดยคำตอบจะขึ้นอยู่กับ 3 ปัจจัยหลักๆ ดังนี้

1. ความแตกต่างด้านฟังก์ชั่นของ Container และ VM

2. ระดับความพึ่งพาซึ่งกันและกันระหว่าง Private Cloud และ Public Cloud

3. ความต้องการปรับแต่ง Cloud Platform ของตัวผู้ใช้เอง

              VM และ Container ต่างก็เสนอทางเลือกคนละแบบในการสร้าง Virtual Resource สำหรับรัน แอปพลิเคชัน โดย VM จะมี ซอฟต์แวร์ระบบพิเศษ ที่เรียกว่า Hypervisor แบ่ง Server ในระดับที่ลึกกว่า OS เพื่อสร้าง "Virtual Machine" ของจริง โดยแชร์การใช้งานกันแค่ตัวฮาร์ดแวร์ เท่านั้น ส่วน Container จะมีการสร้างขึ้นมาในระดับ OS ทำให้มีการแชร์ OS และ Middleware บางอย่างร่วมกัน

ในเชิงฟังก์ชั่น VM  จะมีความยืดหยุ่นมากกว่าด้วย Guest Environment ที่รัน Application มีคุณสมบัติคล้ายกับเป็น Bare-Metal Server ผู้ใช้เองสามารถเลือก OS และ Middleware ที่ต้องการได้ โดยไม่ต้องขึ้นอยู่กับสิ่งที่ VM อื่นๆ บน Server ตัวเดียวกันกำลังใช้งาน แต่ด้าน Container จะต่างออกไป ผู้ใช้จำเป็นต้องมี OS และองค์ประกอบ Middleware สำหรับใช้งานร่วมในตอนที่เลือกแอปพลิเคชัน เนื่องจาก Container แต่ละตัวมีการแชร์ Core Server Platform เดียวกัน   สำหรับองค์กรที่ใช้ Software Platform ขนาดใหญ่รันแอปพลิเคชัน  อาจจะนำ Container มาใช้ได้ยาก เพราะจำเป็นต้องมีการทำมาตรฐานและปรับมาเป็น Single Host Platform แต่ต่อให้จะมีการจะรันบน OS เดียวกันอยู่แล้ว  ผู้ใช้อาจยังต้องปรับแต่งให้ทุกอย่างสามารถใช้งาน Middleware Tool เวอร์ชั่นเดียวกันได้  ซึ่งแน่นอนว่ายุ่งยากทีเดียว โดยเฉพาะเมื่อบาง Software อาจมีความต้องการ Tool เจาะจงเป็นเวอร์ชั่นใดเวอร์ชั่นหนึ่งเท่านั้น  ในทางกลับกัน การใช้งาน Container ทำให้เกิด Overhead ได้น้อยกว่า VM เพราะ Container จะไม่คัดลอกหรือ Duplicate ตัว Platform Software สำหรับทุก Application หรือ Component ที่สั่ง Deploy ทำให้สามารถรัน Component ในหนึ่ง Server ได้มากขึ้น นอกจากนี้ Container ยังทำให้ Deploy หรือ Redeploy ตัว Application รวมทั้ง Component ได้เร็วขึ้นและด้วยความที่ Container มักจะถูก Deploy ผ่าน Management Platform เช่น Docker การจัดการ Cloud แบบ Container-based จึงง่ายกว่าการจัดการ Cloud แบบ VM-based ที่มี Management Tool


Container หรือ VM ดีสำหรับ Public, Private, Hybrid Cloud?

ผู้ใช้จะสามารถดึงเอาประโยชน์ของ Container มาอย่างมีประสิทธิภาพเมื่อนำมาปรับใช้ใน Private Cloud และสำหรับผู้ประกอบธุรกิจที่มี OS และ Middleware ที่เป็นมาตรฐานของตนแล้ว การใช้งาน Private Cloud แบบ Container-based ก็ดูจะเป็นกลยุทธ์ที่ดีที่สุด ถึงอย่างไรก็ตาม Container อาจก่อให้เกิดปัญหาใน Public หรือ Hybrid Cloud ซึ่งในกรณีนี้ VM จึงเป็นทางเลือกที่ดีกว่า ตัวอย่างเช่น ทุกๆ องค์กรมักจะประสบปัญหาว่า Container Host Service ใน  Public Cloud หายากกว่า VM Service และแม้ว่าผู้ให้บริการ IaaS บางราย เช่น AWS จะให้บริการ Container ด้วย แต่บริการนี้มักจะเป็นเพียง Overlay ของบริการ IaaS หรือเป็นบริการเฉพาะสำหรับ ผู้ใช้ Dedicted Server หรือ Cluster Hosting เท่านั้น ผิดกับ VM ที่ไม่ว่าใครก็สามารถปรับใช้  ผ่านบริการ Public IaaS ได้ ไม่ซับซ้อนมากนักเท่ากับ Container ทั้งด้านการติดตั้ง และการทำงาน ซึ่ง Container Networking จะปรับแต่งให้เข้ากับ Public Cloud ได้ยากกว่า

เราสามารถสร้างความคุ้นเคยกับ Container Technology ได้ดีที่สุด คือ เริ่มจากใช้งานในแบบ Private Environment ก่อนจากนั้นค่อยย้ายไปเป็นแบบ Public  ซึ่งตัวผู้ใช้งานเองควรมีความรู้เกี่ยวกับ Container ว่ามันทำงานยังไง และมีอะไรบ้างที่ Container ต้องการในการทำงาน ก็จะช่วยให้สามารถเลือกวิธีการ,เครื่องมือ และผู้ให้บริการที่เหมาะสมได้

ซึ่ง Container Management Tool อย่าง Docker และ Cloud Foundry เป็นสิ่งจำเป็นต่อการทำงานของ Container เพราะฉะนั้นควรนำมาลองใช้แล้วตัดสินใจดูว่า แบบไหนจะตอบโจทย์หรือเข้ากับการทำงานได้ดีที่สุด  ถ้าใครกำลังอยู่ระหว่างตัดสินใจเลือกใช้ VM หรือ Container ก็ขอให้เช็คดูให้แน่ใจว่าแบบไหนที่สามารถตอบโจทย์การใช้งานของท่านได้มากกว่ากัน


  "Docker Container"




Create Date : 20 ตุลาคม 2560
Last Update : 20 ตุลาคม 2560 15:23:44 น.
Counter : 696 Pageviews.

0 comments
ชื่อ :
Comment :
 *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

สมาชิกหมายเลข 3872753
Location :
  

[ดู Profile ทั้งหมด]
 ฝากข้อความหลังไมค์
 Rss Feed

 ผู้ติดตามบล็อก : 1 คน [?]



ตุลาคม 2560

1
2
7
8
13
14
15
17
18
21
22
23
26
27
28
29
30
 
 
All Blog