Mengenal Arsitektur dan Terminologi Openstack

Mengenal Arsitektur dan Terminologi Openstack
Openstack merupakan salah satu cloud software paling powerful di dunia, selain opensource fitur-fitur yang disediakan pun gak kalah powerful dengan platform lain seperti vmware, hyper-v, xen, dsb. Di beberapa negara openstack sangat booming dan cepat sekali perkembangannya, apabila berbicara cakupan asia tenggara singapura dan malaysia adalah salah satu contoh pesatnya perkembangan openstack di negara tsb. Kami pikir Indonesia dalam beberapa tahun kedepan akan mengikuti langkah yang sama.

Nah, setelah bicara sedikit tentang sejarah openstack sekarang kita overview sedikit arsitektur dari openstack. Dibawah ini kira-kira arsitektur openstack :


Kalo dari gambar diatas terlihat bahwa arsitektur openstack bisa dibilang rumit karna begitu banyak komponen dan service yang menopang openstack itu sendiri. Tapi kali ini kami akan coba bahas satu-persatu istilah dan terminologi openstack dari gambar yang ada pada arsitektur diatas.

OPENSTACK ARCHITECTURE

Horizon (Dashboard) : Horizon adalah istilah developer openstack untuk web-based interfaces yang digunakan untuk manajemen service di dalam openstack. Meski di dunia real memanage dengan command line jauh lebih powerful, namun dengan adanya horizon maka memungkinkan kamu memanage openstack dengan "graphical user interfaces" dan membuat openstack jauh lebih bersahabat. Biasanya administrator menggunakan horizon untuk membuat instance(vm), manajemen network (nova/neutron), setting tenant(projects), access control, dsb.

Keystone (Identity) : Keystone ini seperti kerberos kalo di LDAP, fungsinya adalah untuk centralized identity service dan Authorization Services. Keystone juga berfungsi untuk autentikasi username dan password credentials untuk user yang autentikasi ke cloud ato via horizon contohnya, keystone juga memberikan token atau istilahnya token-based systems untuk setiap user yang melakukan autentikasi. Singkatnya keystone itu bertindak sebagai SSO (Single-Sign On) authentication services untuk user dan komponen lainnya di openstack.

Neutron (Networking) : Neutron adalah salah satu komponen penting dalam openstack, neutron berfungsi untuk menghubungkan Instances(vm) ke dunia real. Singkatnya neutron adalah services yang menghandel dan memanage virtual networking infrastructure di dalam platform openstack cloud. Apa saja elemen-elemen tersebut? Elemen tersebut yaitu networks, subnets, dan routers. Beberapa advanced fitur seperti firewall dan VPN juga menggunakan services neutron.

Cinder (Block Storage) : Cinder adalah services yang memanage volume storage untuk virtual machine. Jadi apabila kita berbicara mengenai block storage di openstack maka hal itu erat kaitannya dengan cinder.

Nova (Compute) : Nova dan neutron serupa tapi fungsinya berbeda, nova merupakan service yang memanage network virtual machine yang berjalan di compute nodes. Nova juga berfungsi sebagai distributed components yang berinteraksi dengan keystone untuk autentikasi, glances untuk menampung images, dan komunikasi dengan horizon web interfaces. Hal yang paling penting kita ketahui adalah services nova compute menggunakan libvirtd, qemu, dan kvm sebagai hypervisornya.

Glance (Image) : Glance adalah sebuah services yang bertugas sebagai registry atau penampung virtual machines images. Dengan adanya glance maka memungkinkan user untuk mencopy images tersebut menjadi sebuah instances (virtual machine) dengan lebih cepat karna services glance menjadikan virtual machines images tersebut sebagai template yang disimpan di dalam storage.

Swift (Object Storage) : Swift merupakan sebuah services yang memungkinkan sebuah block storage diubah menjadi object storage dan dengan adanya object storage maka user dapat melakukan store dan retrieve files dari object storage tsb. Swift merupakan salah satu fitur powerful menurut kami sebab arsitekturnya distributed, scaleable (mudah di expand) dan bisa dibuat redudancy,

Ceilometer (Metering) : Ceilometer erat kaitannya dengan monitoring resources di openstack itu sendiri, ceilometer mencentralized sources untuk memonitor dan metering data. Dengan adanya ceilometer maka administrator dapat mengukur penggunaan user dan membuat bill untuk tiap2 openstack users.

Heat (Orchestration) : Heat adalah sebuat services yang digunakan untuk menyusun/mengkolaborasi multiple composite aplikasi cloud menggunakan AWS menggunakan REST (Representational State Transfer) API dan CloudFormation-Compatible Query API. Software ini mengintegrasikan komponen lainnya dari openstack ke dalam sebuah one-file template. Dari template tersebut memungkinkan pembuatan hampir semua openstack resource type seperti : Instances, Floating, IPs, Volumes, Security Groups, Users, dan juga advanced fungsionality seperti High Availability, instance autoscaling, dan nested stacks.

OPENSTACK TERMINOLOGY

Cloud Controller : Berfungsi untuk memanage seluruh compute node, oleh karna itu disebut dengan "Manager" dan biasanya kamu mengakses horizon via IP Address Cloud Controller ini. Semua machine/node dalam openstack cloud berkomunikasi dengan cloud controller menggunakan protocol AMQP (Advanced Message Queuing Protocol). Nah kalau di CentOS/Redhat/Fedora daemon yang menjalankan protocol AMQP adalah Apache Messaging Daemon (qpidd) atau RabbitMQ.

Tenant : Tenant adalah istilah yang digunakan keystone dan equivalent dengan project dalam horizon (web-ui). Tenant atau project adalah group items yang terdiri dari users, images, instances, networks, volume, dsb.
Compute Node : Compute node adalah Hypervisor, Compute node adalah machine/node yang menjalankan "Nova Compute Services".

Volume (Block Storage) : Sebuah persistent disk yang dapat di attached/detached ke sebuah single instances (virtual machine). Service Cinder secara default menggunakan LVM. Logical volumes dibuat dari volume group ini. Snapshots volume dapat dibuat mirip dengan logical volume snapshot.

Ephemeral Disk : Adalah sebuah temporary disk yang digunakan oleh instances (virtual machine). Ketika instances dibuat maka ephemeral disk akan dibuat sebagai QCOW2 image dalam /var/lib/nova/instances/instances-00000000x/disk.local dalam compute node. Dan ketika instances dihapus/terminated maka secara otomatis ephemeral disk juga akan diremove setelah dihapus dengan dd. Normalnya Ephemeral disk pertama akan muncul sebagai /dev/vdb di dalam instances yang kita buat.

Server atau Instances : Instances adalah istilah di openstack yang menandakan sebuah Virtual Machines.
Flavor : Adalah hardware yang diasosiasikan/diassign ke instances(virtual machine) yang akan dibuat. Hardware tersebut adalah RAM, CPUs, dan Disks.


Sekilas nampak rumit memang istilah dan terminologi dari openstack, namun kalo sudah terbiasa pasti lebih asik kok apalagi kalo sudah familiar. Semoga tulisan kami bermanfaat yah.


© IT Freelancer Indonesia Team