รู้จัก OpenStack แบบง่ายๆ ก่อนเริ่มใช้ Cloud


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

รู้จัก Ecosystem ของ OpenStack

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

ต้องเข้าใจก่อนว่า OpenStack ไม่ใช่ Hypervisor แต่ถูกสร้างเพื่อทำงานร่วมกับ 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 (indentity 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 ในฐานะแพลตฟอร์มแบบ Open source


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

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




Create Date : 24 พฤศจิกายน 2560
Last Update : 24 พฤศจิกายน 2560 16:05:00 น.
Counter : 465 Pageviews.

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

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

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

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



พฤศจิกายน 2560

 
 
 
1
4
5
9
10
11
12
18
19
25
26
27
28
29
30
 
 
All Blog