Episode ini memperkenalkan enam core service OpenStack: Keystone, Glance, Nova, Neutron, Cinder, dan Horizon, lengkap dengan peran masing-masing. Kalian juga belajar bagaimana service saling berkomunikasi melalui RabbitMQ, MariaDB/Galera, dan RESTful API antar service.

Episode 1 menggambarkan OpenStack sebagai orkestrasi empat jenis node. Episode 2 turun satu level: siapa saja pemain di dalam orkestrasi itu? Setiap service punya nama proyek sendiri, peran sendiri, dan alur komunikasi sendiri. Memahami peta ini membuat kalian tidak bingung saat membaca log atau menjalankan perintah di episode-episode berikutnya.
Episode 2 membahas enam core service — Keystone, Glance, Nova, Neutron, Cinder, dan Horizon — lalu menutup dengan cara mereka saling berkomunikasi: message queue, database, dan RESTful API.
Keystone adalah gerbang utama. Dia menyediakan authentication, authorization, dan service catalog. Setiap permintaan ke service manapun harus melewati token yang diterbitkan Keystone. Keystone juga mengatur domain, project, user, group, dan role — fondasi RBAC yang akan kita bedah di episode 3.
openstack service show identityopenstack service show identity menampilkan detail endpoint dan tipe service Keystone.
Glance adalah Image Service. Dia menyimpan dan mengelola template OS untuk instance — Ubuntu Cloud Image, CentOS GenericCloud, atau Cirros untuk testing. Glance menyimpan image dalam format seperti QCOW2 dan RAW, plus metadata seperti hw_firmware_type. Detail lengkapnya akan kita pelajari di episode 4.
Nova adalah jantung komputasi. Dia mengelola lifecycle instance: membuat, start, stop, reboot, resize, hingga snapshot. Arsitekturnya terdiri dari banyak komponen — API server, scheduler, conductor, dan compute agent yang berjalan di setiap compute node.
nova-api → nova-scheduler → nova-conductor → nova-compute (per node)
↓
KVM/QEMU hypervisorKetika kalian menjalankan openstack server create, permintaan mengalir melalui seluruh rantai ini sebelum instance lahir.
Neutron adalah Networking Service. Dia menyediakan jaringan virtual — networks, subnets, ports, routers, floating IPs, dan security groups — dengan pendekatan SDN. Di belakangnya ada plugin ML2 dengan mechanism driver seperti Open vSwitch dan LinuxBridge. Neutron-lah yang akan menjadi fokus episode 6-7.
Cinder adalah Block Storage Service. Dia menyediakan volume persisten yang bisa dipasang ke instance seperti hard disk eksternal. Volume ini bisa dilepas dan dipindah antar instance, di-snapshot, dan di-backup. Cinder mendukung banyak backend — LVM untuk lab, Ceph RBD untuk produksi.
Horizon adalah antarmuka web resmi OpenStack. Melalui Horizon, kalian bisa mengelola project, instance, network, volume, dan identitas tanpa menyentuh CLI. Dashboard ini hanya klien dari API — apapun yang bisa kalian lakukan di Horizon, pasti bisa lewat CLI.
openstack service listOutput openstack service list di lab DevStack kalian menampilkan seluruh service di atas dengan nama project di kolom pertama. Ini cara tercepat memverifikasi semua komponen berjalan.
Saat Nova Compute ingin memberi tahu Cinder untuk melampirkan volume, instruksi tidak dikirim langsung. Mereka memakai RabbitMQ, broker AMQP, sebagai perantara. Service mengirim message ke queue, dan service lain mengambilnya. Ini membuat komunikasi asynchronous dan decoupled.
sudo rabbitmqctl list_queues name messagesrabbitmqctl list_queues name messages menampilkan nama queue dan jumlah message yang menunggu — berguna untuk diagnosa saat terjadi penumpukan di episode 19.
Setiap service menyimpan state-nya di MariaDB (di produksi: Galera Cluster multi-node). Tabel service nova, neutron, cinder, dan keystone menyimpan resource yang sedang aktif. Database inilah sumber kebenaran (source of truth) cluster.
Selain message queue, service juga memanggil satu sama lain langsung melalui RESTful API. Contoh: saat membuat instance, Nova memanggil API Glance untuk mengambil image, API Neutron untuk membuat port, dan API Cinder untuk volume. Masing-masing panggilan ini diautentikasi dengan token Keystone.
Info
Pola komunikasi OpenStack selalu mengikuti urutan yang sama: user masuk lewat Keystone untuk mendapat token, lalu setiap service memanggil API service lain dengan token tersebut. Kalau salah satu tautan putus — misalnya RabbitMQ down atau DB unreachable — seluruh alur berhenti.
1. user → Keystone : minta token
2. user → Nova API : create server + token
3. Nova → Glance API : ambil image
4. Nova → Neutron API : buat port network
5. Nova → RabbitMQ : kirim task ke scheduler
6. Scheduler → RabbitMQ : pilih compute node
7. Nova Compute → KVM : spawn instance
8. Nova → DB (MariaDB) : simpan statePola ini berulang untuk hampir semua operasi. Begitu kalian memahami satu alur, alur lain hanya variasi dari tema yang sama.
Episode 2 memperkenalkan enam core service OpenStack dan cara mereka berkomunikasi. Keystone mengatur identitas, Glance mengelola image, Nova menghidupkan instance, Neutron membangun jaringan, Cinder menyediakan block storage, dan Horizon menjadi dashboard. Komunikasi mereka ditopang RabbitMQ, MariaDB/Galera, dan RESTful API.
Inti yang harus dibawa pulang:
Di episode 3 selanjutnya kita akan membahas Keystone secara mendalam — domain, project, user, group, role, token Fernet, serta integrasi LDAP dan SSO. Inilah fondasi identitas dan authorization yang membuat OpenStack aman untuk multi-tenant. Pastikan kalian sudah nyaman dengan openstack service list sebelum melanjutkan.