Flocker membundel kontainer Docker dan data untuk kemudahan transportasi

Saat kontainer Docker mulai digunakan lebih luas, kekurangannya juga menjadi lebih jelas. Bagaimana, misalnya, Anda memigrasi container yang berjalan bersama dengan datanya ke server lain, dan mempertahankan datanya dalam proses? Biasanya, tidak.

ClusterHQ, startup yang didirikan sebagian oleh kontributor inti untuk mesin jaringan Python Twisted, memiliki solusi yang diusulkan. Flocker, manajer volume data open source (Apache) untuk aplikasi Docker yang sekarang dalam rilis 1.0-nya, memungkinkan volume data (alias kumpulan data) dikaitkan dengan container dan dipindahkan dengannya.

Menjaga semuanya tetap bersama

Flocker memaketkan container dan kumpulan data, memastikannya berpindah bersama setiap kali aplikasi Dockerized dialihkan antar host di cluster tertentu. Satu batasan adalah bahwa penyimpanan untuk data harus disediakan oleh back end penyimpanan bersama yang dapat diakses oleh semua node di cluster.

Hanya beberapa jenis penyimpanan back end, kebanyakan berorientasi cloud, yang didukung saat ini: Amazon EBS, Rackspace Cloud Block Storage, dan EMC ScaleIO. Penyimpanan berbasis ZFS juga didukung, meskipun hanya melalui back end yang saat ini masih eksperimental.

"Apa pun yang Anda gunakan untuk VMware vMotion," kata Mark Davis, CEO ClusterHQ, "adalah alasan yang sama Anda mungkin ingin memindahkan container. Dan jika container memiliki data di dalamnya, Anda memerlukan sesuatu seperti Flocker."

Meskipun demikian, salah satu fitur vMotion yang dibanggakan - migrasi langsung dari aplikasi yang sedang berjalan - belum cukup tersedia di Flocker. Migrasinya adalah "waktu henti minimal", bukan waktu henti nol, yang berarti ada jendela kecil ketidaktersediaan selama proses migrasi. Luke Marsden, CTO dan salah satu pendiri ClusterHQ, menyatakan dalam panggilan telepon bahwa waktu henti "bergantung pada kecepatan back-end dapat melepaskan volume dari satu VM dan dipasang ke VM lain. Tetapi kami sangat tertarik pada meminimalkan waktu henti itu. "

ClusterHQ sudah memiliki fitur eksperimental yang sedang dikerjakan untuk mempercepat proses melalui volume snapshot, meskipun back end perlu mendukung snapshot agar dapat berjalan.

Potongan Docker yang hilang

Docker secara tradisional bekerja dengan data melalui volume data, tetapi mereka datang dengan batasannya sendiri. Menyalin data secara manual antar kontainer masih tidak sederhana (diduga diperbaiki di Docker 1.7), tetapi dinding terbesar tetap merupakan keadaan manajemen yang buruk untuk data yang dibagikan oleh kontainer Docker yang berjalan di lokasi berbeda.

Satu proposal saat ini untuk Docker melibatkan penyediaan jenis penyimpanan baru ke kontainer, di mana pihak ketiga dapat menyediakan driver perangkat untuk jenis penyimpanan mereka sendiri. Jika fitur seperti itu diimplementasikan, tidak akan sulit bagi ClusterHQ untuk mengerjakan ulang dukungannya melalui arsitektur plug-in back-end dataset - dan selangkah lebih maju dari fungsionalitas apa pun yang masuk ke inti Docker dari waktu ke waktu.