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

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

ปัจจุบัน OpenStack ได้รับความนิยมมากขึ้นเรื่อยๆ อย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก ในฐานะ Open Source สำหรับ Private Cloud แต่อะไรทำให้ OpenStack มีความโดดเด่นเกินหน้าเกินตาคู่แข่งรายอื่นอย่าง Amazon EC2 กันล่ะ? บทความนี้จะพาคุณไปทำความรู้จักกับ OpenStack และเปิดเผยองค์ประกอบเด่นๆ ของมันกัน

OpenStack ในฐานะแพลตฟอร์มแบบ Open source

NASA และ Rackspace เป็นผู้เริ่มต้นพัฒนา OpenStack ก่อนจะเปิดเป็น Open source ให้เหล่าโปรแกรมเมอร์สามารถนำไปพัฒนาต่อได้ตามต้องการ โดยตรวจสอบ Source code ได้ทาง GitHub ทั้งนี้พวกโปรแกรมเมอร์ผู้พัฒนาระบบ OpenStack เองก็ทำงานให้กับองค์กรใหญ่ที่นำ OpenStack ไปใช้ด้วยเหมือนกัน เช่น Rackspace และ PayPal เป็นต้น

นอกจากนี้ ยังมีโปรเจ็คเกี่ยวกับ OpenStack อีกหลายโครงการ ซึ่งส่วนมากก็เป็นโปรเจ็คเฉพาะด้าน เช่น การติดตั้งแบบ bare-metal ผู้ที่สนใจจะเรียนรู้เกี่ยวกับการใช้งาน OpenStack หรือจะทดลองใช้ ทาง OpenStack ก็มี Development Version ให้ลองเล่นกันได้โดยนำไปติดตั้งบน Ubuntu Linux หรือจะใช้ OpenStack Autopilot wizard ในการสั่ง Deploy ก็ได้ ส่วน Source code ก็ไม่จำเป็น เพราะ OpenStack สามารถหาได้จาก Python package โดยใช้ Tools ชื่อ apt-get ในการติดตั้ง

รู้จัก Ecosystem ของ OpenStack

สิ่งที่เหมือนกันของ OpenStack กับ Amazon EC2 คือ ผู้ใช้สามารถ Provision VM จาก dashboard หรือ API ได้ แต่ข้อแตกต่างหลักๆ นอกจากเรื่องที่ OpenStack เป็นบริการฟรี คือ Amazon EC2 เป็นบริการ Public Cloud เท่านั้น ส่วน OpenStack ผู้ใช้สามารถเลือกได้ว่าจะใช้เป็นบริการ Private Cloud ของ OpenStack เอง หรือจะสมัครไปใช้ Public Cloud จากตัวแทนผู้ให้บริการของ OpenStack ก็ได้

OpenStack ในความจริงไม่ใช่ Hypervisor แต่ OpenStack เป็นโครงสร้างที่ถูกสร้างขึ้นมาเพื่อทำงานร่วมกับ Hypervisor ที่แตกต่างกันหลายๆ เครื่อง โดย User สามารถเลือกได้ว่าจะ Deploy Hypervisor บนตัวเครื่อง (machine) หรือบน OS ที่ built-in มากับ Hypervisor เช่น Linux KVM เป็นต้น นอกจากนี้ OpenStack ยังทำให้ User สามารถนำ VM ไปติดตั้งบน Bare-Metal Server (เซิร์ฟเวอร์สำหรับผู้ใช้คนเดียว) ได้อีกด้วย

Component หลักของ OpenStack

  • Horizon (Dashboard) : เป็น User Interface (UI) แบบ Web-based
  • Nova (Compute) : ประกอบด้วย Controller และ Compute Nodes ที่ดึง VM image มาจาก OpenStack image service และสร้าง VM บนเซิร์ฟเวอร์ที่เราต้องการ โดยมี APIs ที่แตกต่างกันตามแต่ Platforms เช่น XenAPI, VMwareAPI, libvirt for Linux KVM (QEMU), Amazon EC2, และ Microsoft Hyper-V เป็นต้น
  • Neutron (Networking) : สำหรับสร้าง Virtual Network และ Network Interface อีกทั้งยังทำหน้าที่เชื่อมต่อกับ Networking Products จากตัวแทนผู้ให้บริการอื่นๆ
  • Swift (Object storage) : มีหลักการทำงานเหมือน Amazon S3 โดยจะบันทึกข้อมูลแบบเดี่ยว อย่าง Image เก็บไว้โดยใช้ระบบ REST Web service
  • Cinder (Block storage) : คล้ายกับ Swift โดยจะเก็บ disk file ต่างๆ เช่น Log และเปิดให้เราสามารถเพิ่มเติมข้อมูลเข้าไปได้ ในขณะที่ Swift จะให้เก็บแทนที่ของเดิมเท่านั้น
  • Keystone (identity storage) : เป็นตัวคำสั่งที่เปิดให้ User และ Process สามารถเข้าถึง Tools ต่างๆ ของ OpenStack ได้โดยสร้าง Autentication Token ขึ้นมา
  • Glance (Image service) : เป็นตัวหลักของ OpenStack ในฐานะ Cloud Operating System คือ การสร้าง VM image ขึ้นมา โดย Glance คือแคตตาล็อครวม VM ที่เราอัพโหลดเอาไว้และเปิดให้ใช้กันภายในองค์กร
  • Trove (database server) : เป็นตัวสนับสนุนการทำงานของ Database ที่ต่างกัน

นอกจากนี้ Component พวกนี้ของ OpenStack ยังใช้ MySQL database ที่หลากหลาย สามารถทำงานร่วมกับ Python รวมทั้งใช้ Command line interface ของ Python ได้อีกด้วย ตัวอย่างเช่น

คำสั่งดาวน์โหลด Keystone จากเซิร์ฟเวอร์ Linux ที่เก็บข้อมูลเอาไว้แบบ Public

apt-get install keystone python-keystoneclient

คำสั่งสร้าง User บน Keystone

keystone user-create –name Sam –description “Sam”

คำสั่งลิสต์ชื่อ VM images ด้วย Nova

nova image-list

คำสั่งเปิด Python Shell ก็ทำได้ง่ายๆ แค่พิมพ์ Python แล้วตามด้วย

from keystoneclient.v2_0 import client

หรือถ้าใครไม่คล่อง Python CLI (Command Line Interface) จะสลับไปใช้ Dashboard แบบคลิกก็ได้เหมือนกัน

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 ติดตั้งในตัว

 

นิยามใหม่ OpenStack Cloud

ถ้าพูดถึง Public Cloud เราก็คงนึกถึง Amazon Web Service (AWS) เพราะเป็นอันดับต้นๆ ของตลาด แต่ถ้าพูดถึง OpenStack เราก็จะนึกถึง Private Cloud ที่รองรับการทำงาน Private Cloud ได้ดีที่สุดในเวลานี้

โดยอาจกล่าวได้เลยว่าไม่มี Cloud Technology Platform ใดๆ ที่จะได้รับการสนับสนุนได้มากเท่า OpenStack ซึ่ง OpenStack นั้นเกิดมาจากการร่วมมือกันของ NASA และ Rackspace ในปี 2010 ก่อนที่จะมีการเติบโตขึ้นในฐานะ Open source ซึ่งมีผู้ให้การสนับสนุนมากมาย ทั้ง HP, IBM, Intel, Cisco, Dell, EMC, VMware, Symantec, Huawei, และ Yahoo

ใครใช้ OpenStack บ้าง?

          ผู้ให้การสนับสนุนจำนวนมากเหล่านี้ เป็นเพียงแค่ครึ่งหนึ่งของจำนวนผู้ใช้งาน OpenStack เท่านั้น ซึ่งภายในงาน OpenStack Summit ที่ Vancouver ที่ผ่านมา ผู้ค้าระดับโลกอย่าง Walmart ได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่าสามารถสร้างความสำเร็จมหาศาลได้อย่างไร นอกจากนี้ OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, Paypal, Comcast, Time Warner Cable และ Bestbuy ส่วนทาง NASA เองก็ถือว่าเป็นอีกหนึ่งสาวกผู้ที่กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโนโลยีพามนุษย์ไปสู่ดาวอังคารนั่นเอง

เมื่อเราพอจะมองเห็นภาพกว้างๆ แล้วว่า OpenStack ถูกใช้โดยใครและใช้ทำอะไรบ้างแล้วนั้น ต่อมาก็จะต้องมาทำความเข้าใจกันหน่อยว่าแท้จริงแล้ว OpenStack ไม่ใช่ Homogeneous Cloud Product หรือผลิตภัณฑ์ Cloud ที่อยู่ภายใต้ผู้ให้บริการรายเดียวแบบเสร็จสรรพ ตั้งแต่ Hypervisor ยัน Management Layer (* อ้างอิงจาก http://www.bmc.com/blogs/what-price-homogeneity/) และ OpenStack ก็ไม่ใช่ผลิตภัณฑ์ Virtualization Hypervisor แต่อย่างใด

OpenStack นั้นเป็นเพียงแพลตฟอร์มผสานการทำงาน หรือ Integration Platform เท่านั้น โดย OpenStack จะเป็น Framework ที่มาพร้อมกับ API และ Tool สำหรับ Cloud Service พวก Product และ Technology ต่างๆ จะถูก Integrate และ Deploy ภายใน Framework นี้ เพื่อสร้าง OpenStack Cloud ขึ้นมา

ผู้ให้บริการบิดเบือนความหมายของ Cloud

ความหมายที่แท้จริงของ Cloud ได้ถูกบิดเบือนไปโดยเหล่าผู้ให้บริการ เพื่อให้เข้ากับจุดประสงค์การขายสินค้าของตน และสำหรับ Cloud ของ OpenStack นั้น จะขอยึดเอาตามคำจำกัดความจาก Amandeep Singh Juneja ผู้เป็น Senior Director ด้าน Cloud Engineering ที่ Walmart Labs คือ “Cloud นำมาซึ่งความยืนหยุ่นและการทำงานอย่างต่อเนื่องของระบบ Infrastructure”

ทั้งนี้ทั้งนั้นทาง OpenStack เองก็ได้นำเสนอ Framework ที่จะทำให้ ระบบ Infrastructure ทำงานได้อย่างต่อเนื่องและยืดหยุ่นเช่นเดียวกัน

นิยามใหม่ของ OpenStack Cloud

แรกเริ่มเดิมที OpenStack มีอยู่ 2 โปรเจ็กต์ได้แก่ Nova Compute Project และ Swift Storage ซึ่ง Nova จะทำให้ Cloud Operator สามารถเลือกการ Deploy ได้จาก Hypervisor และ Virtualization Technology หลายๆ แบบ ไม่ว่าจะ ESX ของ VMware, Open Source อย่าง KVM และ Xen Hypervisor หรือกระทั้ง Hyper-V ของ Microsoft ก็สามารถนำมา Deploy ใน Nova ได้เช่นกัน

หลังจากนั้น OpenStack ก็ได้ขยาย Project โดยการเพิ่มโปรเจ็กต์ใหม่ๆ เข้าไปภายใต้สิ่งที่รู้จักกันในชื่อ OpenStack Integrated Release สำหรับ OpenStack Kilo ที่ปล่อยออกมาไม่นานนี้ มีการผสานรวมหลายๆ โปรเจ็กต์เข้าด้วยกัน ซึ่งได้แก่ Nova compute, Swift object storage, Cinder block storage, Keystone identity, Horizon dashboard, Glance image, Neutron networking, Trove database, Sahara Big Data, Heat orchestration, Ceilometer monitoring และ Ironic Bare Metal projects

ความท้าทายของ Integrated Release ก็คือ ในการใช้งาน OpenStack Cloud เราไม่ได้ใช้สิ่งที่อยู่ใน Integrated Release ครบทั้งหมด เริ่มด้วย Liberty Release ที่จะทำให้เกิดนิยามใหม่ขึ้นสำหรับ OpenStack แล้วไหนจะ DefCore Project ส่วนสำคัญที่ต้องเข้าไปอยู่ใน Cloud เพื่อให้สามารถเรียกได้ว่าเป็น OpenStack Cloud นอกจากนี้ยังมี Big Tent ซึ่งเต็มไปด้วยสารพัดโปรเจ็กต์ให้ผู้ใช้หรือผู้ให้บริการ Cloud ได้เลือกสรร

ทั้งนี้ Big Tent ได้เปลี่ยนคำนิยามของ OpenStack Cloud ไปเสียหมด ทั้งเรื่องที่ OpenStack Cloud คืออะไร และสามารถทำอะไรได้บ้าง นั่นหมายความว่า Liberty ที่ปล่อยออกมาก็จะสร้างความแตกต่างมหาศาลให้กับ OpenStack เช่นเดียวกัน อย่างไรก็ตาม DefCore ยังคงเป็นส่วนที่ขาดไม่ได้ ทั้ง Keystone Identity service และ API เพราะ Keystone คือตัวเปิดการทำงานของ Federated Identity หรือ การพิสูจน์ตัวตนแบบรวมศูนย์ ใน OpenStack Cloud ด้วยไอเดียที่จะให้ OpenStack Foundation กลายมาเป็น OpenStack Powered Planet คือ ให้เกิดศูนย์กลางการใช้งาน OpenStack ทั่วโลกนั่นเอง

 

OpenStack พร้อมนำ Liberty มาสู่ Cloud

เมื่อพูดถึง Public Cloud หลายคนคงนึกถึง  Amazon Web Service (AWS) เพราะถือว่าเป็นผู้คลองตลาด Public Cloud แต่ถ้าพูดถึง Private Cloud คงหนีไม่พ้น OpenStack ซึ่งเป็น Open Source ที่รองรับการทำงาน Private Cloud ได้ดีที่สุด

พูดได้เลยว่าไม่มี Cloud Technology Platform ใดๆ ได้รับการสนับสนุนและถูกนำมาใช้งานมากเท่า OpenStack ซึ่ง OpenStack นั้นเกิดจากการร่วมมือของ NASA และ Rackspace ในปี 2010 ก่อนจะเติบโตขึ้นในฐานะ Open Source โดยมีผู้ให้การสนับสนุนมากมาย ทั้ง HP, IBM, Intel, Cisco, Dell, EMC, VMware, Symantec, Huawei, และ Yahoo

ใครใช้ OpenStack บ้าง?

ผู้ให้การสนับสนุนที่กล่าวไปข้างต้นเป็นเพียงแค่ส่วนหนึ่งของจำนวนผู้ใช้งาน OpenStack เท่านั้น เพราะในความเป็นจริง OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, PayPal, Comcast, Time Warner Cable และ BestBuy ส่วนทาง NASA เองก็เป็นอีกหนึ่งสาวกผู้กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโนโลยีพามนุษย์ไปสู่ดาวอังคาร นอกจากนี้ภายในงาน OpenStack Summit ที่ Vancouver ในปี 2015 ที่ผ่านมา ผู้ค้าระดับโลกอย่าง Walmart ยังได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่ามันสามารถสร้างความสำเร็จมหาศาลได้อย่างไร

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

ไม่ใช่ผลิตภัณฑ์ Virtualization Hypervisor, Homogeneous Cloud Product หรือผลิตภัณฑ์ Cloud ที่อยู่ภายใต้ผู้ให้บริการรายเดียวแบบเสร็จสรรพ ตั้งแต่ Hypervisor ยัน Management Layer (* อ้างอิงจาก http://www.bmc.com/blogs/what-price-homogeneity/) แต่อย่างใด

OpenStack เป็นเพียงแพลตฟอร์มผสานการทำงาน หรือ Integration Platform เท่านั้น โดย OpenStack จะเป็น Framework ที่มาพร้อมกับ API และ Tool สำหรับ Cloud Service พวก Product และ Technology ต่างๆ จะถูก Integrate และ Deploy ภายใน Framework นี้ เพื่อสร้าง OpenStack Cloud ขึ้นมา

ผู้ให้บริการบิดเบือนความหมายของ Cloud

      ปัจจุบันนี้ความหมายของ Cloud ผุดขึ้นมาราวกับดอกเห็ด สาเหตุหลักเพราะผู้ให้บริการจงใจบิดเบือนความหมายเพื่อจะขายสินค้าของตน ดังนั้นในบทความนี้จะขอยึดเอาคำจำกัดความจาก Amandeep Singh Juneja ผู้เป็น Senior Director ด้าน Cloud Engineering ที่ Walmart Labs ที่ได้กล่าวไว้ว่า Cloud ของ OpenStack นั้น หมายถึง “การนำมาซึ่งความยืนหยุ่นและการทำงานอย่างต่อเนื่องของระบบ Infrastructure” ทั้งนี้ OpenStack เองก็ได้นำเสนอ Framework ที่จะทำให้ ระบบ Infrastructure ทำงานได้อย่างต่อเนื่องและยืดหยุ่นเช่นเดียวกัน

นิยามใหม่ของ OpenStack Cloud

ในจุดเริ่มต้นของ OpenStack เดิมทีมีอยู่เพียงแค่ 2 โปรเจ็กต์คือ Nova Compute Project และ Swift Storage ซึ่ง Nova จะทำให้ Cloud Operator สามารถเลือกการ Deploy ได้จาก Hypervisor และ Virtualization Technology หลายๆ แบบ ไม่ว่าจะ ESX ของ VMware, Open Source อย่าง KVM และ Xen Hypervisor หรือกระทั้ง Hyper-V ของ Microsoft ก็สามารถนำมา Deploy ใน Nova ได้เช่นกัน

แต่พอหลังจากนั้น OpenStack ก็ได้ขยายการพัฒนา โดยการเพิ่มโปรเจ็กต์ใหม่ๆ เข้าไปภายใต้สิ่งที่รู้จักกันในชื่อ OpenStack Integrated Release สำหรับ OpenStack Kilo ที่ปล่อยออกมาเมื่อเดือนเมษายน ปี 2015 มีการผสานรวมหลายๆ โปรเจ็กต์เข้าด้วยกัน ได้แก่ Nova compute, Swift object storage, Cinder block storage, Keystone identity, Horizon dashboard, Glance image, Neutron networking, Trove database, Sahara Big Data, Heat orchestration, Ceilometer monitoring และ Ironic Bare Metal projects

ความท้าทายของ Integrated Release ก็คือ ในการใช้งาน OpenStack Cloud เราไม่ได้ใช้สิ่งที่อยู่ใน Integrated Release ครบทั้งหมด เริ่มด้วย Liberty Release ที่จะทำให้เกิดนิยามใหม่ขึ้นสำหรับ OpenStack แล้วไหนจะ DefCore Project ส่วนสำคัญที่ต้องเข้าไปอยู่ใน Cloud เพื่อให้สามารถเรียกได้ว่าเป็น OpenStack Cloud นอกจากนี้ยังมี Big Tent ซึ่งเต็มไปด้วยสารพัดโปรเจ็กต์ให้ผู้ใช้หรือผู้ให้บริการ Cloud ได้เลือกสรร

ทั้งนี้ Big Tent ได้เปลี่ยนคำนิยามของ OpenStack Cloud ไปเสียหมด ทั้งเรื่องที่ OpenStack Cloud คืออะไร และสามารถทำอะไรได้บ้าง นั่นหมายความว่า Liberty ที่ปล่อยออกมาก็จะสร้างความแตกต่างมหาศาลให้กับ OpenStack เช่นเดียวกัน อย่างไรก็ตาม DefCore ยังคงเป็นส่วนที่ขาดไม่ได้ ทั้ง Keystone Identity service และ API เพราะ Keystone คือตัวเปิดการทำงานของ Federated Identity หรือ การพิสูจน์ตัวตนแบบรวมศูนย์ ใน OpenStack Cloud ด้วยไอเดียที่จะให้ OpenStack Foundation กลายมาเป็น OpenStack Powered Planet คือ ให้เกิดศูนย์กลางการใช้งาน OpenStack ทั่วโลกนั่นเอง

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

 

Cloud training by Nipa Technology

จากบทความ รู้จักคลาวด์ คลังเก็บข้อมูลช่วยคุณเดินหน้าธุรกิจ ก่อนหน้านี้ ทำให้หลายท่านเริ่มเข้าใจแล้วว่า Cloud (คลาวด์) มีหน้าที่ทำอะไร? แต่นั่นแหละคำถามที่ตามมาก็คือ แล้วระบบ คลาวด์ ตัวนี้สามารถศึกษาได้จากที่ไหนบ้าง วันนี้เราจึงมีสิ่งดีดีที่อยากจะนำมาฝากทุกท่าน Cloud training by Nipa Technology เปิดประสบการณ์ใหม่ไปกับเราได้ที่นี่ครับ


Cloud training by Nipa Technology ด้วยประสบการณ์ที่สั่งสมมานาน มากกว่า 5 ปี ทำให้เรากลายเป็นผู้เชี่ยวชาญในเรื่องของ Cloud (คลาวด์) และได้เปิด คอร์สการเรียนการสอน Cloud training by Nipa Technology ขึ้นมา เพื่อตอบโจทย์ให้กับกลุ่มคนรุ่นใหม่ไฟแรงที่อยากเรียนรู้จาก ผู้เชียวชาญที่มีประสบการณ์การทำงานจริง มาแชร์เรื่องราวเกี่ยวกับระบบ Cloud (คลาวด์) ที่มีคุณภาพและถูกอัดแน่นไปด้วยความรู้ทางด้าน Cloud (คลาวด์) โดยคอร์สที่บริษัทเปิดนั้นคือ Cloud training by Nipa Technology การันตีด้วยผลตอบรับที่มีผู้คนให้ความสนใจ มากถึง 15,000 คน รวมไปถึงความสนใจจากบริษัทแนวหน้าของประเทศไทย ที่เข้าร่วมในงานสัมมนา Cloud training by Nipa Technology มากถึง 100บริษัท นั่นแสดงให้เห็นว่า ในอีกไม่กี่ 10 ปีข้างหน้า Cloud training by Nipa Technology จะช่วยตอบโจทย์การทำธุรกิจ ไม่ว่าจะเป็นตั้งแต่ ธุรกิจ StartUp, ธุรกิจSME หรือแม้กระทั่ง Agency จากองค์กรชั้นนำระดับโลก ต้องเข้าใจในการทำงานของระบบ Cloud (คลาวด์) อย่างลึกซึ้ง เพื่อเป็นการลดต้นทุนในการใช้จ่ายที่ไม่จำเป็นและดึงเอาประสิทธิ์ภาพของระบบ Cloud (คลาวด์) ให้ออกมาใช้งานได้มากที่สุดกับเงินที่ลงทุนไปนั่นเอง


ดังนั้น คอร์สการเรียนการสอน Cloud training by Nipa Technology จึงเป็นจุดประกายเล็กๆและทำให้ท่านเข้าใจในระบบ Cloud (คลาวด์) อย่างแท้จริง เผยสิ่งทีคุณไม่เคยรู้มาก่อน พร้อมทั้งมาแชร์ปัญหาต่างๆที่เกิดขึ้นกับระบบของท่านให้เราได้แล้ววันนี้ Cloud training by Nipa Technology เข้าใจธุรกิจเข้าใจคลาวด์

 

Cloud Computing เทคโนโลยีสมัยใหม่แห่งอนาคต

Cloud คือเทคโนโลยีที่เริ่มต้นมาจากการทำ Virtualization ซึ่งถูกพัฒนาขึ้นจนให้ผู้ใช้งานสามารถให้บริการตัวเองได้ บริการคลาวด์ไม่ใช่เพียงแค่พื้นที่ฝากไฟล์ไว้บนอินเทอร์เน็ต แต่ครอบคลุมถึงการให้ใช้กำลังในการประมวลผล หน่วยความจำ และพื้นที่การจัดเก็บข้อมูล คลาวด์ช่วยลดต้นทุน ประหยัดเวลา และยังเพิ่มพื้นที่ในการจัดเก็บข้อมูลได้มากขึ้น โดยมีบริการคลาวน์ 3 รูปแบบใหญ่ๆ ดังนี้

1.Software as a Service (SaaS) เป็นการให้บริการคลาวด์ด้านซอฟต์แวร์หรือแอพพลิเคชั่น ผ่านทางอินเทอร์เน็ต ช่วยทำให้ประหยัดค่าใช้จ่าย ไม่ต้องเสียเงินจ้างทำระบบคอมพิวเตอร์ สามารถใช้ได้ทุกพื้นที่ไม่จำกัด ยกตัวอย่างที่เห็นได้ชัดที่เราใช้เป็นประจำ เช่น Gmail Google Docs หรือ Google app โดยการใช้งานไม่จำเป็นต้องติดตั้งซอฟต์แวร์ลงบนเครื่อง สามารถใช้งานผ่าน Cloud ได้เลย สามารถทำที่ไหนหรือใช้คอมพิวเตอร์เครื่องไหนก็ได้ หรือสามารถแชร์งานกับเพื่อนๆ ได้

2.Platform as a Service (PaaS) การให้บริการด้าน Platform การบริการจะมีการเตรียมข้อมูลเพื่อพัฒนา Software และ Application เอาไว้ให้เรียบร้อย สามารถไปใช้ได้เลย ช่วยลดต้นทุนและประหยัดเวลาที่ใช้ในการพัฒนาซอฟท์แวร์ เช่น Google App Engine, Web Application, Snapchat เป็นต้น

3.Infrastructure as a Service (IaaS) การให้บริการโครงสร้างพื้นฐานด้านไอที ( Infrastructure) และระบบการจัดเก็บข้อมูลขององค์กร (Storage) เพื่อรองรับการใช้งาน Software และ Application เช่น บริการ Cloud storage อย่าง DropBox ซึ่งให้บริการพื้นที่เก็บข้อมูล

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