Mengenal Model Layanan Cloud: IaaS, PaaS, SaaS dan Implementasinya di Microsoft Azure

Daftar Isi

Memahami model layanan cloud adalah modal dasar sebelum Anda mendesain, men-deploy, atau mengoperasikan apa pun di Azure. Pertanyaannya selalu sama: seberapa banyak yang ingin Anda kelola sendiri, dan seberapa banyak yang ingin diserahkan ke Microsoft? Jawabannya menentukan biaya, kecepatan delivery, tingkat kontrol, dan juga beban keamanan Anda.

Artikel ini membahas IaaS PaaS SaaS Azure secara hands-on: definisi teknisnya, layanan Azure yang mewakili masing-masing, contoh konfigurasi dengan Azure CLI, dan tabel untuk membantu Anda memilih. Pembahasan perbedaan IaaS PaaS SaaS di sini juga sejalan dengan materi AZ-900 (Cloud Concepts) dan menjadi pijakan untuk AZ-104 maupun AZ-204.

Catatan: Model layanan menjawab pertanyaan seberapa banyak yang dikelola penyedia. Ini berbeda dari model deployment (public, private, hybrid) yang menjawab di mana cloud berjalan. Pembagian tanggung jawab keamanannya dibahas di artikel tentang shared responsibility model.

1. Penjelasan Lengkap IaaS, PaaS, dan SaaS beserta Contoh Kasus Penggunaan

Bayangkan sebuah spektrum. Di satu ujung Anda memegang kontrol penuh tetapi mengurus hampir semuanya. Di ujung lain Anda tinggal memakai aplikasi jadi. IaaS, PaaS, dan SaaS adalah tiga titik utama di spektrum itu.

IaaS (Infrastructure as a Service)

IaaS menyediakan blok bangunan infrastruktur: compute, jaringan, dan storage, yang diabstraksikan lewat virtualization di atas hardware fisik milik penyedia.

Karakteristik:

  • Anda mengelola sistem operasi, middleware, runtime, aplikasi, dan data.
  • Penyedia mengelola hardware fisik, hypervisor, dan jaringan fisik.
  • Fleksibilitas dan kontrol tinggi, termasuk kustomisasi OS dan software pihak ketiga.
  • Tanggung jawab patching, hardening, dan backup ada pada Anda.

Contoh kasus:

  • Lift-and-shift aplikasi legacy dari on-premises tanpa mengubah kode.
  • Workload yang butuh OS atau software khusus, misalnya aplikasi Windows lama atau agen keamanan tertentu.
  • Lingkungan dev/test sementara yang bisa dibuat dan dihapus dengan cepat.

PaaS (Platform as a Service)

PaaS menyediakan platform siap pakai untuk membangun dan menjalankan aplikasi tanpa mengurus OS dan infrastruktur di bawahnya.

Karakteristik:

  • Anda fokus pada kode aplikasi dan data, serta konfigurasi identity dan akses.
  • Penyedia mengelola OS, patching, runtime, dan skalabilitas platform.
  • Fitur bawaan seperti autoscaling, backup otomatis, dan high availability.
  • Kontrol terhadap OS terbatas, dan ada batasan sesuai platform.

Contoh kasus:

  • Aplikasi web dan REST API yang ingin cepat rilis.
  • Database terkelola tanpa DBA yang mengurus patching engine.
  • Arsitektur serverless untuk proses berbasis event, di mana Anda hanya menulis fungsi dan platform menangani sisanya.

SaaS (Software as a Service)

SaaS adalah aplikasi lengkap yang disajikan penyedia lewat browser atau klien, biasanya dengan model langganan per pengguna.

Karakteristik:

  • Penyedia mengelola hampir seluruh stack: aplikasi, platform, OS, dan infrastruktur.
  • Anda mengatur data, identitas dan akses, konfigurasi tenant, serta perangkat pengguna.
  • Waktu adopsi sangat cepat, tetapi kustomisasi terbatas pada opsi yang disediakan.

Contoh kasus: email dan kolaborasi perusahaan, CRM, serta manajemen proyek dan source code tanpa memelihara servernya sendiri.

Perbandingan Awal: Siapa Mengelola Apa

Lapisan On-Premises IaaS PaaS SaaS
Aplikasi dan data Anda Anda Anda Penyedia (data tetap tanggung jawab Anda)
Runtime dan middleware Anda Anda Penyedia Penyedia
Sistem operasi Anda Anda Penyedia Penyedia
Virtualization dan hardware Anda Penyedia Penyedia Penyedia

Apa pun modelnya, data, identitas, dan perangkat selalu tetap menjadi tanggung jawab Anda.

2. Contoh Layanan IaaS di Azure

Di Azure, IaaS berpusat pada tiga pilar: compute, jaringan, dan storage. Ini juga area yang paling banyak diujikan di AZ-104.

Azure Virtual Machines

Azure Virtual Machines (VM) adalah compute IaaS yang berjalan di atas hypervisor Azure. Anda memilih image (Windows atau Linux), ukuran VM, dan disk.

Hal penting yang perlu dipahami:

  • VM size dan series: pilih sesuai profil beban, misalnya general purpose, compute optimized, atau memory optimized.
  • Managed Disks: Azure mengelola storage disk untuk Anda, dengan beberapa tipe performa (misalnya Standard HDD, Standard SSD, Premium SSD).
  • Ketersediaan tinggi: gunakan Availability Zones atau Availability Sets, serta Virtual Machine Scale Sets untuk skala otomatis.
  • Akses admin aman: pakai Azure Bastion alih-alih membuka RDP/SSH ke internet.
  • Patching: gunakan Azure Update Manager. Ingat, patching OS adalah tugas Anda di IaaS.
  • Biaya: VM yang hanya dimatikan dari dalam OS masih ditagih untuk compute. Hentikan lewat portal atau CLI hingga berstatus Stopped (deallocated) untuk menghentikan tagihan compute.

Azure Virtual Network (VNet)

Azure Virtual Network adalah jaringan privat Anda di Azure, dengan address space, subnet, dan kontrol lalu lintas.

  • Subnet dan NSG (Network Security Group): segmentasi dan filter lalu lintas berbasis aturan.
  • Route table (UDR): mengatur rute kustom, misalnya melewatkan trafik lewat firewall.
  • VNet Peering: menghubungkan antar-VNet dengan latensi rendah lewat backbone Microsoft.
  • VPN Gateway dan ExpressRoute: konektivitas ke on-premises.
  • Azure Firewall dan Load Balancer: perlindungan jaringan dan distribusi trafik.

Storage Account

Azure Storage Account adalah wadah layanan storage. Meski sering terasa seperti layanan terkelola, ia kerap dikelompokkan sebagai infrastruktur storage yang konfigurasinya menjadi tanggung jawab Anda.

  • Blob (objek), Files (file share SMB/NFS), Queue, dan Table.
  • Redundansi: LRS, ZRS, GRS, GZRS. Pilih sesuai target ketersediaan dan Data Residency.
  • Access tier: Hot, Cool, Cold, dan Archive untuk mengoptimalkan biaya.
  • Keamanan: gunakan autentikasi Microsoft Entra ID dengan RBAC (misalnya peran Storage Blob Data Contributor), batasi akses jaringan, dan gunakan Private Endpoint.

Referensi sertifikasi: AZ-104 menguji pembuatan VM, konfigurasi VNet dan NSG, serta pengelolaan Storage Account secara langsung.

3. Contoh Layanan PaaS di Azure

Di PaaS, Anda menyerahkan OS dan platform ke Azure, lalu fokus pada aplikasi, data, dan konfigurasi.

Azure App Service

Azure App Service menjalankan aplikasi web, REST API, dan backend mobile tanpa Anda mengurus server.

  • Mendukung beberapa runtime, seperti .NET, Java, Node.js, Python, dan PHP, serta container.
  • App Service Plan menentukan resource compute dan fitur yang tersedia.
  • Deployment slots untuk staging dan swap tanpa downtime (tersedia di tier tertentu).
  • Autoscale, integrasi VNet, dan Managed Identity agar aplikasi mengakses resource lain tanpa menyimpan kredensial.

Azure SQL Database

Azure SQL Database adalah database relasional terkelola berbasis engine SQL Server.

  • Backup otomatis dan point-in-time restore, tanpa Anda mengatur jadwal backup.
  • High availability bawaan dan opsi geo-replication untuk disaster recovery.
  • Elastic pool untuk berbagi resource antar banyak database.
  • Autentikasi lewat Microsoft Entra ID, enkripsi TDE secara default, dan akses jaringan yang bisa dibatasi dengan firewall rule atau Private Endpoint.

Perlu dicatat, ada spektrum: SQL Server di VM adalah IaaS (kontrol penuh, patching Anda), SQL Managed Instance berada di tengah (kompatibilitas tinggi dengan SQL Server on-premises), dan Azure SQL Database paling terkelola.

Azure Functions

Azure Functions adalah layanan serverless berbasis event: Anda menulis fungsi, Azure menangani provisioning dan skala.

  • Trigger dan binding: HTTP, Timer, Blob, Queue, Service Bus, Event Grid, dan lainnya.
  • Skala otomatis, bahkan hingga nol instance pada paket berbasis konsumsi, dengan penagihan berdasarkan pemakaian pada paket tersebut.
  • Pilihan hosting berbeda (Consumption, Flex Consumption, Premium, Dedicated) dengan trade-off cold start, jaringan, dan biaya.

Contoh kasus: memproses file yang baru diunggah ke Blob Storage, menjalankan tugas terjadwal, atau membangun API ringan.

Layanan PaaS Lain yang Perlu Dikenal

  • Azure Kubernetes Service (AKS): Kubernetes terkelola. Control plane dikelola Azure, sedangkan node dan workload tetap tanggung jawab Anda.
  • Azure Container Apps: menjalankan container dengan pendekatan serverless.
  • Azure Cosmos DB: database NoSQL terdistribusi global.

Referensi sertifikasi: AZ-900 menekankan konsep PaaS dan serverless. AZ-204 (Developer) mendalami App Service, Functions, dan integrasi identity.

4. Contoh Layanan SaaS di Azure dan Microsoft

Pada SaaS, Anda mengonsumsi aplikasi jadi. Pekerjaan Anda bergeser ke administrasi tenant, identity, data, dan kepatuhan.

Microsoft 365

Microsoft 365 mencakup Exchange Online, SharePoint Online, OneDrive, dan Teams, ditambah Office apps.

  • Identitas dikelola melalui Microsoft Entra ID yang sama dengan Azure.
  • Anda mengatur lisensi, MFA, Conditional Access, kebijakan DLP, retensi data, dan pengaturan berbagi eksternal.
  • Server, patching, dan scaling sepenuhnya urusan Microsoft.

Azure DevOps (Azure DevOps Services)

Azure DevOps Services adalah platform DevOps berbasis SaaS: Boards, Repos, Pipelines, Artifacts, dan Test Plans.

  • Anda tidak mengurus server build atau database-nya. Cukup buat organization dan project.
  • Izin dikelola lewat security group dan permission milik Azure DevOps, terintegrasi dengan Entra ID.
  • Bila butuh versi yang dihosting sendiri, tersedia Azure DevOps Server (on-premises), yang bukan SaaS.

SaaS Lain

  • Dynamics 365: ERP dan CRM.
  • Azure Marketplace: banyak ISV menjual solusi SaaS yang bisa dibeli dan ditagih lewat subscription Azure.

Catatan penting: Jangan tertukar antara Azure RBAC dan peran di SaaS. Azure RBAC mengatur akses ke resource Azure. Pada Microsoft 365 dan Azure DevOps, akses utamanya diatur lewat Entra ID roles, lisensi, dan permission internal aplikasi tersebut.

5. Tabel Perbandingan Ringkas IaaS vs PaaS vs SaaS di Azure

Gunakan tabel ini sebagai panduan cepat saat memilih layanan.

Aspek IaaS PaaS SaaS
Contoh layanan Virtual Machines, VNet, Storage Account App Service, Azure SQL Database, Azure Functions Microsoft 365, Azure DevOps Services, Dynamics 365
Yang Anda kelola OS, runtime, aplikasi, data, konfigurasi jaringan Aplikasi, data, identity dan akses Data, identity, konfigurasi tenant, perangkat
Yang dikelola Azure/Microsoft Hardware, virtualization, jaringan fisik Ditambah OS dan platform Hampir seluruh stack
Kontrol Tertinggi Menengah Terendah
Kecepatan deploy Menengah Cepat Tercepat
Beban operasional Tinggi (patching, scaling) Rendah-menengah Sangat rendah
Skalabilitas Manual atau via scale set Otomatis atau terkonfigurasi Dikelola penyedia
Kustomisasi Sangat fleksibel Terbatas platform Terbatas fitur aplikasi
Cocok untuk Lift-and-shift, software khusus Aplikasi baru, API, event-driven Kolaborasi, CRM, tooling siap pakai

Panduan Memilih Berdasarkan Kebutuhan Proyek

  • Pilih IaaS bila Anda memerlukan kontrol OS, menjalankan software khusus, atau memigrasikan aplikasi legacy apa adanya.
  • Pilih PaaS bila Anda membangun aplikasi baru dan ingin tim fokus ke kode dan fitur, bukan patching dan scaling.
  • Pilih serverless (Functions) untuk workload berbasis event dengan trafik tidak menentu.
  • Pilih SaaS bila kebutuhan Anda sudah dipenuhi produk jadi dan membangun sendiri tidak memberi nilai tambah.
  • Kombinasikan. Arsitektur nyata hampir selalu campuran, misalnya aplikasi di App Service (PaaS) yang terhubung ke VM legacy (IaaS) dan memakai Microsoft 365 (SaaS) untuk notifikasi dan kolaborasi.

Kesimpulan

Memahami model layanan cloud berarti memahami trade-off antara kontrol dan kemudahan. IaaS (Virtual Machines, VNet, Storage Account) memberi kontrol penuh dengan beban operasional tinggi. PaaS (App Service, Azure SQL Database, Azure Functions) mempercepat delivery dengan menyerahkan OS dan platform ke Azure. SaaS (Microsoft 365, Azure DevOps) paling praktis, dengan Anda fokus pada identity, data, dan konfigurasi. Itulah inti perbedaan IaaS PaaS SaaS di Azure.

Posting Komentar