Memilih layanan komputasi Azure

Azure App Service
Azure Kubernetes Service (AKS)

Azure menawarkan banyak cara untuk menghosting kode aplikasi Anda. Istilah komputasi mengacu pada model hosting untuk sumber daya yang dijalankan aplikasi Anda. Artikel ini membantu memilih layanan komputasi untuk aplikasi Anda.

Memilih layanan kandidat

Gunakan diagram alur berikut untuk memilih kandidat layanan komputasi.

Diagram that shows a decision tree for Azure compute services.

Unduh file Visio dari pohon keputusan ini.

Diagram ini mengacu pada dua strategi migrasi:

  • Angkat dan geser: Strategi untuk memigrasikan beban kerja ke cloud tanpa mendesain ulang aplikasi atau membuat perubahan kode. Ini juga disebut rehosting. Untuk informasi selengkapnya, lihat Pusat migrasi dan modernisasi Azure.
  • Cloud dioptimalkan: Strategi untuk bermigrasi ke cloud dengan merefaktor aplikasi untuk memanfaatkan fitur dan kemampuan cloud-native.

Output dari diagram alur ini adalah titik awal Anda. Selanjutnya, evaluasi layanan untuk melihat apakah layanan tersebut memenuhi kebutuhan Anda.

Artikel ini menyertakan beberapa tabel yang dapat membantu Anda memilih layanan. Kandidat awal dari diagram alur mungkin tidak cocok untuk aplikasi atau beban kerja Anda. Dalam hal ini, perluas analisis Anda untuk menyertakan layanan komputasi lainnya.

Jika aplikasi Anda terdiri dari beberapa beban kerja, evaluasi setiap beban kerja secara terpisah. Solusi lengkap dapat menggabungkan dua atau beberapa layanan komputasi.

Memahami fitur dasarnya

Jika Anda tidak terbiasa dengan layanan Azure yang dipilih di bagian sebelumnya, lihat dokumentasi gambaran umum ini:

  • Azure Virtual Machines: Layanan tempat Anda menyebarkan dan mengelola komputer virtual (VM) di dalam jaringan virtual Azure.
  • Azure App Service: Layanan terkelola untuk menghosting aplikasi web, back end aplikasi seluler, API RESTful, atau proses bisnis otomatis.
  • Azure Functions: Fungsi terkelola sebagai layanan.
  • Azure Kubernetes Service (AKS): Layanan Kubernetes terkelola untuk menjalankan aplikasi kontainer.
  • Azure Container Apps: Layanan terkelola yang dibangun di Kubernetes, yang menyederhanakan penyebaran aplikasi dalam kontainer di lingkungan tanpa server.
  • Azure Container Instances: Layanan ini adalah cara cepat dan sederhana untuk menjalankan kontainer di Azure. Anda tidak perlu menyediakan VM apa pun atau mengadopsi layanan tingkat yang lebih tinggi.
  • Azure Red Hat OpenShift: Kluster OpenShift yang dikelola sepenuhnya untuk menjalankan kontainer dalam produksi dengan Kubernetes.
  • Azure Spring Apps: Layanan terkelola yang dirancang dan dioptimalkan untuk menghosting aplikasi Spring Boot.
  • Azure Service Fabric: Platform sistem terdistribusi yang dapat berjalan di banyak lingkungan, termasuk Azure atau lokal.
  • Azure Batch: Layanan terkelola untuk menjalankan aplikasi komputasi paralel dan performa tinggi (HPC) skala besar.

Memahami model hosting

Untuk model hosting, layanan cloud termasuk dalam tiga kategori:

  • Infrastruktur sebagai layanan (IaaS): Memungkinkan Anda memprovisikan VM bersama dengan komponen jaringan dan penyimpanan terkait. Kemudian Anda dapat menyebarkan perangkat lunak dan aplikasi apa pun yang Anda inginkan ke VM tersebut. Model ini adalah yang paling dekat dengan lingkungan lokal tradisional. Microsoft mengelola infrastruktur. Anda masih mengelola VM.

  • Platform as a service (PaaS): Menyediakan lingkungan hosting terkelola tempat Anda dapat menyebarkan aplikasi tanpa perlu mengelola VM atau sumber daya jaringan. Azure App Service dan Azure Container Apps adalah layanan PaaS.

  • Functions as a service (FaaS): Memungkinkan Anda menyebarkan kode ke layanan, yang secara otomatis menjalankannya. Azure Functions adalah layanan FaaS.

    Catatan

    Azure Functions adalah penawaran komputasi Azure serverless. Untuk melihat bagaimana layanan ini dibandingkan dengan penawaran tanpa server Azure lainnya, seperti Logic Apps, yang menyediakan alur kerja tanpa server, lihat Memilih layanan integrasi dan otomatisasi yang tepat di Azure.

Ada spektrum dari IaaS ke PaaS murni. Misalnya, Azure VM dapat menskalakan secara otomatis dengan menggunakan set skala komputer virtual. Kemampuan ini tidak benar-benar PaaS, tetapi ini adalah jenis fitur manajemen yang ditemukan di PaaS.

Ada tradeoff antara kontrol dan kemudahan manajemen. IaaS memberikan kontrol, fleksibilitas, dan portabilitas terbanyak, tetapi Anda harus menyediakan, mengonfigurasi, dan mengelola VM dan komponen jaringan yang Anda buat. Layanan FaaS secara otomatis mengelola hampir semua aspek menjalankan aplikasi. PaaS jatuh di suatu tempat di antaranya.

Service Komposisi aplikasi Kepadatan Jumlah simpul minimum Manajemen Status Hosting web
Azure Virtual Machines Agnostik Agnostik 1 2 Stateless atau stateful Agnostik
Azure App Service Aplikasi, kontainer Beberapa aplikasi per instans dengan menggunakan paket App Service 1 Tanpa status Bawaan
Azure Functions Fungsi, kontainer Tanpa Server 1 Tanpa Server 1 Stateless atau stateful 6 Tidak berlaku
Azure Kubernetes Service Kontainer Beberapa kontainer per node 3 3 Stateless atau stateful Agnostik
Azure Container Apps Kontainer Tanpa server Tanpa server Stateless atau stateful Agnostik
Azure Container Instances Kontainer Tidak ada instans khusus Tidak ada node khusus Tanpa status Agnostik
Azure Red Hat OpenShift Kontainer Beberapa kontainer per node 6 5 Stateless atau stateful Agnostik
Azure Spring Apps Aplikasi, layanan mikro Beberapa aplikasi per instans layanan 2 Tanpa status Bawaan
Azure Service Fabric Layanan, tamu yang dapat dijalankan, kontainer Beberapa layanan per VM 5 3 Stateless atau stateful Agnostik
Azure Batch Pekerjaan terjadwal Beberapa aplikasi per VM 1 4 Tanpa status No

Catatan

  1. Jika Anda menggunakan paket Konsumsi. Untuk paket App Service, fungsi berjalan pada VM yang dialokasikan untuk paket App Service Anda. Lihat Memilih paket layanan yang benar untuk Azure Functions.
  2. Perjanjian tingkat layanan (SLA) yang lebih tinggi dengan dua instans atau lebih.
  3. Direkomendasikan untuk lingkungan produksi.
  4. Dapat diturunkan skalanya ke nol setelah pekerjaan selesai.
  5. Tiga untuk simpul utama dan tiga untuk simpul pekerja.
  6. Saat menggunakan Durable Functions.

Jaringan

Service Integrasi jaringan virtual Konektivitas hibrid
Azure Virtual Machines Didukung Didukung
Azure App Service Didukung 1 Didukung 2
Azure Functions Didukung 1 Didukung 3
Azure Kubernetes Service Didukung Didukung
Azure Container Apps Didukung Didukung
Azure Container Instances Didukung Didukung
Azure Red Hat OpenShift Didukung Didukung
Azure Spring Apps Didukung Didukung
Azure Service Fabric Didukung Didukung
Azure Batch Didukung Didukung

Catatan

  1. Memerlukan Lingkungan App Service.
  2. Menggunakan Koneksi Hibrid Azure App Service.
  3. Memerlukan paket App Service atau paket Premium Azure Functions.

DevOps

Service Penelusuran kesalahan lokal Model pemrograman Pembaruan aplikasi
Azure Virtual Machines Agnostik Agnostik Tidak ada dukungan bawaan
Azure App Service IIS Express, 1 lainnya Aplikasi web dan API, WebJobs untuk proses di latar belakang Slot penyebaran
Azure Functions Visual Studio atau Azure Functions CLI Tanpa server, berbasis peristiwa Slot penyebaran
Azure Kubernetes Service Minikube, Docker, lainnya Agnostik Pembaruan bergulir
Azure Container Apps Runtime kontainer lokal Agnostik Manajemen revisi
Azure Container Instances Runtime kontainer lokal Agnostik Tidak berlaku
Azure Red Hat OpenShift Minikube, Docker, lainnya Agnostik Pembaruan bergulir
Azure Spring Apps Visual Studio Code, Intellij, Eclipse Spring Boot, Steeltoe Peningkatan bergulir, penyebaran biru-hijau
Azure Service Fabric Kluster node lokal Tamu yang dapat dijalankan, Model layanan, Model aktor, Kontainer Peningkatan bergulir (per layanan)
Azure Batch Tidak didukung Aplikasi baris perintah Tidak berlaku

Catatan

  1. Opsinya termasuk IIS Express untuk ASP.NET atau node.js (iisnode), server web PHP, Azure Toolkit untuk IntelliJ, dan Azure Toolkit untuk Eclipse. App Service juga mendukung penelusuran kesalahan jarak jauh dari aplikasi web yang disebarkan.

Skalabilitas

Service Penskalaan otomatis Load Balancer Batas skala3
Azure Virtual Machines Kumpulan skala komputer virtual Penyeimbang Beban Azure Gambar platform: 1.000 simpul per set skala, Gambar kustom: 600 simpul per set skala
Azure App Service Layanan bawaan Terintegrasi 30 instans, 100 dengan Lingkungan App Service
Azure Functions Layanan bawaan Terintegrasi 200 instans per aplikasi fungsi
Azure Kubernetes Service AutoscalingPod 1, penskalakanotomatis kluster 2 Azure Load Balancer atau Azure Application Gateway 5.000 simpul saat menggunakan SLA Waktu Aktif
Azure Container Apps Aturan penskalakan4 Terintegrasi 5 lingkungan per wilayah, 20 aplikasi kontainer per lingkungan, 30 replika per aplikasi kontainer
Azure Container Instances Tidak didukung Tidak ada dukungan bawaan 20 grup kontainer per langganan (batas default)
Azure Red Hat OpenShift Autoscaling Pod, penskalakan otomatis kluster Azure Load Balancer atau Azure Application Gateway 60 simpul per kluster (batas default)
Azure Spring Apps Layanan bawaan Terintegrasi 500 instans aplikasi dalam Standar
Azure Service Fabric Kumpulan skala komputer virtual Penyeimbang Beban Azure 100 simpul per set skala komputer virtual
Azure Batch Tidak berlaku Penyeimbang Beban Azure Batas inti 20 (batas default)

Catatan

  1. Lihat Pod penskalaan otomatis.
  2. Lihat Menskalakan kluster secara otomatis untuk memenuhi permintaan aplikasi di Azure Kubernetes Service.
  3. Lihat Batas, kuota, dan batasan layanan dan langganan Azure.
  4. Lihat Mengatur aturan penskalakan di Azure Container Apps.

Ketersediaan

Service SLA Failover multiregion
Azure Virtual Machines SLA untuk Virtual Machines Azure Traffic Manager, Azure Front Door, dan Azure Load Balancer lintas wilayah
Azure App Service SLA untuk App Service Azure Traffic Manager dan Azure Front Door
Azure Functions SLA untuk Functions Azure Traffic Manager dan Azure Front Door
Azure Kubernetes Service SLA untuk AKS Azure Traffic Manager, Azure Front Door, dan Kluster Multiregion
Azure Container Apps SLA untuk Aplikasi Kontainer Azure Traffic Manager dan Azure Front Door
Azure Container Instances SLA untuk Container Instances Azure Traffic Manager dan Azure Front Door
Azure Red Hat OpenShift SLA untuk Azure Red Hat OpenShift Azure Traffic Manager dan Azure Front Door
Azure Spring Apps SLA untuk Azure Spring Apps Azure Traffic Manager, Azure Front Door, dan Kluster Multiregion
Azure Service Fabric SLA untuk Service Fabric Azure Traffic Manager, Azure Front Door, dan Azure Load Balancer lintas wilayah
Azure Batch SLA untuk Batch Tidak berlaku

Untuk pembelajaran terpandu tentang jaminan layanan, lihat Core Cloud Services - Arsitektur azure dan jaminan layanan.

Keamanan

Tinjau dan pahami kontrol dan visibilitas keamanan yang tersedia untuk setiap layanan:

Kriteria lainnya

Service TLS Biaya Gaya arsitektur yang cocok
Azure Virtual Machines Dikonfigurasi di VM Windows, Linux N-tingkat, komputasi besar (HPC)
Azure App Service Didukung Harga App Service Web-queue-worker
Azure Functions Didukung Harga Functions Layanan mikro, arsitektur berbasis peristiwa
Azure Kubernetes Service Pengontrol ingress Harga AKS Layanan mikro, arsitektur berbasis peristiwa
Azure Container Apps Pengontrol ingress Harga Container Apps Layanan mikro, arsitektur berbasis peristiwa
Azure Container Instances Menggunakan kontainer sidecar Harga Container Instances Layanan mikro, otomatisasi tugas, tugas batch
Azure Red Hat OpenShift Didukung Harga Azure Red Hat OpenShift Layanan mikro, arsitektur berbasis peristiwa
Azure Spring Apps Didukung Harga Azure Spring Apps Spring Boot, layanan mikro
Azure Service Fabric Didukung Harga Service Fabric Layanan mikro, arsitektur berbasis peristiwa
Azure Batch Didukung Harga batch Komputasi Besar (HPC)

Pertimbangkan batasan dan biaya

Bersama dengan tabel perbandingan sebelumnya, lakukan evaluasi yang lebih rinci tentang aspek-aspek berikut dari layanan kandidat:

Kontributor

Artikel ini dikelola oleh Microsoft. Awalnya ditulis oleh kontributor berikut:

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah berikutnya

Core Cloud Services - Opsi komputasi Azure. Modul Learn ini mengeksplorasi bagaimana layanan komputasi dapat menyelesaikan kebutuhan bisnis umum.