IaaS #

Infrastructure as a Service (IaaS) adalah model layanan cloud yang paling rendah tingkat abstraksinya — kamu mendapat akses ke sumber daya infrastruktur virtual seperti compute, storage, dan networking, lalu bertanggung jawab atas semua yang ada di atasnya. IaaS memberikan kontrol maksimum, tapi juga tanggung jawab operasional yang paling besar di antara model layanan cloud. Memahami di mana IaaS unggul dan di mana ia bukan pilihan terbaik adalah kunci untuk menggunakannya secara efektif.

Apa yang Kamu Dapat di IaaS #

Di IaaS, cloud provider menyediakan “bata-bata” infrastruktur virtual yang bisa kamu susun sesuai kebutuhan. Provider mengelola hardware fisik; sisanya ada di tangan kamu.

Lapisan Tanggung Jawab di IaaS:

  Provider mengelola:
    ✓ Server fisik, storage fisik, jaringan fisik
    ✓ Hypervisor (virtualisasi)
    ✓ Data center: power, cooling, physical security
    ✓ Keamanan jaringan backbone

  Kamu mengelola:
    □ Sistem operasi — instalasi, patching, hardening
    □ Runtime — bahasa pemrograman, web server, application server
    □ Middleware — message broker, cache layer
    □ Aplikasi — deployment, konfigurasi, update
    □ Data — backup, enkripsi, replikasi
    □ Keamanan OS dan aplikasi
    □ Konfigurasi jaringan virtual (VPC, subnet, security group)

Komponen Utama IaaS #

IaaS bukan hanya soal VM. Ada beberapa komponen yang bekerja bersama membentuk infrastruktur virtual.

Compute #

Virtual Machine (VM) adalah unit komputasi utama di IaaS. Kamu memilih spesifikasi — CPU, RAM, arsitektur — dan mendapat instance yang bisa digunakan seperti server fisik, tapi berjalan di atas hypervisor.

Karakteristik Compute IaaS:
  ✓ Pilihan penuh OS: Linux berbagai distro, Windows Server
  ✓ Akses root/administrator penuh
  ✓ Bisa install software apapun
  ✓ Persistent — instance tetap berjalan sampai kamu hentikan
  
  Contoh layanan (vendor-agnostic):
  → Virtual Machine, Instance, Compute Engine
    (terminologi berbeda untuk konsep yang sama di provider berbeda)

Networking Virtual #

IaaS menyertakan kemampuan networking yang bisa dikonfigurasi — virtual network (VPC/VNet), subnet, routing table, firewall, dan load balancer.

Komponen Networking di IaaS:
  
  Virtual Network (VPC/VNet)
      ├── Public Subnet  → resource yang bisa diakses internet
      ├── Private Subnet → resource yang hanya accessible internal
      └── Routing Table  → aturan ke mana trafik diarahkan

  Security Group / Network ACL:
      → Firewall virtual yang mengontrol trafik masuk dan keluar
      → Kamu yang menentukan port mana yang terbuka

  Load Balancer:
      → Mendistribusikan trafik ke beberapa instance
      → Bisa managed (provider yang urus) atau self-managed

Block Storage #

Persistent storage yang di-attach ke VM. Seperti hard disk, tapi virtual. Data tetap ada meskipun VM di-restart.

Block Storage vs Ephemeral Storage:

  Ephemeral (instance store):
    → Storage yang menempel di fisik host
    → HILANG saat instance dihentikan atau di-migrate
    ✓ Sangat cepat (akses lokal)
    ✗ Tidak persistent

  Block Storage (EBS, Persistent Disk, Managed Disk):
    → Storage independen dari siklus hidup VM
    → Data bertahan meski instance dihapus
    ✓ Persistent dan bisa di-detach/re-attach ke VM lain
    ✗ Sedikit lebih lambat dari ephemeral
    ✓ Bisa di-snapshot untuk backup

Kapan IaaS adalah Pilihan Tepat #

IaaS bukan model layanan yang harus dihindari atau ditinggalkan demi PaaS dan SaaS. Ada skenario di mana IaaS adalah pilihan yang paling masuk akal.

Gunakan IaaS jika:
  ✓ Kamu butuh kontrol penuh atas OS dan environment
      → Custom kernel, konfigurasi OS spesifik
      → Software yang tidak tersedia sebagai managed service

  ✓ Kamu me-migrate legacy application ke cloud
      → Lift-and-shift yang butuh environment yang sama
        persis dengan on-premise
      → Sebagai langkah pertama sebelum modernisasi lebih lanjut

  ✓ Aplikasi punya persyaratan khusus yang tidak bisa dipenuhi PaaS
      → Regulasi yang mengharuskan konfigurasi OS tertentu
      → Software dengan lisensi yang tidak kompatibel dengan managed service

  ✓ Kamu butuh customize network stack secara mendalam
      → Arsitektur jaringan yang sangat spesifik

Pertimbangkan PaaS/managed service jika:
  ✗ Kamu tidak ingin pusing dengan OS patching
  ✗ Komponen yang kamu butuhkan sudah tersedia sebagai managed service
    (database, cache, queue) — tidak ada alasan kelola sendiri
  ✗ Tim kecil yang tidak punya kapasitas untuk kelola infrastruktur

Trade-off IaaS #

Setiap keputusan arsitektur ada trade-off-nya. IaaS tidak terkecuali.

Keuntungan IaaS:
  ✓ Kontrol maksimum — kamu tentukan semua konfigurasi
  ✓ Fleksibilitas tinggi — bisa jalankan hampir semua workload
  ✓ Portabilitas — environment bisa direplikasi ke provider lain
    (meski tidak selalu mudah)
  ✓ Biaya bisa lebih rendah untuk workload yang sangat spesifik
    dan dioptimasi dengan baik

Kekurangan IaaS:
  ✗ Tanggung jawab operasional tinggi
      → OS patching, hardening, monitoring di level OS
      → Butuh keahlian yang spesifik
  ✗ Tidak auto-scaling secara default
      → Perlu konfigurasi auto-scaling group secara eksplisit
  ✗ Tidak memanfaatkan penuh keunggulan cloud
      → Menggunakan VM seperti server fisik tradisional
        menghilangkan banyak keunggulan cloud
  ✗ Hidden operational cost
      → Waktu engineer untuk maintain OS tidak terlihat di tagihan cloud,
        tapi ada biayanya
Salah satu anti-pattern paling umum di IaaS adalah “VM sprawl” — banyak VM yang dibuat untuk keperluan sementara tapi tidak pernah dihapus. VM yang berjalan tanpa workload tetap dikenakan biaya. Implementasi tagging, automated shutdown untuk dev/test environment, dan regular audit adalah praktik penting untuk mengendalikan biaya IaaS.

IaaS dalam Konteks Vendor-Agnostic #

Karena blog ini menekankan mindset cloud yang agnostik terhadap vendor, penting untuk memahami bahwa konsep IaaS adalah universal — implementasinya berbeda di setiap provider, tapi konsepnya sama.

Konsep Universal IaaS (implementasi berbeda per provider):

  Virtual Machine:
    → Semua provider menyediakan ini dengan nama berbeda
    → Perbedaan: instance types, pricing model, default specs
    → Konsep: sama persis

  Virtual Network:
    → VPC, VNet, atau Virtual Private Cloud
    → Konsep subnet, routing, dan security group konsisten
    → Detail implementasi berbeda tapi prinsip sama

  Block Storage:
    → Persistent disk yang di-attach ke VM
    → Performance tier, snapshot, encryption — semua tersedia
    → API berbeda, tapi fungsinya identik

  Load Balancer:
    → Distribusi trafik ke beberapa instance
    → Layer 4 (TCP) dan Layer 7 (HTTP/HTTPS)
    → Tersedia di semua provider besar

Ringkasan #

  • IaaS memberikan kontrol maksimum dengan tanggung jawab maksimum — kamu kelola OS ke atas, provider kelola hardware ke bawah.
  • VM, virtual networking, dan block storage adalah komponen inti IaaS — ketiganya bekerja bersama membentuk infrastruktur virtual yang lengkap.
  • IaaS paling tepat untuk workload yang butuh kontrol OS penuh — atau saat migrasi legacy application yang belum siap direfactor.
  • IaaS bukan “pindah ke cloud” yang sesungguhnya jika diperlakukan seperti server tradisional — manfaat cloud baru terasa ketika elastisitas dan automation dimanfaatkan.
  • VM sprawl adalah jebakan biaya yang nyata — terapkan tagging dan automated cleanup untuk dev/test environment.
  • Konsep IaaS universal, implementasi berbeda per provider — pindah provider membutuhkan penyesuaian teknis, tapi bukan pemahaman ulang dari nol.

← Sebelumnya: Control Plane vs Data Plane   Berikutnya: FaaS/Serverless →

About | Author | Content Scope | Editorial Policy | Privacy Policy | Disclaimer | Contact