Container เหมาะกับ Cloud อย่างไร

เมื่อกล่าวถึง Cloud เราก็จะนึกไปถึง Hypervisor และ Virtual Machine ที่เป็น Virtualization องค์ประกอบสำคัญของ Cloud โดย Virtualization เต็มรูปแบบซึ่งพื้นฐานนั้นมาจาก Hypervisor-Based ที่ซึ่งพวก Host Operating System และ Hypervisor จะรันชิ้นส่วนของ VM อย่าง Independent Server ด้วย OS ของตน และ Middleware ทั้งนี้การ Virtualization ได้สร้างขอบเขตของระบบที่มีค่ามากใน Cloud และรูปแบบการ Virtualization ที่เป็นที่นิยมอยู่ตอนนี้ก็คือ Container Technology นั่นเอง

แม้ว่า Docker Container จะไม่ได้ขาด IT Support แต่ข้อจำกัดที่ยังต้องพึ่งพา Linux ทำให้จุดยืนของ Docker ในวงการ Cloud ดูไม่ค่อยชัดเจนเท่าไหร่นัก

ในการทำงานของ Container ตัว Server จะรัน OS ที่สร้าง Container แบบกึ่งอัตโนมัติเพื่อรองรับ Application ต่างๆ โดย Application พวกนี้จะแชร์การใช้งาน OS หรือ Host ร่วมกัน ทำให้ Server ไม่ต้องรัน OS ใหม่สำหรับแต่ละ VM และ รองรับการทำงาน Multi-Programming ได้ง่ายขึ้น รวมทังแบ่ง Application ออกจากกันได้ ถึงอย่างนั้นก็ยังไม่ใช่การแยกออกเป็นเอกเทศอย่างสิ้นเชิงเหมือนกับ VM

อาจกล่าวได้ว่าเทคโนโลยี Container เป็นคำตอบที่เหมาะสำหรับ Private Cloud และ Application บางอย่างของ Public Cloud โดยมี Container ยอดนิยม อย่าง Docker เป็น Platform ที่เพอร์เฟ็กต์ที่สุด

กระแสนิยม Docker ใน Cloud

Docker เป็นระบบจัดการ Container (Container Management System) อย่างหนึ่ง ที่จัดการการสร้าง Container อย่างอัตโนมัติเพื่อใช้รัน Application หรือ Component ต่างๆ โดยพื้นฐานแล้ว จะมีชุด API สำหรับจัดการ Container ที่อาจสร้างมาจากTemplate หรือ Command ซึ่งตอนนี้ Docker ก็มีการพัฒนาอยู่ตลอด ออก Orchestration Tool สำหรับ Deploy Component เพิ่มเข้ามาให้ใช้ง่ายได้ง่ายและสะดวกยิ่งขึ้น

ที่จริงแล้วการสร้างระบบ Container-Based จะทำบน OS แบบไหนก็ได้ที่รองรับการ Partition แบบ Container แต่ Docker กลับใช้ Linux Container Tool ดังนั้น Docker Container จึงรันเฉพาะ Application และ Component ของ Linux เท่านั้น แม้จะสามารถรันบน OS อื่นได้ แต่ก็ยังต้องการ Linux Guest OS ติดตั้งไว้ใน VM เพื่อรองรับการทำงานของ Container ซึ่งแน่นอนว่ามันก็ต้องรัน Application ของ Linux อีกเช่นกัน

ส่วนการรองรับ Docker ของ Windows จะเป็นการทำงานแบบที่ใช้ Docker ติดตั้งเอาไว้ใน VM (Docker-in-a-VM Approach) ซึ่งการนำ Docker มาใช้นอก Linux Host นั้นมีความยุ่งยากมาก ทำให้ผู้ใช้หลายคนรู้สึกว่าความยากมันมากเกินกว่าจะช่วยให้ทำงานได้สะดวกขึ้นอย่างที่ควร ต่อให้ผู้ใช้จะรัน Docker บน Host OS อื่นที่ไม่ใช่ Linux แต่สุดท้ายมันก็มีข้อจำกัดว่าต้องใช้ Application ของ Linux อยู่ดี อย่างไรก็ตามการ Host Docker Container บน Server ของ Windows ก็ยังถือว่าเหมาะสมกับผู้ใช้ที่มี Windows Server ขนาดใหญ่และต้องการเพิ่ม Linux-Based Application เข้าไป

ทางด้าน VM-based Virtualization และ Cloud Computing จะมีข้อได้เปรียบตรงความเป็นเอกเทศ เหมาะกับการทำ Public Cloud และ Server Consolidation อย่างยิ่ง โดยการสร้าง Application สำหรับใช้บน Cloud นั้น แทนที่จะย้าย Application จะช่วยลดความจำเป็นของการ Support ความเป็นเอกเทศในระดับนี้ลงไป

กลุ่มองค์กรสามารถ Host Container บน VM ใน Public Cloud หรือ Host ใน Data Center หรือกระทั่งบน Client Device ก็ได้ โดยใช้ Orchestration Tool ใหม่ของ Docker ในการ Deploy Container-Based Component รวมทั้งประสานการทำงานกับ Workflow แถม Tool พวกนี้ยังช่วยให้ใช้งาน Hybrid Cloud ได้สะดวกด้วยระบบ Failover ที่ใช้งานง่ายกว่าเดิม

ด้วยความเล็กและการทำงานอย่างรวดเร็วของ Container ทำให้สามารถ Scale จำนวน Load หรือ เพิ่ม/ลด Feature ได้ตามต้องการ อีกทั้ง Machine Image ที่ต้องใช้ Load โครงสร้าง Container ลงไปบน Bare-Metal หรือ VM ก็ง่ายต่อการพัฒนาระบบ และสามารถ Port ได้สะดวกอีกด้วย ตัว Application Image ที่ต้องติดตั้งลงไปใน Container ก็สามารถพัฒนาและสั่ง Deploy ได้ง่ายเช่นเดียวกัน โดยพึ่งการทำงานของ Host OS และ Middleware Service

Docker เป็นที่นิยมมากขึ้นเรื่อยๆ แต่ยังห่างไกลคำว่าเพอร์เฟ็กต์

ถึงจะได้รับความนิยมอย่างล้นหลามแต่ Docker ก็ไม่ได้สมบูรณ์แบบ ทำให้ VM ยังคงเป็นคำตอบที่ดีที่สุดสำหรับ Application ใน Public Cloud ที่มีผู้เช่าใช้เป็นจำนวนมาก เพราะว่าการเจาะระบบ VM เพื่อโจมตี Application นั้นทำได้ยากกว่าโจมตีที่ตัว Container นอกจากนี้ Docker ยังไม่ค่อยมีระบบป้องกันการดึงทรัพยากรไปใช้เกินจำเป็นของ Container จนส่งผลกระทบต่อเครื่องอื่นๆ และเพื่อบรรเทาปัญหาพวกนี้ จึงต้องรัน Container และ Docker ภายใน VM ซึ่งนับว่าเป็นพื้นฐานของการใช้งาน Docker และ VM ร่วมกัน

นอกจากนี้ ยังมีอีกวิธีหนึ่ง คือ การปรับ VM ให้ทำงานคล้ายกับ Container เรียกว่า “Mini-VM” เช่น การที่ Xen Mirage ใช้ Shim Kernel ที่มีความเป็นเอกเทศกับกับ Application อยู่บ้าง แต่จะเลี่ยงการคัดลอก OS และ Middleware ทั้งหมด

ส่วนการตัดสินใจว่าจะเลือกใช้ Container หรือ VM ดีนั้น ต้องดูจากโครงสร้างของ Application และ Source ซึ่ง Monolithic Application ที่สร้างขึ้นมาด้วย Server Consolidation จะมีขนาดใหญ่และไม่ยืดหยุ่น ใช้ประโยชน์จาก Container ได้ไม่มาก Application ที่เหมาะกับเทคโนโลยี Container คือ พวกที่มีพื้นฐานมาจาก SOA/REST เพราะ Application พวกนี้มีขนาดเล็ก กระจายตัวได้หลากหลาย ย้ายไปมาระหว่าง Cloud ได้ รวมทั้งสามารถ Scale อย่างต่อเนื่อง หรือรันการทำงานแบบเป็นช่วงๆ ได้ อย่างไรก็ดีการเลือกรันการทำงานด้วย Linux Container ก็คือการตัดสินใจเลือกใช้ Docker ไปโดยปริยาย

เทคโนโลยี Container และบทบาทของ Docker ในระบบ Cloud Computing มีแนวโน้มจะเติบโตอย่างต่อเนื่อง โดยเฉพาะเมื่อ Application ใหม่ๆ สำหรับ Cloud โดยเฉพาะได้รับการพัฒนาออกมาอยู่เรื่อยๆ นานวันเข้าก็จะมีการทำงานร่วมกันระหว่าง Docker กับ VM มากขึ้น Orchestration Tool คุณภาพสูงจะช่วยให้ผู้ใช้สามารถสั่งใช้งาน Component ใน Container หรือ VM หรือกระทั่ง Container ภายใน VM ก็ยังได้ ซึ่งเทคโนโลยีไม่ว่าจะเป็นอะไรก็ตาม จะไม่เกิดขึ้นมาเพื่อลบล้างการใช้งานของเทคโนโลยีเดิม แต่พวกมันจะทำงานร่วมกันเพื่อนำมาซึ่งประสิทธิภาพสูงสุดต่างหาก

OpenStack Liberty

OpenStack Liberty เวอร์ชั่นปัจจุบัน เวอร์ชั่น 12 ของ Open Source Software เพื่อสร้าง Public, Private และ Hybrid Cloud ด้วยนวัตกรรมใหม่ และเพิ่มเติมการทำงานที่ครอบคลุมเทคโนโลยี Data Center ที่ทำให้ OpenStack กลายเป็น Integration Engine ยอดนิยมสำหรับผู้ให้บริการ Cloud และกลุ่มองค์กรที่กำลังใช้งาน Cloud อยู่ตอนนี้

 

จากการสนับสนุนของผู้พัฒนาอิสระกว่า 1,933 คน และจากอีก 164 องค์กรใหญ่ ทำให้ OpenStack Liberty มีระบบควบคุมการทำงานที่ละเอียดและเหนือชั้นยิ่งกว่าเดิม อีกทั้งเพิ่มประสิทธิภาพสำหรับการ Deployment ขนาดใหญ่ และมี Tools รองรับการจัดการ Container ใน Production Environment อีกด้วย

 

Feature ใหม่ของ Liberty

ระบบการจัดการประสิทธิภาพสูง

หลายคนต้องการให้มีระบบการตั้งค่าที่ดีขึ้น และระบบ Library ร่วม (Common library adoption) ตอนนี้ OpenStack 12 ถูกพัฒนาแล้ว นอกจากนี้ยังมีการเพิ่ม Role-Based Access Control (RBAC) เพื่อใช้งานร่วมกับ Heat orchestration และ Neutron networking รวมทั้งเปิดให้ปรับ Security Setting อย่างเต็มรูปแบบอีกด้วย

ระบบปรับแต่งเรียบง่าย

OpenStack ได้รับการตอบรับอย่างดี เป็นที่นิยมในการใช้ระบบสร้าง Cloud ทั้ง Public และ Private อย่างแพร่หลาย เหล่า User จึงการต้องการรองรับ Deployment ขนาดใหญ่ ซึ่งใน Liberty ได้มีการพัฒนาด้านประสิทธิภาพการแสดงผล และมีความเถียรมากขึ้น ติดตั้ง Application Nova Cells v2 ในตัว สามารถรองรับการ Deployment ขนาดใหญ่ และการ Deployment พร้อมกันในหลายพื้นที่ (Multi-location compute deployment) ยังเพิ่มศักยภาพการปรับแต่ง (Scalability) และการทำงานของ Horizon dashboard, Neutron networking, และ Cinder block storage

รองรับเทคโนโลยีใหม่ๆ

OpenStack เป็น Open Source Platform เดียวที่รองรับการจัดการ 3 เทคโนโลยีหลักๆ ของระบบ Cloud ทั้ง Virtual Machine, Container และ Bare Metal Instance ทั้งยังเป็นที่นิยมในการใช้งานร่วมกับระบบ NFV (network functions virtualization) ขององค์กร โดย OpenStack Liberty ได้เพิ่มศักยภาพการทำงานทั้งสองด้าน ด้วยฟีเจอร์ตัวใหม่ อย่าง Nova compute scheduler, QoS Framework และระบบ LBaaS (Load Balancing as a Service) ที่ดียิ่งกว่าเดิม

ระบบจัดการ Container ตัวใหม่

ในระหว่างการพัฒนา Liberty ระบบ Magnum Container ระบบจัดการ Container ตัวใหม่ที่รองรับการทำงานร่วมกับ Kubernetes, Mesos และ Docker Swarm ก็ได้เปิดตัวขึ้น และเมื่อนำ Magnum มาใช้ร่วมกับบริการที่มีอยู่เดิมของ OpenStack อย่าง Nova, Ironic, และ Neutron จะช่วยให้จัดการ Container ได้ง่ายกว่าเดิม นอกจากนี้ยังมีโปรเจกต์ Kuryr ซึ่งถูกวางแผนให้เข้ามาเสริมประสิทธิภาพ โดยทำงานกับส่วนของ Container networking อย่าง libnetwork ได้โดยตรง

Orchestration

Heat Orchestration ได้เพิ่มระบบจัดการทรัพยากรใหม่เข้าไปมากมาย รวมทั้งระบบอัตโนมัติ และการรองรับความสามารถใหม่ๆ ของ Liberty เพิ่มความสามารถการจัดการและการ Scale ซึ่งรวมด้านการเข้าถึง API เพื่อเช็คว่ามี Resource หรือ Action ไหนพร้อมใช้งานได้บ้าง โดยทั้งหมดนี้มาพร้อมกับ RBAC ติดตั้งในตัว

 

Private Cloud แหล่งเก็บข้อมูลความปลอดภัยสูง ตอบโจทย์ทุกองค์กร

Private Cloud คือรูปแบบหนึ่ง ของ Cloud Computing ส่วนประกอบคือ Cloud Based Environment ที่แยกออกอย่างชัดเจน พร้อมกับมีการรักษาความปลอดภัยอย่างดีเยี่ยม ถือได้ว่าเหมาะกับองค์กรเป็นอย่างมาก ซึ่งผู้เข้าถึงได้จะต้องได้รับอนุญาติก่อนเท่านั้น

โดยทั่วไประบบ Private Cloud จะถูกจำแนกออกจาก Cloud รูปแบบอื่น จากการที่มีผู้เข้าถึงได้เพียงแค่องค์กรเดียวเท่านั้น เพื่อรักษาข้อมูลที่เป็นความลับของแต่ละองค์กร ซึ่งถือว่ามีความปลอดภัยที่สูงกว่าในระดับปกติ แตกต่างกับการบริการ Public Cloud ที่ให้ผู้ใช้งานหลายๆ คนเข้าถึงได้ นอกจากนั้น Private Cloud จะใช้วิธีดึงทรัพยากรจากแหล่งที่แยกออกมาต่างหาก โดยอาจติดตั้งอยู่ภายในหรือภายนอกก็ได้เช่นกัน

กล่าวคือระบบการรักษาความปลอดภัยที่มีมาตรฐานสูงในระดับนี้ ถือว่าเหมาะกับกลุ่มองค์กรที่มีการเก็บข้อมูลที่เป็นส่วนตัวไว้ค่อนข้างมาก และมีความละเอียดอ่อนค่อนข้างสูง เพื่อไม่ให้ถูกรุกล้ำทางข้อมูลได้โดยง่าย

ถ้าจะพูดถึงฟีเจอร์หรือประโยชน์ของ Private Cloud  ก็คงจะมีหลายอย่าง วันนี้เราจึงจะมาพูดถึงข้อหลักๆ ที่จะทำให้คุณไม่ควรพลาด Private Cloud ด้วยประการทั้งปวง

มีความปลอดภัยและความเป็นส่วนตัวสูง ด้วยเทคโนโลยีที่มีแหล่งทรัพยากรแยกออกมาต่างหาก ทั้งยังจำกัดสิทธิ์การเข้าถึงของผู้ใช้งาน และต้องเชื่อมต่อจากภายในระบบขององค์กรเท่านั้น ทำให้มีความปลอดภัยของข้อมูลที่ค่อนข้างสูง

ควบคุมได้มากขึ้น เนื่องจากบริการ Private Cloud สามารถเข้าถึงได้โดยองค์กรเพียงองค์กรเดียวเท่านั้น ทางองค์กรจึงสามารถจัดการจากภายในได้อย่างเต็มที่ เพื่อให้ได้การใช้งานที่เหมาะสมกับองค์กรมากที่สุด

ใช้ต้นทุนและพลังงานอย่างคุ้มค่า Private Cloud สามารถเพิ่มประสิทธิภาพในการจัดสรรทรัพยากรในองค์กรได้โดยตรง ถึงแม้ว่าจะประหยัดงบประมาณได้ไม่เท่า  Public Cloud แต่ Private Cloud ก็มีประสิทธิภาพมากกว่าระบบ LANs แบบเก่า เพราสามารถลดรายจ่ายส่วนที่ไม่ได้ใช้งาน และช่วยให้องค์กรสามารถลด Carbon ที่จะออกมาสู่ชั้นบรรยากาศได้อีกทางหนึ่งอีกด้วย

มีความน่าเชื่อถือสูง เพราะหากระบบเกิดความเสียหาย บริการ Private Cloud สามารถดึงทรัพยากรจาก Server ที่ไม่ได้รับความเสียหายมาใช้งานได้ นอกจากนั้น หาก Cloud ถูก Host จากผู้ให้บริการบุคคลที่สาม ก็สามารถมั่นใจได้ว่าจะได้รับความปลอดภัยแน่นอน

ระบบ Cloud Bursting ผู้ให้บริการ Private Cloud บางรายจะมีบริการ Cloud Bursting เสริมเข้ามา เผื่อกรณีที่มี Traffic สูงขึ้นมากะทันหัน ซึ่งบริการนี้ทำให้ผู้ใช้สามารถย้ายฟังก์ชันที่ไม่ได้เป็นความลับ หรือข้อมูลสำคัญอะไรไปยัง Public Cloud ชั่วคราวได้ เพื่อเพิ่มพื้นที่ให้กับข้อมูลสำคัญ โดย Private Cloud สามารถทำงานร่วมกับ Public Cloud เพื่อสร้าง Hybrid Cloud ขึ้นมา เพื่อเพิ่มประสิทธิภาพการทำงานได้อย่างสูงสุด

Private Cloud ถือว่าเป็นบริการที่มีประโยชน์กับองค์กรทั้งขนาดเล็ก และขนาดใหญ่ ด้วยเหตุที่มีทั้งความเป็นส่วนตัว และมีความปลอดภัยสูง ถือว่าเป็นเทคโนโลยีหนึ่งที่ควรมีไว้ในองค์กรเป็นอย่างมาก