คลังเก็บป้ายกำกับ: OpenStack

ทำไม Cloud ถึงมีแนวโน้มเติบโตขึ้นเรื่อยๆ

Cloud ไม่ใช่เทคโนโลยีใหม่ เพราะในปัจจุบันมีคนเริ่มรู้จัก และเข้าใจเรื่องเกี่ยว Cloud Computing กันมากขึ้นแล้ว ยิ่งเดี๋ยวนี้ Cloud เข้าใกล้ตัวเรามากขึ้น ทำให้ Cloud Computing มีแนวโน้มพัฒนา และเติบโตเรื่อยๆ โดยสาเหตุที่เป็นปัจจัยหลักของการทำให้ Cloud เติบโตอย่างทุกวันนี้และมีแนวโน้มจะเติบโตเรื่อยๆ ก็คือ ความเร็ว และระบบของ Internet นั่นเอง

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

หากใครมีความสนใจ อยากรู้เรื่อง Cloud Computing แบบละเอียดมากขึ้นทาง Nipa Cloud ได้มีการจัดอบรม Cloud ในหลักสูตร Cloud Computing Fundamentals อยู่นะคะ โดยการอบรม Cloud ครั้งนี้ เรามุ่งเน้นในการพัฒนามุมมองทางธุรกิจ และมีการให้ความรู้ ความเข้าใจพื้นฐานของ Cloud Computing และ OpenStack ด้วยนั่นเอง โดยสามารถเข้าไปดูรายละเอียดของหลักสูตรเพิ่มเติมได้ที่ https://training.nipa.cloud/cc101-2/ เลยนะคะ

รู้จัก 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 ขึ้นมาเท่านั้น