Containerization vs Virtualization

1. Perkenalan

Virtualisasi dan containerization adalah dua mekanisme yang paling sering digunakan untuk menghosting aplikasi di sistem komputer . Virtualisasi menggunakan pengertian mesin virtual sebagai unit fundamental. Kontainerisasi, di sisi lain, menggunakan konsep wadah. Kedua teknologi ini memainkan peran penting dan memiliki kelebihan dan kekurangan.

Pada artikel ini, kami akan memperkenalkan kedua teknologi ini dan membandingkan beberapa karakteristiknya.

2. Virtualisasi

Virtualisasi membantu kita membuat versi virtual atau berbasis perangkat lunak dari sumber daya komputer . Sumber daya komputer ini dapat mencakup perangkat komputasi, penyimpanan, jaringan, server, atau bahkan aplikasi.

Ini memungkinkan organisasi untuk mempartisi satu komputer fisik atau server menjadi beberapa mesin virtual (VM) . Setiap VM kemudian dapat berinteraksi secara independen dan menjalankan sistem operasi atau aplikasi yang berbeda sambil berbagi sumber daya dari satu komputer.

2.1. Bagaimana Cara Kerja Virtualisasi?

Perangkat lunak Hypervisor memfasilitasi virtualisasi . Hypervisor berada di atas sistem operasi. Namun, kami juga dapat memiliki hypervisor yang diinstal langsung ke perangkat keras. Hypervisor mengambil sumber daya fisik dan membaginya sehingga lingkungan virtual dapat menggunakannya .

Ketika pengguna atau program mengeluarkan instruksi ke VM yang membutuhkan sumber daya tambahan dari lingkungan fisik, hypervisor menyampaikan permintaan ke sistem fisik dan menyimpan perubahannya ke cache. Ada dua tipe hypervisor, Tipe 1 (Bare Metal) dan Tipe 2 (Hosted).

Fitur utama virtualisasi adalah memungkinkan Anda menjalankan sistem operasi yang berbeda pada perangkat keras yang sama. Setiap sistem operasi mesin virtual (OS tamu) melakukan semua aktivitas start-up yang diperlukan seperti bootstrap, memuat kernel, dan sebagainya. Namun, setiap OS tamu dikontrol melalui langkah-langkah keamanan yang ditingkatkan sehingga mereka tidak memperoleh akses penuh ke OS yang mendasarinya.

3. Kontainerisasi

Containerization adalah alternatif ringan untuk virtualisasi. Ini melibatkan merangkum aplikasi dalam wadah dengan lingkungan operasinya sendiri. Jadi, alih-alih menginstal OS untuk setiap mesin virtual, container menggunakan OS host.

3.1. Bagaimana Cara Kerja Containerization?

Setiap penampung adalah paket perangkat lunak yang dapat dijalankan yang berjalan di atas OS host . Sebuah host dapat mendukung banyak penampung secara bersamaan. Misalnya, dalam lingkungan arsitektur layanan mikro, penyiapan ini berfungsi karena semua container berjalan pada proses minimal yang diisolasi sumber daya yang tidak dapat diakses orang lain.

Diagram sebelumnya menunjukkan tata letak arsitektur dalam container. Kami dapat menganggap wadah sebagai lapisan atas kue berlapis-lapis:

  1. Di bagian bawah lapisan, terdapat infrastruktur fisik seperti CPU, penyimpanan disk, dan antarmuka jaringan
  2. Di atas itu, ada OS host dan kernelnya. Kernel bertindak sebagai jembatan antara perangkat lunak OS dan sumber daya perangkat keras
  3. Mesin kontainer dan OS tamu minimalnya berada di atas OS host
  4. Di bagian paling atas, ada biner, pustaka untuk setiap aplikasi, dan aplikasi yang berjalan di ruang pengguna yang terisolasi

Containerization berevolusi dari fitur Linux yang dikenal sebagai cgroups . Ini adalah fitur untuk mengisolasi dan mengontrol penggunaan sumber daya untuk proses sistem operasi.

Misalnya, ini menentukan jumlah CPU dan RAM atau jumlah utas yang dapat diakses oleh suatu proses dalam kernel Linux. cgroups kemudian menjadi Linux Containers (LXC) dengan fitur yang lebih canggih untuk isolasi namespace komponen, seperti tabel routing dan sistem file.

4. Perbandingan

Mari kita rangkum perbandingan antara virtualisasi dan containerization dalam berbagai aspek:

Daerah

Virtualisasi

Kontainerisasi

Isolasi

Menyediakan isolasi lengkap dari sistem operasi host dan VM lainnya

Biasanya memberikan isolasi ringan dari host dan penampung lain, tetapi tidak memberikan batasan keamanan sekuat VM

Sistem operasi

Menjalankan sistem operasi lengkap termasuk kernel, sehingga membutuhkan lebih banyak sumber daya sistem seperti CPU, memori, dan penyimpanan

Menjalankan bagian mode pengguna dari suatu sistem operasi, dan dapat disesuaikan agar hanya berisi layanan yang diperlukan untuk aplikasi Anda menggunakan lebih sedikit sumber daya sistem

Kompatibilitas tamu

Menjalankan hampir semua sistem operasi di dalam mesin virtual

Berjalan pada versi sistem operasi yang sama dengan host

Penyebaran

Terapkan VM individu dengan menggunakan perangkat lunak Hypervisor

Deploy container individu dengan menggunakan Docker atau terapkan beberapa container dengan menggunakan orchestrator seperti Kubernetes

Penyimpanan persisten

Gunakan Virtual Hard Disk (VHD) untuk penyimpanan lokal untuk satu VM atau berbagi file Server Message Block (SMB) untuk penyimpanan yang digunakan bersama oleh beberapa server

Gunakan disk lokal untuk penyimpanan lokal untuk satu node atau SMB untuk penyimpanan yang digunakan bersama oleh beberapa node atau server

Penyeimbang beban

Teknik load balancing mesin virtual dilakukan dengan menjalankan VM di server lain dalam cluster failover

Orchestrator dapat secara otomatis memulai atau menghentikan container pada node cluster untuk mengelola perubahan dalam pemuatan dan ketersediaan.

Jaringan

Menggunakan adaptor jaringan virtual

Menggunakan tampilan terisolasi dari adaptor jaringan virtual. Dengan demikian, memberikan virtualisasi sedikit lebih sedikit

 





























5. Kesimpulan

Awalnya, kami memperkenalkan virtualisasi dan membahas cara kerjanya. Kami kemudian pindah ke konsep containerization dan memberikan gambaran umum tentang cara kerjanya.

Kami menyimpulkan artikel dengan membandingkan beberapa aspek virtualisasi dan containerisasi.

Komentar

Postingan populer dari blog ini

KONSEP, KELEBIHAN, KEKURANGAN CONTAINERIZATION BERSERTA TEKNOLOGI DAN STUDI KASUS CONTAINERIZATION

Mengapa Harus Belajar Cloud Computing ?

Setting Up VM and Domain