Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Petunjuk / Saran
Konten ini adalah kutipan dari eBook, Arsitektur Layanan Mikro .NET untuk Aplikasi .NET Kontainer, tersedia di .NET Docs atau sebagai PDF gratis yang dapat diunduh yang dapat dibaca secara offline.
Kontainerisasi adalah pendekatan untuk pengembangan perangkat lunak di mana aplikasi atau layanan, dependensinya, dan konfigurasinya (diabstraksi sebagai file manifes penyebaran) dikemas bersama-sama sebagai gambar kontainer. Aplikasi kontainer dapat diuji sebagai unit dan disebarkan sebagai instans gambar kontainer ke sistem operasi host (OS).
Sama seperti kontainer pengiriman memungkinkan barang untuk diangkut dengan kapal, kereta api, atau truk terlepas dari kargo di dalamnya, kontainer perangkat lunak bertindak sebagai unit standar penyebaran perangkat lunak yang dapat berisi kode dan dependensi yang berbeda. Proses containerisasi perangkat lunak dengan cara ini memungkinkan pengembang dan profesional TI untuk mengimplementasikannya ke berbagai lingkungan dengan sedikit atau tanpa modifikasi.
Kontainer juga mengisolasi aplikasi satu sama lain pada OS bersama. Aplikasi kontainer berjalan di atas host kontainer yang pada gilirannya berjalan pada OS (Linux atau Windows). Oleh karena itu, kontainer memiliki jejak yang jauh lebih kecil daripada gambar komputer virtual (VM).
Setiap kontainer dapat menjalankan seluruh aplikasi web atau layanan, seperti yang ditunjukkan pada Gambar 2-1. Dalam contoh ini, host Docker adalah host kontainer, dan App1, App2, Svc 1, dan Svc 2 adalah aplikasi atau layanan dalam kontainer.
Gambar 2-1. Beberapa kontainer yang berjalan pada host kontainer
Manfaat lain dari kontainerisasi adalah skalabilitas. Anda dapat meluaskan skala dengan cepat dengan membuat kontainer baru untuk tugas jangka pendek. Dari sudut pandang aplikasi, membuat instans gambar (membuat kontainer) mirip dengan membuat instans proses seperti layanan atau aplikasi web. Namun, untuk keandalan, ketika Anda menjalankan beberapa instans gambar yang sama di beberapa server host, Anda biasanya ingin setiap kontainer (instans gambar) berjalan di server host atau VM yang berbeda di domain kesalahan yang berbeda.
Singkatnya, kontainer menawarkan manfaat isolasi, portabilitas, kelincahan, skalabilitas, dan kontrol di seluruh alur kerja siklus hidup aplikasi. Manfaat terpenting adalah isolasi lingkungan yang disediakan antara Dev dan Ops.