(0275) 2974 127
Cloud computing memungkinkan organisasi menggunakan sumber daya komputasi seperti server, storage, dan jaringan secara lebih fleksibel tanpa harus mengelola seluruh infrastrukturnya secara manual. Namun, tidak semua organisasi ingin bergantung sepenuhnya pada layanan cloud dari satu penyedia. Dalam kondisi tersebut, OpenStack menjadi salah satu teknologi yang menarik untuk dipertimbangkan.
OpenStack merupakan platform cloud computing open source yang digunakan untuk membangun dan mengelola infrastruktur cloud. Platform ini dapat mengatur sumber daya komputasi, penyimpanan, dan jaringan dalam sebuah data center melalui API maupun dashboard. OpenStack terutama digunakan untuk membangun lingkungan Infrastructure as a Service (IaaS) pada private cloud, public cloud, maupun lingkungan cloud lainnya.
Lalu, bagaimana sebenarnya cara kerja OpenStack dan mengapa teknologi ini banyak digunakan dalam lingkungan enterprise, data center, dan penyedia layanan cloud?
OpenStack adalah platform open source yang digunakan untuk membangun dan mengelola cloud computing, khususnya dalam mengatur sumber daya seperti compute, storage, dan networking di dalam data center. Platform ini terdiri dari berbagai layanan yang memiliki fungsi berbeda tetapi saling terintegrasi.
Beberapa layanan utamanya adalah Nova untuk mengelola virtual machine, Neutron untuk networking, Cinder untuk block storage, Swift untuk object storage, dan Glance untuk mengelola image. Sementara itu, Keystone menangani identity dan akses pengguna, sedangkan Horizon menyediakan dashboard untuk mengelola resource melalui antarmuka web.
Tidak semua layanan tersebut harus digunakan sekaligus. Organisasi dapat memilih komponen sesuai kebutuhan dan mengelolanya melalui dashboard, command line, maupun API. Dengan fleksibilitas tersebut, OpenStack dapat digunakan untuk membangun infrastruktur cloud yang lebih terkontrol dan dapat disesuaikan dengan kebutuhan.
OpenStack pertama kali diperkenalkan pada tahun 2010 melalui kolaborasi Rackspace dan NASA. Tujuan awalnya adalah menyediakan platform cloud open source yang dapat digunakan untuk membangun infrastruktur cloud dengan kemampuan skalabilitas yang besar.
Seiring perkembangannya, OpenStack berubah menjadi proyek open source yang dikembangkan oleh komunitas global. Ekosistemnya kemudian berkembang dari sekadar layanan compute dan storage menjadi platform yang mencakup networking, identity, orchestration, bare metal, load balancing, database, shared file system, hingga berbagai layanan pendukung lainnya.
Pada saat ini, OpenStack dikembangkan sebagai kumpulan project yang dapat digunakan untuk berbagai kebutuhan cloud infrastructure.
Fungsi utama OpenStack adalah menyediakan lapisan software untuk mengelola berbagai sumber daya infrastruktur dalam lingkungan cloud. Secara sederhana, OpenStack dapat membantu organisasi melakukan hal-hal berikut:
Karena layanan OpenStack menggunakan API, berbagai operasi cloud dapat dilakukan secara terprogram, bukan hanya melalui dashboard.
Untuk memahami OpenStack, bayangkan sebuah data center memiliki banyak resource:
Tanpa cloud management platform, administrator harus mengelola resource tersebut secara lebih manual. OpenStack menyediakan lapisan pengelolaan di atas resource tersebut.
Secara sederhana, alurnya dapat digambarkan sebagai berikut:
User → Horizon/API → Keystone → OpenStack Services → Compute/Network/Storage → Physical Infrastructure
Sebagai contoh, ketika pengguna ingin membuat virtual machine, prosesnya dapat melibatkan beberapa layanan sekaligus.
Nova sendiri membutuhkan integrasi dengan Keystone, Glance, Neutron, dan Placement untuk menjalankan fungsi compute secara umum. Inilah salah satu karakteristik utama OpenStack yaitu berbagai layanan bekerja secara terpisah tetapi saling terintegrasi melalui API.
Arsitektur OpenStack terdiri dari berbagai service yang memiliki tanggung jawab berbeda. Secara umum, deployment OpenStack dapat memiliki beberapa jenis node, misalnya:
Namun, pembagian node tersebut bukan satu-satunya pola deployment. Arsitektur OpenStack dapat disesuaikan dengan kebutuhan, skala, dan strategi operasional organisasi.
OpenStack memiliki banyak project. Namun, beberapa layanan berikut merupakan komponen yang penting untuk memahami cara kerja platform ini.
Nova merupakan layanan OpenStack yang bertanggung jawab terhadap provisioning dan pengelolaan compute instance atau virtual server. Nova dapat digunakan untuk:
Nova juga dapat berintegrasi dengan layanan lain untuk menyediakan jaringan, image, storage, dan resource placement. Contoh sederhananya, ketika pengguna memilih:
Nova membantu mengatur proses pembuatan instance tersebut berdasarkan resource yang tersedia.
Neutron merupakan layanan networking OpenStack yang digunakan untuk membuat dan mengelola konektivitas jaringan dalam cloud. Neutron dapat menangani berbagai resource seperti:
Neutron menyediakan API untuk mendefinisikan konektivitas jaringan dan dapat berintegrasi dengan berbagai teknologi networking. Misalnya, sebuah perusahaan memiliki beberapa virtual machine dan ingin memisahkan jaringan antara server produksi dan server pengembangan. Neutron dapat digunakan untuk membuat struktur jaringan virtual sesuai kebutuhan tersebut.
Cinder merupakan layanan block storage OpenStack. Block storage dapat digunakan sebagai volume yang terhubung dengan virtual machine maupun resource lain yang didukung.
Contohnya:
Sebuah instance memiliki disk sistem 40 GB. Administrator kemudian membutuhkan tambahan 100 GB untuk database. Volume tambahan tersebut dapat disediakan menggunakan Cinder.
Cinder dirancang sebagai layanan storage yang dapat dikembangkan dan mendukung berbagai backend storage.
Swift merupakan layanan object storage yang dirancang untuk menyimpan data sebagai object dalam sistem storage terdistribusi. Object storage cocok untuk data seperti:
Berbeda dengan Cinder yang menyediakan block storage, Swift menggunakan model object storage.
Glance merupakan layanan image yang menyediakan repository untuk image yang digunakan dalam deployment instance. Image dapat berupa sistem operasi atau template yang digunakan sebagai dasar pembuatan instance. Misalnya administrator menyediakan image:
Pengguna kemudian dapat memilih image tersebut ketika membuat instance, sesuai image dan konfigurasi yang tersedia dalam cloud.
Keystone bertanggung jawab terhadap identity service dalam OpenStack. Fungsinya mencakup:
Keystone menjadi salah satu komponen penting karena berbagai layanan OpenStack perlu mengetahui siapa yang melakukan request dan apakah pengguna tersebut memiliki izin untuk melakukan tindakan tertentu.
Horizon merupakan dashboard berbasis web yang menyediakan antarmuka grafis untuk mengelola OpenStack. Melalui Horizon, administrator atau pengguna dapat melakukan berbagai aktivitas, seperti:
Dashboard membuat OpenStack lebih mudah digunakan oleh pengguna yang tidak ingin melakukan seluruh operasi melalui command line. Namun, OpenStack juga menyediakan CLI dan API untuk kebutuhan administrasi maupun otomatisasi.
Heat merupakan layanan orchestration yang dapat digunakan untuk mengelola resource cloud berdasarkan template.
Dengan orchestration, administrator dapat mendefinisikan infrastruktur dalam bentuk template sehingga deployment resource dapat dilakukan secara lebih konsisten.
Konsep ini berguna ketika organisasi harus membuat environment yang memiliki struktur resource berulang.
Placement membantu OpenStack melacak inventory resource yang tersedia dan membantu menentukan resource provider yang sesuai untuk kebutuhan provisioning.
Dalam proses pembuatan instance, informasi seperti kapasitas compute menjadi penting agar workload dapat ditempatkan pada resource yang sesuai.
| Komponen | Fungsi Utama |
|---|---|
| Nova | Compute dan virtual machine |
| Neutron | Networking |
| Cinder | Block storage |
| Swift | Object storage |
| Glance | Image management |
| Keystone | Identity dan authentication |
| Horizon | Dashboard berbasis web |
| Heat | Orchestration |
| Placement | Resource inventory dan placement |
| Ironic | Bare metal provisioning |
| Octavia | Load balancing |
| Manila | Shared file system |
| Designate | DNS service |
| Barbican | Key management |
OpenStack memiliki lebih banyak project di luar komponen inti tersebut. Dokumentasi OpenStack saat ini mencantumkan berbagai layanan tambahan untuk kebutuhan seperti bare metal, database, DNS, load balancing, key management, shared file system, telemetry, dan lainnya.
Salah satu penggunaan OpenStack yang paling umum adalah menyediakan virtual machine atau cloud instance. Misalnya sebuah perusahaan memiliki beberapa server fisik.
Daripada setiap server hanya digunakan untuk satu workload, resource tersebut dapat digunakan sebagai bagian dari cloud infrastructure.
Pengguna kemudian dapat meminta instance dengan konfigurasi tertentu, misalnya:
| Resource | Contoh |
|---|---|
| vCPU | 4 core |
| RAM | 8 GB |
| Storage | 100 GB |
| Operating System | Linux |
| Network | Private Network |
| IP | Floating IP jika diperlukan |
OpenStack kemudian mengorkestrasi resource tersebut berdasarkan kapasitas yang tersedia dan kebijakan cloud.
OpenStack sering dianggap sama dengan virtualisasi. Padahal keduanya memiliki cakupan yang berbeda. Virtualisasi merupakan teknologi yang memungkinkan satu server fisik menjalankan beberapa virtual machine.
Sementara itu, OpenStack merupakan platform cloud management yang dapat mengelola resource compute, networking, storage, identity, dan layanan lainnya.
| Aspek | Virtualisasi | OpenStack |
|---|---|---|
| Fokus | Menjalankan VM | Membangun cloud infrastructure |
| Compute | VM pada host | Mengelola compute resource |
| Networking | Bergantung pada platform | Networking sebagai service |
| Storage | Virtual disk | Berbagai storage service |
| API cloud | Tidak selalu tersedia | Menjadi bagian penting |
| Self-service | Terbatas | Didukung |
| Multi-tenant | Bergantung platform | Didukung melalui project dan identity |
| Orchestration | Tidak selalu tersedia | Tersedia melalui service tertentu |
Dengan demikian, virtualisasi dapat menjadi salah satu fondasi teknologi yang digunakan oleh OpenStack, tetapi OpenStack menyediakan lapisan pengelolaan cloud yang jauh lebih luas.
| Aspek | OpenStack | Public Cloud |
|---|---|---|
| Model | Software cloud infrastructure | Layanan cloud |
| Infrastruktur | Dapat dikelola sendiri | Dikelola provider |
| Open source | Ya | Umumnya bukan platform inti open source |
| Kontrol infrastruktur | Tinggi | Bergantung layanan |
| Deployment | Membutuhkan deployment dan operasi sendiri | Umumnya siap digunakan |
| Kustomisasi | Sangat fleksibel | Mengikuti layanan provider |
| Biaya | Bergantung hardware, operasi, dan deployment | Umumnya pay-as-you-go atau model provider |
| Maintenance | Menjadi tanggung jawab operator | Banyak aspek ditangani provider |
| Cocok untuk | Private cloud, service provider, kebutuhan kontrol tinggi | Konsumsi layanan cloud secara cepat |
Perbandingan tersebut tidak berarti salah satu model selalu lebih sesuai. Pemilihannya bergantung pada kebutuhan organisasi, kemampuan tim, model bisnis, tingkat kontrol, serta infrastruktur yang tersedia.
OpenStack memiliki sejumlah karakteristik yang membuatnya menarik untuk organisasi tertentu.
1. Open Source
Salah satu keunggulan utama OpenStack adalah sifatnya sebagai software open source. Organisasi dapat menggunakan dan menyesuaikan platform berdasarkan kebutuhan tanpa harus bergantung pada satu software cloud proprietary.
2. Fleksibel
OpenStack terdiri dari berbagai layanan yang dapat dikombinasikan sesuai kebutuhan. Organisasi tidak harus menggunakan seluruh project yang tersedia. Service yang dipilih dapat disesuaikan dengan arsitektur dan kebutuhan deployment.
3. Mendukung Private Cloud
OpenStack banyak digunakan untuk membangun private cloud di dalam data center organisasi. Hal ini memberikan kontrol lebih besar terhadap:
4. Mendukung Skalabilitas
OpenStack dirancang untuk mengelola resource cloud dalam skala besar. Ketika kebutuhan meningkat, resource compute, storage, maupun network dapat dikembangkan sesuai arsitektur deployment.
5. API-driven
OpenStack menyediakan API untuk berbagai service. Hal ini memungkinkan administrator dan developer mengotomatisasi provisioning serta mengintegrasikan cloud infrastructure dengan sistem lain.
6. Mendukung Multi-Tenant
OpenStack dapat digunakan untuk lingkungan dengan banyak project atau tenant. Setiap project dapat memiliki resource, pengguna, network, dan kebijakan akses sesuai konfigurasi yang ditentukan administrator.
Model ini berguna bagi organisasi yang ingin menyediakan cloud infrastructure kepada berbagai tim atau pelanggan.
Meskipun memiliki banyak kelebihan, OpenStack bukan platform yang sederhana untuk semua organisasi.
1. Kompleksitas Tinggi
OpenStack terdiri dari banyak service yang saling berhubungan. Administrator perlu memahami:
Semakin besar deployment, semakin kompleks pula operasionalnya.
2. Membutuhkan Tim yang Kompeten
Implementasi dan pengelolaan OpenStack membutuhkan sumber daya manusia dengan kemampuan teknis yang sesuai.
Tanpa pemahaman yang baik, troubleshooting dapat menjadi cukup sulit karena masalah pada satu service dapat berhubungan dengan service lainnya.
3. Deployment Membutuhkan Perencanaan
Membangun OpenStack production bukan sekadar menginstal beberapa package. Organisasi perlu merencanakan:
Dokumentasi OpenStack juga membedakan panduan pembelajaran atau proof-of-concept dengan deployment production.
4. Biaya Operasional Tetap Ada
Open source tidak berarti seluruh biaya menjadi nol. Organisasi tetap membutuhkan:
Karena itu, perhitungan biaya OpenStack sebaiknya tidak hanya melihat biaya lisensi software.
OpenStack dapat menjadi pilihan ketika organisasi membutuhkan kontrol dan fleksibilitas tinggi terhadap cloud infrastructure. Beberapa contoh penggunaannya antara lain:
1. Private Cloud Enterprise
Perusahaan dapat membangun cloud internal untuk digunakan oleh berbagai departemen.
2. Cloud Service Provider
Penyedia layanan dapat menggunakan OpenStack sebagai fondasi untuk menyediakan cloud computing kepada pelanggan.
3. Telekomunikasi
Lingkungan telekomunikasi membutuhkan infrastruktur yang fleksibel dan dapat dikembangkan sesuai kebutuhan workload.
4. Research dan Education
Universitas atau institusi penelitian dapat membangun private cloud untuk menyediakan resource komputasi bagi berbagai proyek.
5. Development dan Testing
Tim developer dapat menyediakan environment secara lebih cepat tanpa harus membuat server secara manual satu per satu.
6. Infrastruktur dengan Kebutuhan Kontrol Tinggi
Organisasi yang membutuhkan kendali lebih besar terhadap lokasi data dan konfigurasi infrastruktur dapat mempertimbangkan private cloud berbasis OpenStack.
Bayangkan sebuah perusahaan memiliki data center dengan:
Tanpa cloud platform, administrator mungkin perlu mengelola server dan resource secara terpisah. Dengan OpenStack, resource tersebut dapat dikelola sebagai cloud infrastructure.
Tim developer kemudian dapat meminta:
1 instance dengan 4 vCPU, 8 GB RAM, Ubuntu, 100 GB storage, dan private network.
Administrator tidak perlu menyiapkan server fisik baru secara manual selama resource yang diperlukan tersedia.
OpenStack akan menggunakan service yang relevan untuk mengatur compute, image, network, storage, authentication, dan placement. Hasilnya, organisasi memiliki mekanisme self-service infrastructure yang lebih terstruktur.
OpenStack sangat erat dengan konsep Infrastructure as a Service atau IaaS. Dalam model IaaS, pengguna memperoleh resource infrastruktur seperti:
Pengguna kemudian dapat menginstal dan mengelola sistem operasi serta aplikasi di atas resource tersebut.
Gambaran sederhananya:
Physical Hardware → OpenStack → Virtual Infrastructure → Operating System → Application
OpenStack menyediakan lapisan pengelolaan infrastruktur, sedangkan pengguna dapat mengelola workload yang berjalan di atasnya.
Dokumentasi OpenStack menjelaskan bahwa platform ini menyediakan solusi IaaS melalui sekumpulan service yang saling berhubungan dan masing-masing menyediakan API.
Tidak. Cloud computing merupakan konsep penyediaan resource komputasi secara fleksibel melalui jaringan.
Sementara itu, OpenStack adalah salah satu platform software yang dapat digunakan untuk membangun dan mengelola cloud infrastructure.
Analogi sederhananya:
Cloud computing adalah konsep dan model layanan, sedangkan OpenStack merupakan salah satu teknologi yang dapat digunakan untuk membangun infrastrukturnya.
Karena itu, OpenStack bukan sinonim dari cloud computing.
OpenStack dan Kubernetes sering digunakan bersama, tetapi keduanya memiliki fokus berbeda.
OpenStack berfokus pada cloud infrastructure seperti compute, network, dan storage.
Kubernetes berfokus pada orkestrasi container dan workload berbasis container.
Contohnya:
Hardware → OpenStack → VM → Kubernetes → Container → Application
Dalam arsitektur tertentu, OpenStack dapat menyediakan infrastructure layer, sementara Kubernetes digunakan untuk menjalankan dan mengelola aplikasi containerized.
| Aspek | OpenStack | Kubernetes |
|---|---|---|
| Fokus utama | Cloud infrastructure | Container orchestration |
| Compute | VM dan resource infrastructure | Container workload |
| Networking | Cloud networking | Container networking |
| Storage | Block/object/file melalui service terkait | Persistent storage melalui interface dan storage backend |
| Use case | Private/public cloud infrastructure | Aplikasi container |
| Layer | Infrastructure | Application/platform orchestration |
Sebelum menggunakan OpenStack, organisasi perlu mempertimbangkan beberapa tantangan.
Hardware harus memiliki kapasitas yang memadai dan dirancang untuk kebutuhan workload.
Networking merupakan salah satu bagian paling kompleks karena OpenStack dapat melibatkan virtual network, subnet, router, security group, floating IP, dan integrasi dengan infrastruktur fisik.
Pemilihan storage backend sangat penting karena kebutuhan VM, database, backup, dan aplikasi dapat berbeda.
Untuk production, organisasi perlu merancang mekanisme redundancy agar kegagalan satu komponen tidak langsung menyebabkan gangguan besar.
OpenStack membutuhkan monitoring terhadap compute, network, storage, service, resource utilization, dan berbagai komponen pendukung.
Versi OpenStack dan komponen terkait perlu dikelola dengan strategi upgrade yang terencana agar perubahan tidak mengganggu layanan.
Jika organisasi ingin mulai mempelajari atau mengimplementasikan OpenStack, beberapa langkah berikut dapat dilakukan.
1. Pahami Dasar Linux
Sebagian besar deployment OpenStack berjalan di lingkungan Linux. Pemahaman Linux akan sangat membantu proses instalasi dan troubleshooting.
2. Pelajari Networking
Pahami konsep:
3. Pahami Virtualisasi
Pelajari terlebih dahulu bagaimana virtual machine bekerja sebelum masuk ke cloud orchestration.
4. Mulai dari Lab
Jangan langsung membangun production cloud. Gunakan environment lab atau proof-of-concept untuk memahami hubungan antarservice.
5. Pelajari API dan CLI
OpenStack merupakan platform yang API-driven. Memahami CLI dan API akan membantu proses otomatisasi.
6. Rancang Arsitektur Sebelum Instalasi
Tentukan kebutuhan compute, storage, networking, security, availability, dan scalability sebelum melakukan deployment.
OpenStack memiliki beberapa pendekatan storage untuk kebutuhan yang berbeda.
| Jenis | Service | Kegunaan |
|---|---|---|
| Block Storage | Cinder | Volume untuk instance |
| Object Storage | Swift | Penyimpanan object dan file |
| Shared File System | Manila | File system yang dapat dibagikan |
| Image Storage | Glance | Repository image |
Pemilihan storage sebaiknya dilakukan berdasarkan jenis data dan kebutuhan aplikasi. Misalnya, database yang membutuhkan block device dapat menggunakan Cinder, sedangkan penyimpanan object seperti arsip atau backup dapat menggunakan object storage.
OpenStack penting karena memberikan pendekatan open source untuk membangun cloud infrastructure sendiri. Organisasi tidak hanya mendapatkan sistem untuk membuat virtual machine, tetapi juga ekosistem yang mencakup:
Ekosistem tersebut memungkinkan OpenStack digunakan untuk berbagai jenis kebutuhan cloud infrastructure
OpenStack adalah platform cloud computing open source yang digunakan untuk membangun dan mengelola infrastruktur cloud, terutama dalam model IaaS. Dengan berbagai layanan seperti Nova, Neutron, Cinder, Swift, dan Keystone, OpenStack dapat mengelola compute, networking, storage, serta akses pengguna dalam satu lingkungan cloud.
Fleksibilitasnya membuat OpenStack dapat digunakan untuk private cloud maupun kebutuhan infrastruktur lainnya. Meski membutuhkan perencanaan dan keahlian teknis, platform ini memberikan kontrol yang luas terhadap infrastruktur cloud.
Untuk memahami lebih banyak tentang cloud computing, hosting, server, dan teknologi digital lainnya, simak berbagai artikel informatif di Blog Hosteko.
Google Family Link menyediakan sejumlah fitur yang membantu orang tua mengatur penggunaan perangkat dan layanan…
Di tengah semakin banyaknya anak menggunakan smartphone dan layanan internet, orang tua membutuhkan cara untuk…
WordPress merupakan salah satu platform yang banyak digunakan untuk membangun blog, website bisnis, toko online,…
API menjadi salah satu komponen penting dalam pengembangan aplikasi modern. Melalui API, aplikasi dapat saling…
Selain baterai yang cepat habis atau penggunaan data yang meningkat, ada sejumlah perubahan pada HP…
WordPress bukan hanya platform untuk membuat website, tetapi juga menyediakan berbagai mekanisme yang memungkinkan developer…