Membandingkan kontainer dengan komputer virtual

Selesai

Virtualisasi perangkat keras telah memungkinkan untuk menjalankan beberapa instans sistem operasi yang terisolasi secara bersamaan pada perangkat keras fisik yang sama. Kontainer mewakili tahap berikutnya dalam virtualisasi sumber daya komputasi.

Virtualisasi berbasis kontainer memungkinkan Anda untuk memvirtualisasi sistem operasi. Pendekatan ini memungkinkan Anda menjalankan beberapa aplikasi dalam instans sistem operasi yang sama, sambil mempertahankan isolasi antara aplikasi. Kontainer dalam komputer virtual menyediakan fungsionalitas yang mirip dengan komputer virtual dalam server fisik.

Hal-hal yang perlu diketahui tentang kontainer versus komputer virtual

Untuk lebih memahami virtualisasi berbasis kontainer, mari kita bandingkan kontainer dan komputer virtual.

Bandingkan Kontainer Mesin virtual
Isolasi Kontainer biasanya menyediakan isolasi ringan dari host dan kontainer lainnya, tetapi kontainer tidak menyediakan batas keamanan yang kuat sebagai komputer virtual. Komputer virtual menyediakan isolasi lengkap dari sistem operasi host dan komputer virtual lainnya. Pemisahan ini berguna ketika batas keamanan yang kuat sangat penting, seperti menghosting aplikasi dari perusahaan yang bersaing di server atau kluster yang sama.
Sistem operasi Kontainer menjalankan bagian mode pengguna dari sistem operasi dan dapat disesuaikan untuk hanya berisi layanan yang diperlukan untuk aplikasi Anda. Pendekatan ini membantu Anda menggunakan lebih sedikit sumber daya sistem. Komputer virtual menjalankan sistem operasi lengkap termasuk kernel, yang membutuhkan lebih banyak sumber daya sistem (CPU, memori, dan penyimpanan).
Penyebaran Anda dapat menyebarkan kontainer individual dengan menggunakan Docker melalui baris perintah. Anda dapat menyebarkan beberapa kontainer dengan menggunakan orkestrator seperti Azure Kubernetes Service. Anda dapat menyebarkan komputer virtual individual dengan menggunakan Pusat Admin Windows atau Manajer Hyper-V. Anda dapat menyebarkan beberapa komputer virtual dengan menggunakan PowerShell atau System Center Virtual Machine Manager.
Penyimpanan persisten Kontainer menggunakan Azure Disks untuk penyimpanan lokal untuk satu simpul, atau Azure Files (berbagi SMB) untuk penyimpanan yang dibagikan oleh beberapa simpul atau server. Komputer virtual menggunakan hard disk virtual (VHD) untuk penyimpanan lokal untuk satu komputer, atau berbagi file SMB untuk penyimpanan yang dibagikan oleh beberapa server.
Toleransi kesalahan Jika node kluster gagal, kontainer apa pun yang berjalan pada simpul dibuat ulang dengan cepat oleh orkestrator pada node kluster lain. Komputer virtual dapat melakukan failover ke server lain dalam kluster, tempat sistem operasi komputer virtual dimulai ulang di server baru.

Hal-hal yang perlu dipertimbangkan saat menggunakan kontainer

Kontainer menawarkan beberapa keuntungan daripada komputer fisik dan virtual. Tinjau manfaat berikut dan pertimbangkan bagaimana Anda dapat menerapkan kontainer untuk aplikasi internal untuk perusahaan Anda.

  • Pertimbangkan fleksibilitas dan kecepatan. Dapatkan peningkatan fleksibilitas dan kecepatan saat mengembangkan dan berbagi kode aplikasi kontainer Anda.

  • Pertimbangkan pengujian. Pilih kontainer untuk konfigurasi Anda untuk memungkinkan pengujian aplikasi yang disederhanakan.

  • Pertimbangkan penyebaran aplikasi. Terapkan kontainer untuk mendapatkan penyebaran aplikasi Anda yang efisien dan dipercepat.

  • Pertimbangkan kepadatan beban kerja. Mendukung kepadatan beban kerja yang lebih tinggi dan meningkatkan pemanfaatan sumber daya Anda dengan bekerja dengan kontainer.

Memahami gambar kontainer

Semua kontainer dibuat dari gambar kontainer. Gambar kontainer adalah paket perangkat lunak yang ringan, mandiri, dan dapat dieksekusi yang merangkum semua yang diperlukan untuk menjalankan aplikasi. Ini mencakup komponen-komponen berikut:

  • Kode: Kode sumber aplikasi.
  • Runtime: Lingkungan yang diperlukan untuk menjalankan aplikasi.
  • Alat sistem: Utilitas yang diperlukan agar aplikasi berfungsi.
  • Pustaka sistem: Pustaka bersama yang digunakan oleh aplikasi.
  • Pengaturan: Parameter konfigurasi khusus untuk aplikasi.

Saat Anda membuat gambar kontainer, gambar tersebut menjadi unit portabel yang dapat berjalan secara konsisten di berbagai lingkungan komputasi. Gambar-gambar ini adalah blok penyusun untuk kontainer, yang merupakan instans dari gambar-gambar ini yang berjalan pada runtime.