Containerization

Containerization adalah teknik pengemasan aplikasi perangkat lunak beserta seluruh dependensinya (seperti library, konfigurasi, dan runtime khusus) ke dalam sebuah wadah terisolasi yang disebut **Container**. Melalui wadah ini, aplikasi dijamin berjalan dengan perilaku yang sama di server mana pun.

1. Kontainer Logistik Kapal Cargo

Dahulu, industri maritim kesulitan memuat barang di kapal karena karung beras dicampur bebas dengan kotak mainan kayu dan buah-buahan. Barang sering rusak, pecah, atau tertukar.

Dunia pelayaran kemudian menetapkan standar **Kontainer Logistik (Peti Kemas)** yang seragam. Apapun isinya (mobil, baju, mainan), mereka memiliki pengunci luar yang sama. Kapal laut tidak perlu peduli apa isinya; mereka cukup mengangkut dan menyusun kontainer tersebut di atas dek. Di dunia software, aplikasi dibungkus ke dalam **Docker Container** agar server cloud bisa menjalankannya secara standar dan teratur.

2. Perbedaan Container vs Virtual Machine (VM)

Sebelum teknologi kontainer populer, pengembang menggunakan Virtual Machine (VM) untuk mengisolasi aplikasi. Berikut perbandingannya:

  • Virtual Machine: Memiliki sistem operasi virtual sendiri (Guest OS) yang berjalan di atas Hypervisor. VM memakan kapasitas penyimpanan besar (bergiga-giga) dan booting memakan waktu beberapa menit.
  • Container: Tidak memerlukan OS tamu. Container berjalan langsung di atas sistem operasi induk dan berbagi kernel OS yang sama. Sangat ringan (hanya puluhan megabyte) dan booting instan dalam hitungan milidetik.
?

Uji Pemahaman Mandiri

Apakah keuntungan utama menggunakan Containerization dibandingkan menggunakan Virtual Machine?

A. Container berjalan lebih lambat sehingga aman dari hacker
B. Container jauh lebih ringan dan hemat memori karena tidak memerlukan sistem operasi (Guest OS) terpisah
C. Container hanya bisa berjalan di sistem operasi macOS

Bangun Karier Sebagai AI Engineer dalam 8 Minggu!

Info Detail