Episode ini membahas object storage Swift: konsep penyimpanan data tidak terstruktur yang skalabel tanpa batas, perbandingan dengan Cinder dan Manila, arsitektur proxy, account, container, dan object server, serta operasi membuat container dan mengunggah object via REST API dan temporary URL.

Setelah memahami block storage di episode 8, kalian mengenal satu lagi jenis penyimpanan yang melengkapi OpenStack: Swift, Object Storage Service. Kalau Cinder berurusan dengan hard disk virtual yang bisa di-mount, Swift berurusan dengan data tidak terstruktur — file, image, video, backup archive — yang disimpan sebagai object dengan metadata.
Mengapa perlu episode sendiri? Karena cara berpikir object storage sangat berbeda. Tidak ada mount, tidak ada filesystem tree, tidak ada lock file. Ada bucket/container, object, dan key. Episode 9 membedah perbedaan itu, arsitektur Swift di belakang layar, dan operasi praktis membuat container serta mengunggah object — termasuk akses via REST API dan temporary URL.
Object storage menyimpan data sebagai object — kombinasi data itu sendiri, metadata, dan identifier unik — di dalam container. Kekuatan utamanya adalah skalabilitas horizontal tanpa batas: menambah kapasitas cukup dengan menambah storage node, tanpa downtime dan tanpa batas ukuran single filesystem.
Container (bucket)
├── object: foto-2026.jpg (metadata: content-type, size, date)
├── object: backup-db-08-10.sql
└── object: video-presentasi.mp4Setiap object diakses lewat identifier-nya, bukan lewat path filesystem. Inilah yang membuat Swift sangat cocok untuk data yang tumbuh terus menerus: backup, arsip, media, dan asset.
OpenStack menyediakan tiga jenis penyimpanan yang saling melengkapi:
| Service | Jenis | Contoh Penggunaan |
|---|---|---|
| Cinder | Block Storage | Database, filesystem yang di-mount |
| Swift | Object Storage | Backup, image, video, data arsip |
| Manila | Shared Filesystem | NFS/CIFS yang di-mount banyak instance |
Pilih Cinder kalau butuh disk persisten untuk instance, Swift kalau menyimpan file besar dan tidak terstruktur, dan Manila kalau butuh filesystem yang dibagikan ke banyak instance sekaligus — topik episode 10.
Swift dirancang sebagai sistem terdistribusi dengan empat peran server:
openstack object store account showOutput openstack object store account show menampilkan jumlah container, jumlah object, dan total byte yang terpakai di account project kalian.
Swift menggunakan eventual consistency dan replication: setiap object direplikasi ke beberapa node (biasanya 3 replika) oleh proses replicator. Jika satu node mati, object tetap tersedia dari replika lain. Menambah node baru otomatis menyeimbangkan kembali data tanpa downtime — inilah alasan Swift begitu tangguh untuk data arsip.
openstack container create backup-data
openstack object create backup-data server-db-2026-08-10.sql
openstack object list backup-dataPerintah openstack container create backup-data membuat container, lalu openstack object create mengunggah file ke dalamnya. Object bisa berukuran sangat besar — Swift memecahnya otomatis menjadi segmen untuk file besar.
openstack object save backup-data server-db-2026-08-10.sql
openstack object delete backup-data server-db-2026-08-10.sqlopenstack object save mengunduh object ke direktori saat ini, dan openstack object delete menghapusnya. Seluruh operasi ini adalah operasi REST — CLI hanyalah pembungkus.
Karena Swift adalah REST service, kalian bisa mengakses object langsung dengan curl menggunakan token:
TOKEN=$(openstack token issue -f value -c id)
curl -s -H "X-Auth-Token: $TOKEN" \
https://openstack.example.com/v1/AUTH_project/backup-data/server-db-2026-08-10.sqlPerintah openstack token issue -f value -c id mengambil token Keystone yang lalu dipakai curl. URL REST Swift mengikuti pola /v1/AUTH_<project>/<container>/<object>.
Memberikan akses ke object tanpa membagikan token adalah masalah yang dipecahkan temporary URL (TempURL). Swift membuat URL berumur pendek yang sudah menyandang signature:
openstack container set --property X-Container-Meta-Temp-URL-Key=rahasia123 backup-data
swift tempurl GET 3600 /v1/AUTH_project/backup-data/server-db-2026-08-10.sql rahasia123swift tempurl menghasilkan URL yang valid selama 3600 detik. URL ini bisa dibagikan ke siapa saja — cocok untuk file sharing atau link unduhan yang kedaluwarsa.
Episode 9 melengkapi pemahaman storage kalian: Swift menyimpan data tidak terstruktur yang skalabel tanpa batas, berbeda konsep dari Cinder dan Manila, berjalan di atas arsitektur proxy, account, container, dan object server dengan replication, dan dioperasikan lewat CLI maupun REST API termasuk temporary URL.
Inti yang harus dibawa pulang:
openstack container create dan openstack object create adalah operasi dasar.Di episode 10 selanjutnya kita akan membahas Manila (Shared Filesystem Service) dan Barbican (Key Manager) — menyediakan share NFS/CIFS yang bisa di-mount banyak instance sekaligus dengan backend CephFS dan NFS-Ganesha, serta mengelola secrets, encryption keys, dan certificates lewat Barbican yang terintegrasi dengan enkripsi volume Cinder.