Pengantar OpenStack
OpenStack merupakan platform perangkat lunak untuk infrastruktur komputasi awan (cloud), baik yg publik maupun privat. Inisiatif OpenStack dimulai tahun 2010 oleh Rackspace dan NASA. Relatif lebih muda dibandingkan dengan beberapa inisiatif cloud lain seperti CloudStack atau OpenNebula.
Definisi
OpenStack adalah sistem operasi cloud yg mengelola sumber-daya (resources - a.l. komputasi, penyimpan dan jaringan) yg tersedia pada infrastruktur fisik seperti dalam sebuah fasilitas pusat-data (data-center). Administrator atau pengguna dapat mengendalikan dan melakukan provisioning atas sumber-daya ini melalui dashboard / antar-muka web. Untuk memudahkan pengembangan, OpenStack juga menyediakan akses terhadap sumber-daya tersebut melalui API (Application Programming Interface).
TL;DR OpenStack:
- Perangkat lunak sumber terbuka (open-source), untuk cloud publik maupun privat
- Platform IaaS (Infrastructure as a Service) yg mengatur sumber-daya a.l. compute, storage, network
- Sistem operasi cloud yg massively scalable
- Proyek dan komunitas open-source yg cukup besar dan sangat aktif, didukung dan diikuti oleh banyak pihak, baik individu maupun industri
Rilis OpenStack
Berikut 5 versi terbaru OpenStack. Selengkapnya dapat diakses disini.
Codename | Rilis Pertama | Rilis Terakhir | Status |
---|---|---|---|
Queens | - | - | development |
Pike | Aug 30, 2017 | Sept 03, 2018 | stable |
Ocata | Feb 22, 2017 | Feb 26, 2018 | maintenance |
Newton | Oct 06, 2016 | Oct 11, 2017 | maintenance |
Mitaka | Apr 07, 2016 | Apr 10, 2017 | EOL |
Video
OpenStack Horizon Demo (Oct 5, 2016).
Video lain:
- OpenStack Basics (Nov 5, 2017)
- OpenStack Overview - Juno (Oct 28, 2014)
Arsitektur
Secara konseptual, arsitektur OpenStack bersifat modular. OpenStack terdiri dari beberapa bagian independen yg disebut OpenStack services. Tiap-tiap servis saling berinteraksi melalui API (publik atau via auth).
Berikut servis-servis yg menjadi elemen penyusun arsitektur konseptual OpenStack.
Service | Project name |
---|---|
Dashboard | Horizon |
Compute service | Nova |
Networking service | Neutron |
Object Storage service | Swift |
Block Storage service | Cinder |
Identity service | Keystone |
Image service | Glance |
Telemetry service | Ceilometer |
Orchestration service | Heat |
Database service | Trove |
Data Processing service | Sahara |
Horizon
Horizon merupakan implementasi dashboard OpenStack. Horizon menyediakan portal/antar-muka web untuk berinteraksi dengan servis-servis OpenStack a.l. membuat instance, mengasosiasikan alamat IP, konfigurasi akses kontrol, dll.
Nova
Nova merupakan kontroler sumber-daya compute yg menjadi komponen utama dari sistem IaaS, karena entitas ini yg mengatur proses dan alokasi CPU untuk setiap VM. Nova mengatur lifecycle objek compute di lingkungan OpenStack, misalnya: inisiasi, penjadwalan dan penghentian VM secara on-demand.
Neutron
Fungsi utama Neutron adalah untuk menyediakan Network connectivity as a service untuk servis OpenStack lain seperti compute (Nova). Neutron merupakan sistem untuk melakukan provisioning jaringan yg melibatkan entitas virtual (VM). Termasuk kedalam fungsi ini, antara lain, mengatur jaringan/subnet, router, load-balacer, gateway, floating IP. Neutron menyediakan API untuk mendefinisikan dan mengatur jaringan serta menggunakan arsitektur modular (pluggable) yg mendukung banyak vendor dan teknologi jaringan.
Neutron juga merupakan elemen yg banyak bersentuhan dengan konsep SDN (Software Defined Networking)
Swift
Swift bertugas menyimpan dan mengambil objek data unstructured via API. Swift dirancang untuk fault tolerant menggunakan arsitektur replikasi data khusus dan mekanisme scale-out yg sangat baik. Swift akan menulis objek/berkas ke beberapa drive sekaligus untuk menjamin data tersimpan di dalam cluster server secara redundan.
Cinder
Cinder menyediakan layanan penyimpan blok (persistent) untuk digunakan oleh compute instances yg sedang berjalan. Cinder didisain untuk bekerja-sama dengan komponen OpenStack, terutama compute dan dashboard.
Cinder memungkinkan admin/pengguna untuk mengatur kebutuhan terhadap media penyimpan dan dapat digunakan untuk skenario-skenario pemakaian yg sensitif atau yg membutuhkan kinerja tinggi seperti: database, expandable file systems, snapshot management (untuk backup atau restorasi).
Keystone
Keystone memberikan layanan identitas (authentication dan authorization) untuk servis OpenStack lainnya. Keystone juga menyediakan katalog endpoint untuk semua servis OpenStack.
Glance
Glance bertugas untuk menyimpan dan mengambil image VM. Komponen compute menggunakan servis ini pada saat provisioning instance.
Ceilometer
Ceilometer melakukan monitoring dan mencatat pemakaian untuk keperluan billing, benchmarking, penyesuaian sumber-daya (scalability) dan untuk keperluan statistik.
Heat
Heat bertugas melakukan orkestrasi untuk gabungan sejumlah aplikasi cloud dengan menggunakan format template tertentu (format native atau format AWS CloudFormation).
Trove
Trove menyediakan fungsionalitas Database-as-a-Service baik relasional maupun non-relasional.
Sahara
Sahara menyediakan fungsi untuk provisioning cluster Hadoop di lingkungan OpenStack.
Referensi
- OpenStack.org , The OpenStack Foundation
- Official OpenStack Documentation
- OpenStack Wiki
- Getting Started With OpenStack, Kenneth Hui (Rackspace), Dan Radez (RedHat),
- Cloud Foundry and OpenStack – Marriage Made in Heaven !, Animesh Singh, Egle Sigler, Jason Anderson, CF Summit, June 2011.
Kontributor
Eueung Mulyana, Ady Saputra, Adrie Taniwidjaja
Lisensi
CC Attribution-NonCommercial-NoDerivatives (Lisensi)