Kodeloka
  1. Kodeloka
  2. Kelas Docker
  3. Materi

Architecture · Modul 2 dari 21

Physical Servers vs Virtualization vs Containers

Evolusi infrastruktur dari fisik (Bare Metal), Virtual Machine (Hypervisor), hingga Kontainer Docker.

Perbandingan Infrastruktur: Bare Metal vs VM vs Container

Untuk memahami arsitektur Docker, kita harus melihat perjalanan evolusi komputasi server selama 2 dekade terakhir.

1. Physical Servers (Bare Metal)

Aplikasi diinstal langsung di atas Sistem Operasi server fisik. Masalah utama: Pemborosan sumber daya (CPU & RAM idle), biaya hardware mahal, dan instalasi yang lambat.

2. Virtual Machines (Virtualisasi Tradisional)

Teknologi seperti VMware, VirtualBox, atau KVM menggunakan **Hypervisor** untuk membagi hardware fisik menjadi beberapa VM. Setiap VM memiliki Guest OS tersendiri yang lengkap (misal: Ubuntu, Windows Server).

  • Kelebihan: Isolasi total tingkat hardware.
  • Kekurangan: Sangat berat (overhead memori & CPU besar), boot time lambat (hitung menit), ukuran image puluhan Gigabyte.

3. Containers (Docker)

Kontainer **TIDAK** membutuhkan Guest OS terpisah! Semua kontainer berbagi (share) **Host OS Kernel** yang sama, namun terisolasi di tingkat proses (user space).

⚡ Performa Kontainer:
Kontainer Docker dapat di-start hanya dalam waktu hitungan milidetik atau detik, dengan penggunaan memori yang sangat minim (hanya beberapa MB).
+-----------------------+     +-----------------------+
|  App A   |   App B    |     |  App A   |   App B    |
| (Deps)   |  (Deps)    |     | (Deps)   |  (Deps)    |
+----------+------------+     +----------+------------+
|   Docker Engine       |     | Guest OS | Guest OS   |
+-----------------------+     +----------+------------+
|      Host OS          |     |      Hypervisor       |
+-----------------------+     +-----------------------+
|   Physical Hardware   |     |   Physical Hardware   |
|     (Containers)      |     |  (Virtual Machines)   |
+-----------------------+     +-----------------------+