รู้จัก 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 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

ในตอนนี้ 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 Summit ที่ผ่านมา มีผู้ค้าระดับโลกอย่าง Walmart ได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่ามันสามารถสร้างความสำเร็จมหาศาลได้ นอกจากนี้ OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, Paypal, Comcast, Time Warner Cable และ Bestbuy ส่วนทาง NASA เองก็เป็นอีกหนึ่งผู้กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโ

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

 

OpenStack Training การลงทุนที่ได้มามากกว่ากำไร

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

ซึ่งเราต้องมาทำความรู้จักกับ OpenStack  กันคร่าวๆ ก่อนว่าจริงๆ แล้วคืออะไรกันแน่

ก่อนอื่นเลยต้องบอกว่าจุดเริ่มต้นของ OpenStack มาจากโครงการขององค์กรขนาดใหญ่ระดับโลกอย่าง NASA และ Rackspace โดยความหมายคร่าวๆ ของ OpenStack  คือระบบ Cloud Operating แบบ Open Source ที่ทำหน้าที่บริหารจัดการทรัพยากรด้าน Compute, Storage, Networking ของ Data Center ให้ทำงานออกมาได้อย่างมีประสิทธิภาพสูงสุด โดยในการทำงานของ OpenStack จะแบ่งการทำงานออกเป็น Module ต่างๆ ซึ่ง Module เหล่านั้นจะมีหน้าที่ในการทำงานที่แตกต่างกันออกไป เพื่อให้ง่ายต่อการบริหารจัดการทรัพยากรในแต่ละด้าน และคงไว้ซึ่งประสิทธิภาพการทำงานของระบบให้สูงที่สุด

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

OpenStack Training สำหรับบุคคลทั่วไปที่มีความสนใจเกี่ยวกับเรื่องนี้ โดยการศึกษาค้นคว้า และประยุกต์การใช้งานระบบ IT ในรูปแบบต่างๆ ด้วย RackJumper Cloud ซึ่งถูกพัฒนาด้วยเทคโนโลยี Cloud Platform by OpenStack ที่จะสามารถนำเอาความรู้ที่ได้ไปพัฒนาตนเองต่อไปในอนาคต

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

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