Memilih layanan komputasi Azure

App Service
Kubernetes Service

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 pohon keputusan untuk layanan komputasi Azure.

Diagram ini mengacu pada dua strategi migrasi ini:

  • Lift and shift adalah 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.
  • Dioptimalkan cloud adalah strategi untuk bermigrasi ke cloud dengan refaktor aplikasi untuk memanfaatkan fitur dan kemampuan native cloud.

Output dari diagram alur ini adalah titik awal Anda. Selanjutnya, evaluasi layanan secara lebih rinci 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 hosting aplikasi web, backend aplikasi seluler, RESTful API, atau proses bisnis otomatis.
  • Azure Functions. Layanan fungsi sebagai layanan (FaaS) terkelola.
  • Azure Kubernetes Service (AKS). Layanan Kubernetes terkelola untuk menjalankan aplikasi yang dikontainerisasi.
  • 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 komputer virtual 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 secara lokal.
  • Azure Batch. Layanan terkelola untuk menjalankan aplikasi komputasi paralel dan komputasi performa tinggi (HPC) berskala besar.

Memahami model hosting

Untuk model hosting, layanan cloud termasuk dalam tiga kategori:

  • Infrastructure-as-a-Service (IaaS) memungkinkan Anda menyediakan komputer virtual bersama dengan komponen jaringan dan penyimpanan terkait. Kemudian sebarkan perangkat lunak dan aplikasi apa pun yang Anda inginkan ke komputer virtual tersebut. Model ini adalah yang paling dekat dengan lingkungan lokal tradisional. Microsoft mengelola infrastruktur. Anda masih mengelola komputer virtual.

  • Platform-as-a-Service (PaaS) menyediakan lingkungan hosting terkelola tempat Anda dapat menyebarkan aplikasi tanpa perlu mengelola komputer virtual 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, komputer virtual Azure dapat menskalakan secara otomatis dengan menggunakan set skala komputer virtual. Kemampuan ini bukan 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 komputer virtual dan komponen jaringan yang Anda buat. Layanan FaaS secara otomatis mengelola hampir semua aspek menjalankan aplikasi. PaaS jatuh di suatu tempat di antaranya.

Layanan Komposisi aplikasi Kepadatan Jumlah simpul minimum Manajemen Status Hosting web
Komputer Virtual Azure Agnostik Agnostik 1 2 Stateless atau stateful Agnostik
Azure App Service Aplikasi, kontainer Beberapa aplikasi per instans dengan menggunakan paket layanan aplikasi 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
Struktur Layanan Azure 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 Tidak

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. SLA yang lebih tinggi dengan dua atau lebih instans.
  3. Direkomendasikan untuk lingkungan produksi.
  4. Dapat diturunkan skalanya ke nol setelah pekerjaan selesai.
  5. Tiga untuk simpul primer, dan tiga untuk simpul pekerja.
  6. Saat menggunakan Durable Functions.

Jaringan

Layanan Integrasi VNet Konektivitas hibrid
Komputer Virtual Azure 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
Struktur Layanan Azure Didukung Didukung
Azure Batch Didukung Didukung

Catatan

  1. Memerlukan App Service Environment (ASE).
  2. Menggunakan Koneksi Hibrid Azure App Service.
  3. Memerlukan paket App Service atau paket Premium Azure Functions.

DevOps

Layanan Penelusuran kesalahan lokal Model pemrograman Pembaruan aplikasi
Komputer Virtual Azure 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 Blue-green
Struktur Layanan Azure 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. Opsi 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

Layanan Penskalaan otomatis Load balancer Batas skala3
Komputer Virtual Azure Kumpulan skala komputer virtual Azure Load Balancer Gambar platform: 1000 node per set skala, Gambar khusus: 600 node 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 Penskalaan otomatis pod1, penskalaan otomatis kluster2 Azure Load Balancer atau Application Gateway 5.000 simpul saat menggunakan Waktu Aktif SLA
Azure Container Apps Aturan penskalan4 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 Auto-scaling Pod, penskalakan otomatis kluster Azure Load Balancer atau Application Gateway 60 simpul per kluster (batas default)
Azure Spring Apps Layanan bawaan Terintegrasi 500 instans aplikasi dalam Standar
Struktur Layanan Azure Kumpulan skala komputer virtual Azure Load Balancer 100 simpul per set skala komputer virtual
Azure Batch Tidak berlaku Azure Load Balancer 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 (AKS).
  3. Lihat Batas, kuota, dan batasan layanan dan langganan Azure.
  4. Lihat Mengatur aturan penskalan di Azure Container Apps.

Ketersediaan

Layanan SLA Failover multi wilayah
Komputer Virtual Azure 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 Multi-Wilayah
Azure Container Apps SLA untuk Azure Container Apps 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 Multi-Wilayah
Struktur Layanan Azure SLA untuk Service Fabric Azure Traffic Manager, Azure Front Door, dan Azure Load Balancer lintas wilayah
Azure Batch SLA untuk Azure Batch Tidak berlaku

Untuk pembelajaran terpandu tentang Jaminan Layanan, tinjau Layanan Cloud Inti - arsitektur Azure dan jaminan layanan.

Keamanan

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

Kriteria lainnya

Layanan TLS Biaya Gaya arsitektur yang cocok
Komputer Virtual Azure Dikonfigurasi di VM Windows, Linux N-Tier, Big compute (HPC)
Azure App Service Didukung Harga App Service Web-Queue-Worker
Azure Functions Didukung Harga Azure Functions Layanan mikro, Arsitektur berdasarkan peristiwa
Azure Kubernetes Service Pengontrol ingress Harga AKS Layanan mikro, Arsitektur berdasarkan peristiwa
Azure Container Apps Pengontrol ingress Harga Azure Container Apps Layanan mikro, Arsitektur berdasarkan peristiwa
Azure Container Instances Menggunakan kontainer sidecar harga Azure Container Instances Layanan mikro, otomatisasi tugas, tugas batch
Azure Red Hat OpenShift Didukung Harga Azure Red Hat OpenShift Layanan mikro, Arsitektur berdasarkan peristiwa
Azure Spring Apps Didukung Harga Azure Spring Apps Spring Boot, Layanan mikro
Struktur Layanan Azure Didukung Harga Azure Service Fabric Layanan mikro, Arsitektur berdasarkan peristiwa
Azure Batch Didukung Harga Azure Batch Komputasi Besar (HPC)

Pertimbangkan batasan dan biaya

Seiring 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.

Penulis utama:

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya