OpenStack คือ Cloud Operating System แบบ Open Source
ทำหน้าที่บริหารจัดการทรัพยากรด้าน Compute , Storage , Networking ของ Data Center ให้มีประสิทธิภาพในการทำงานสูงที่สุด แบ่งการทำงานออกเป็น Module ต่างๆ ซึ่งมีหน้าที่การทำงานที่แตกต่างกัน เพื่อความง่ายในการบริหารจัดการทรัพยากรในแต่ละด้าน และคงไว้ซึ่งประสิทธิภาพสูงสุดในการทำงานของระบบ
คุณสมบัติเด่นของ OpenStack ดังต่อไปนี้
- OpenStack Compute (code-name Nova)
- OpenStack Networking (code-name Neutron)
- OpenStack Object Storage (code-name Swift)
- OpenStack Block Storage (code-name Cinder)
- OpenStack Identity (code-name Keystone)
- OpenStack Image Service (code-name Glance)
- OpenStack Dashboard (code-name Horizon)
- OpenStack Telemetry (code-name Ceilometer)
- OpenStack Orchestration (code-name Heat)
- OpenStack Database (code-name Trove)
- OpenStack Data Processing (code-name Sahara)
- OpenStack Bare-Metal Provisioning (code-name Ironic)
Nova Module เป็นพื้นฐานของการทำงานในส่วน Compute ของ OpenStack แบ่งการทำงานออกเป็น 2 ส่วน คือ ส่วนการทำงาน API และ Compute Worker ซึ่งทั้ง 2 ส่วนนี้ ทำหน้าที่ควบคุมการประมวลผลการทำงานต่างๆ ของระบบ
Neutron Module เป็นพื้นฐานของการทำงานในส่วน Network ของ OpenStack ผสานการทำงานของ Physical Network ต่างๆ เพิ่มประสิทธิภาพการทำงานด้วยคุณสมบัติ Network Management ด้วยเทคนิคการทำงานของ Virtual Interface ในรูปแบบต่างๆ ไม่ว่าจะเป็น Router , Switch , Network Interface Card หรือ Firewall
Swift Module เป็นพื้นฐานของการทำงานในส่วน Storage ในรูปแบบ Object Storage ของ OpenStack ที่มาพร้อมคุณสมบัติ Scalability, Redundancy และ Durability โดยพัฒนาโครงสร้างการจัดเก็บข้อมูลต่างๆ ตามประเภทของข้อมูล เช่น Images, Photo Storage, Email Storage, Backups และ Archives พร้อมทั้งการบันทึกข้อมูลต่างๆ แบบ Multiple Disks
Cinder Module เป็นพื้นฐานของการทำงานในส่วน Storage ในรูปแบบ Block Storage ของ OpenStack ซึ่งเป็นการทำงานร่วมกับ Nova Module โดยลักษณะการทำงานของ Cinder Module สามารถแบ่งออกได้ 2 รูปแบบ คือ 1. แบบ Ephemeral เป็นลักษณะการเก็บข้อมูลชั่วคราว ซึ่งข้อมูลเหล่านั้นจะหายไปทันที เมื่อมีการหยุดการทำงานของ Instance , 2. แบบ Persistant เป็นลักษณะการเก็บข้อมูลแบบถาวร ซึ่งข้อมูลเหล่านั้นจะไม่สูญหายไป แม้ว่า Instance จะกำลังทำงานอยู่ หรือยุติการทำงานไปแล้ว
Keystone Module เป็นระบบพื้นฐานที่ใช้ในการจัดการสิทธิ์การใช้งานแต่ละ Module ของ OpenStack โดยจะดำเนินการตรวจสอบสิทธิ์การใช้งาน Module ของผู้ใช้ เพื่อระบุตัวตน และความสามารถในเรียกใช้งานแต่ละ Module ของผู้ใช้ ช่วยเพิ่มประสิทธิภาพด้านเสถียรภาพและความปลอดภัยของ OpenStack
Glance Module จัดเป็นระบบ Stored Images ของ OpenStack ทำหน้าที่จัดเก็บ Server Image ต่างๆ ที่จัดเตรียมไว้เพื่อรองรับความต้องการใช้งาน Server Image ของระบบ ไม่ว่าจะเป็นการค้นหา บันทึก หรือ เรียกใช้ อีกทั้งความสามารถในการ Copy หรือ Snapshot Disk และ Server Image รวมทั้งการจัดเก็บข้อมูลแบบ Object Storage อีกด้วย
Horizon Module จัดเป็นระบบ Dashboard ที่ OpenStack พัฒนาขึ้น เพื่อให้ผู้ดูแลระบบ และผู้ใช้ สามารถบริหารจัดการทรัพยากรด้าน Compute , Storage , Networking ได้อย่างมีประสิทธิภาพ
Ceilometer Module จัดเป็นระบบที่ OpenStack ได้ทำการออกแบบมา เพื่อเก็บรวบรวมข้อมูลการใช้งานในด้านต่างๆ และชี้วัดประสิทธิภาพการทำงานของทรัพยากรระบบ เพื่อประเมินความต้องการใช้ทรัพยากรระบบจากการใช้งานของผู้ใช้ นำมาซึ่งการพัฒนาปรับปรุง เพิ่มประสิทธิภาพและคุณภาพในการทำงานของระบบ
Heat Module จัดเป็น Template-Driven Engine ที่อนุญาตให้ผู้พัฒนาโปรแกรมสามารถ ตั้งค่า/ปรับแต่ง Template โครงสร้างของทรัพยากรแต่ละด้าน (Compute , Storage และ Networking) เพื่อรองรับการใช้งาน Cloud Application ของผู้ใช้ ซึ่งรวมไปถึงคุณสมบัติ Autoscaling เมื่อนำ Heat Module และ Ceilometer Module มาทำงานร่วมกัน อีกทั้งยังสามารถตั้งค่า Scaling Group ของทรัพยากรของแต่ละ Template
Trove Module จัดเป็น Database as a Service (DBaaS) ที่พัฒนาขึ้นให้เหมาะสมกับการทำงานของ OpenStack ด้วยเป้าหมายที่จะให้ผู้ใช้สามารถใช้งาน Relational Database และ Non-Relational Database ได้อย่างรวดเร็วและง่ายดาย ปราศจากความยุ่งยากและซับซ้อนในการจัดการระบบฐานข้อมูล ซึ่งผู้ใช้และผู้ดูแลระบบสามารถที่จะจัดการและเรียกใช้ฐานข้อมูลหลายๆ ฐานข้อมูลพร้อมกัน ตามความต้องการใช้งาน