Pengenalan
Silahkan lihat website docker terlebih dahulu
Untuk memudahkan membayangkan apa itu Docker,
Docker mirip dengan VM (Virtual Machine),
Ada beberapa hal penting yang harus diperhatikan
IDE 1 : SDLC
Tiap Software House biasanya memiliki SOP atau panduan dalam membuat perangkat lunak, misalnya
STAGING
Development -> Testing -> Production, dan variasi lain
+ Continuous Integration
Lalu, dimana Docker bisa berperan?
SDLC
Versi terakhir lolos tes, siap untuk production,
masuk ke Docker!
Diharapkan dapat langsung berjalan pada server production, meskipun ada perbedaan environment
Begitu pula dengan developer serta tester, dapat langsung berfokus mengerjakan tugasnya tanpa harus memikirkan proses instalasi program lain yang dibutuhkan
IDE 2 : Implementasi saas
Pada proses implementasi SaaS (Software as a Service),
menyewakan aplikasi pada server di cloud,
ketika ada lebih dari 1 produk yang dijual, dan masing-masing produk membutuhkan environment yang berbeda-beda,
apakah harus diletakkan pada server yang berbeda?
Belum lagi ditambah, bagaimana jika menyewakan aplikasi, dengan beberapa versi sesuai dengan metode marketing yang diterapkan, butuh berapa banyak server, meskipun resource yang dimiliki sebenarnya cukup?
IMPLEMENTASI SAAS (2)
Dengan adanya Docker, tiap produk dapat dikemas dengan lebih mudah, bahkan bisa dikustomisasi untuk tiap klien, atau jika tidak perlu kustomisasi, maka source aplikasi dapat diletakkan di host server, lalu dibuat link dengan cara mount ke container
Belum lagi kekhawatiran, untuk migrasi atau pindah host server, dengan dibuat dalam bentuk image, akan lebih mudah untuk pemindahan, hal ini juga yang menyebabkan Docker menjadi teknologi yang mengguncang dunia cloud
implementasi SAAS (3)
Contoh implementasi arsitektur
IMplementasi saas
Docker dapat berisi aplikasi + infrastrukturnya,
bisa juga diisi database, antar docker dapat berkomunikasi,
Selain itu, bila masuk ke dalam docker, apabila metode penjualan berubah, dapat dideploy di server klien tanpa takut perbedaan environment akan mengganggu kinerja aplikasi
IDE 3 : Offline distributed apps
Ada banyak sekali teknologi baru yang mendukung pembuatan aplikasi yang langsung dapat berjalan di banyak tempat, (desktop-mobile, atau multi OS)
Apache Cordova, NodeJS, Node-webkit
Docker container dapat berperan dalam pendistribusian aplikasi sehingga aplikasi dapat berjalan sebagaimana yang diharapkan meskipun bisa ada perbedaan lingkungan
Distributed apps
Salah satu keuntungan lain yang mungkin dapat diperhitungkan adalah, pengamanan kode aplikasi (?), misalnya aplikasi web, yang tidak dibutuhkan compiler
Hal lain adalah, proses instalasi aplikasi lain yang dibutuhkan sudah dibundel sehingga tidak merepotkan pengguna