Pilih layanan komputasi Azure

Azure menyediakan banyak cara untuk menghosting kode aplikasi Anda. Istilah komputasi mengacu pada model hosting untuk sumber daya yang dijalankan aplikasi Anda. Artikel ini membantu Anda memilih layanan komputasi yang tepat untuk skenario Anda dan berfokus pada penawaran komputasi tujuan umum.

Architecture

Gunakan diagram alur berikut untuk memilih layanan komputasi kandidat.

Diagram yang memperlihatkan pohon keputusan untuk layanan komputasi Azure.

Gambar menunjukkan diagram alur untuk memilih layanan Azure yang sesuai berdasarkan apakah pengguna memigrasikan beban kerja yang ada atau membangun beban kerja baru. Diagram alur dimulai dengan simpul awal dan dibagi menjadi dua cabang utama berlabel migrasi dan membangun baru. Cabang migrasi mencakup poin keputusan yang menilai apakah aplikasi dioptimalkan untuk cloud dan apakah dapat diangkat dan digeser. Bergantung pada jawabannya, alur mengarah ke layanan seperti Azure App Service, Azure VMware Solution, atau Azure Virtual Machines. Cabang build yang baru mencakup titik keputusan yang mengevaluasi kebutuhan akan kontrol penuh, komputasi berkinerja tinggi (HPC), beban kerja berbasis peristiwa, hosting web terkelola, dan kebutuhan orkestrasi. Keputusan ini memandu pengguna menuju layanan seperti Virtual Machines, Azure Batch, Azure Functions, App Service, Azure Container Instances, Azure Red Hat OpenShift, Azure Kubernetes Service (AKS), atau Azure Container Apps. Bagian percabangan untuk implementasi orkestrasi Anda sendiri pada mesin virtual mencakup Kubernetes pada mesin virtual dan OpenShift pada mesin virtual. Di bagian bawah gambar, dua bagian kotak mencantumkan layanan eksklusif kontainer dan layanan yang kompatibel dengan kontainer. Bagian eksklusif kontainer mencakup Container Instances, Azure Red Hat OpenShift, Kubernetes di Virtual Machines, dan OpenShift di Virtual Machines. Bagian yang kompatibel dengan kontainer mencakup Azure Batch, Azure Functions, dan App Service.

Unduh file Visio dari arsitektur ini.

Diagram sebelumnya 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 dikenal sebagai rehosting. Kami menyarankan agar tim yang menangani beban kerja yang melakukan migrasi menggunakan pendekatan yang sesuai dan menunda pengoptimalan kecuali jika jadwal dan anggaran mereka mendukung perancangan ulang bagi fungsionalitas asli cloud. Untuk informasi selengkapnya, lihat Memigrasikan beban kerja ke Azure dari platform cloud lainnya.

  • Pengoptimalan Cloud: Strategi untuk bermigrasi ke cloud dengan merefaktor aplikasi untuk mengoptimalkan fitur dan kapabilitas asli awan. Anda juga dapat menggunakan strategi ini untuk menggambarkan beban kerja greenfield (baru) yang secara khusus dirancang sejak awal untuk memanfaatkan fitur cloud-native.

Hasil dari diagram alur ini adalah titik awal Anda. Kemudian 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 sesuai dengan aplikasi atau beban kerja Anda. Dalam hal ini, perluas analisis Anda untuk menyertakan layanan komputasi lainnya.

Jika beban kerja Anda terdiri dari komponen komputasi yang berbeda, evaluasi kebutuhan setiap aplikasi secara terpisah. Solusi lengkap dapat mencakup dua atau beberapa layanan komputasi.

Memahami fitur dasar

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

  • Azure Virtual Machines adalah layanan yang dapat Anda gunakan untuk menyebarkan dan mengelola komputer virtual (VM) di dalam jaringan virtual Azure.

  • Azure App Service adalah layanan terkelola untuk menghosting aplikasi web, back end aplikasi seluler, API RESTful, atau proses bisnis otomatis.

  • Azure Functions adalah layanan yang menyediakan fungsi terkelola yang berjalan berdasarkan berbagai jenis pemicu untuk aplikasi berbasis peristiwa.

  • Azure Kubernetes Service (AKS) adalah layanan Kubernetes terkelola untuk menjalankan aplikasi kontainer. Ini menyediakan akses langsung ke API Kubernetes dan sarana kontrol.

  • Azure Container Apps adalah layanan terkelola yang dibangun di Kubernetes, yang menyederhanakan penyebaran aplikasi dalam kontainer di lingkungan tanpa server. Ini tidak menyediakan akses langsung ke API Kubernetes yang mendasar. Gunakan AKS jika Anda memerlukan akses ke API Kubernetes dan sarana kontrol.

  • Azure Container Instances adalah layanan untuk menjalankan satu kontainer atau grup kontainer di Azure. Container Instances tidak menyediakan orkestrasi kontainer penuh, tetapi Anda dapat menerapkan kontainer tanpa perlu menyediakan VM atau mengadopsi layanan tingkat yang lebih tinggi.

  • Azure Red Hat OpenShift adalah kluster OpenShift yang dikelola sepenuhnya untuk menjalankan kontainer dalam produksi dengan Kubernetes.

  • Azure Batch adalah layanan terkelola untuk menjalankan aplikasi komputasi paralel dan performa tinggi (HPC) skala besar.

  • Azure VMware Solution adalah layanan terkelola untuk menjalankan beban kerja VMware secara asli di Azure.

Memahami model hosting

Untuk model hosting, layanan cloud termasuk dalam tiga kategori:

  • Infrastructure as a service (IaaS) memungkinkan Anda menyediakan VM bersama dengan komponen jaringan dan penyimpanan terkait. Anda kemudian dapat menyebarkan perangkat lunak dan aplikasi apa pun pada VM tersebut. Model ini paling mirip dengan lingkungan lokal tradisional. Microsoft mengelola infrastruktur, dan Anda mengelola VM.

  • Platform as a service (PaaS) menyediakan lingkungan hosting terkelola tempat Anda dapat menyebarkan aplikasi Tanpa perlu mengelola VM. App Service dan Aplikasi Kontainer adalah layanan PaaS.

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

    Nota

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

Layanan komputasi cloud berkisar dari IaaS hingga FaaS yang dikelola sepenuhnya. Misalnya, Azure VM dapat menskalakan secara otomatis dengan menggunakan set skala komputer virtual. Kemampuan penskalaan otomatis sering dikaitkan dengan PaaS atau FaaS, tetapi kemampuan bervariasi menurut layanan daripada berdasarkan kategori komputasi.

Terdapat pertukaran antara kontrol dan kemudahan dalam pengelolaan. IaaS memberikan kontrol, fleksibilitas, dan portabilitas terbanyak, tetapi Anda harus menyediakan, menyiapkan, dan mengelola VM dan komponen jaringan yang Anda buat. Layanan FaaS secara otomatis mengelola hampir semua aspek dalam menjalankan aplikasi. PaaS menyediakan manajemen parsial dan memerlukan beberapa konfigurasi pengguna.

Pelayanan Komposisi aplikasi Kepadatan Jumlah minimum simpul Manajemen status Hosting web
Virtual Machines Agnostik Agnostik 1 1 Stateless atau stateful Agnostik
App Service Aplikasi, kontainer Beberapa aplikasi untuk setiap instans dengan menggunakan paket App Service 1 Tanpa Negara Built-in
Azure Functions Fungsi, kontainer Tanpa server 2 Tanpa server 2 Stateless atau stateful 3 Tidak berlaku
AKS Containers Beberapa kontainer untuk setiap simpul 6 4 Stateless atau stateful Agnostik
Container Apps Containers Serverless Serverless Stateless atau stateful Agnostik
Container Instances Containers Tidak ada instans khusus Tidak ada simpul khusus Tanpa Negara Agnostik
Azure Red Hat OpenShift Containers Beberapa kontainer untuk setiap simpul 6 5 Stateless atau stateful Agnostik
Batch Pekerjaan terjadwal Beberapa aplikasi untuk setiap VM 1 6 Tanpa Negara Tidak.
Azure VMware Solution Agnostik Agnostik 3 7 Stateless atau stateful Agnostik

Catatan :

1Perjanjian tingkat layanan (SLA) yang lebih tinggi yang memiliki dua instans atau lebih.

2Untuk Azure Functions, paket Consumption dan Flex Consumption bersifat serverless. Untuk paket App Service, fungsi berjalan pada VM yang telah dialokasikan untuk paket tersebut. Pilih paket layanan yang tepat untuk Azure Functions.

3Ketika Anda menggunakan fungsi tahan lama.

4Direkomendasikan untuk lingkungan produksi. Tiga di kumpulan simpul sistem dan tiga untuk setiap kumpulan simpul pengguna.

5Tiga simpul utama dan tiga simpul pekerja.

6Dapat menurunkan skala menjadi nol setelah pekerjaan selesai.

7Lihat Host.

Untuk informasi selengkapnya, lihat Memilih layanan kontainer Azure.

Jaringan

Platform aplikasi Anda kemungkinan perlu berinteraksi dengan jaringan baik sebagai server untuk aplikasi Anda maupun sebagai klien. Misalnya, mungkin berfungsi sebagai klien untuk mendapatkan pembaruan sistem operasi (OS). Anda harus memilih platform yang mendukung persyaratan lalu lintas timur-barat dan utara-selatan Anda.

Pelayanan Integrasi jaringan virtual Konektivitas hibrid
Virtual Machines Didukung Didukung
App Service Didukung 1 Didukung 2
Azure Functions Didukung 1 Didukung 3
AKS Supported Didukung
Container Apps Didukung Didukung
Container Instances Supported Supported
Azure Red Hat OpenShift Supported Didukung
Batch Didukung Didukung
Azure VMware Solution Supported Supported

Catatan :

1Memerlukan tingkat Dasar atau lebih tinggi, atau Lingkungan App Service. Lihat integrasi jaringan virtual.

2Gunakan App Service Hybrid Connections.

3Memerlukan paket App Service, paket Azure Functions Premium, atau paket Konsumsi Flex Azure Functions.

DevOps

Pelayanan Debugging lokal Pemecahan masalah jarak jauh Model pemrograman Pembaruan aplikasi
Virtual Machines Agnostik Alat Jarak Jauh untuk Visual Studio Agnostik Tidak ada dukungan bawaan
App Service IIS Express, lainnya 1 Dukungan terbatas Aplikasi Web dan API, WebJobs untuk tugas latar belakang Slot penerapan
Azure Functions Alat Inti Visual Studio atau Azure Functions Tidak didukung Tanpa server, berbasis peristiwa Slot penerapan
AKS Minikube, Docker, lainnya Alat non-Microsoft 2 Agnostik Pembaruan bergulir
Container Apps Runtime kontainer lokal Konsol debug Agnostik Manajemen revisi
Container Instances Runtime kontainer lokal Tidak didukung Agnostik Tidak berlaku
Azure Red Hat OpenShift Minikube, Docker, lainnya Alat non-Microsoft 2 Agnostik Pembaruan bergulir
Batch Tidak didukung Tidak berlaku Aplikasi baris perintah Tidak berlaku
Azure VMware Solution Agnostik Alat Jarak Jauh untuk Visual Studio Agnostik Tidak ada dukungan bawaan

Catatan :

1Opsi termasuk IIS Express, Visual Studio Code, dan alat pengembangan standar lainnya berdasarkan tumpukan aplikasi Anda.

2Gunakan alat non-Microsoft seperti Telepresence atau mirrord untuk penelusuran kesalahan lokal ke kluster.

Keterampilan tim dan overhead operasional

Pelayanan Keterampilan yang diperlukan Overhead operasional Terbaik untuk tim yang memiliki karakteristik ini
Virtual Machines Administrasi Sistem Operasi, jaringan, pemutakhiran keamanan Tinggi: Manajemen infrastruktur penuh Pengalaman operasi TI tradisional
App Service Pengembangan web, penyebaran aplikasi Rendah: Platform menangani infrastruktur Pengembang aplikasi berfokus pada kode
Azure Functions Pemrograman berbasis peristiwa, pola tanpa server Sangat rendah: Manajemen tanpa server Pengembang yang membangun solusi berbasis peristiwa
AKS Administrasi Kubernetes, pengorkestrasian kontainer Tinggi: Manajemen kluster, peningkatan, keamanan Tim DevOps yang memiliki keahlian Kubernetes
Container Apps Dasar-dasar wadah, pola cloud-native Rendah: Pengelolaan Kubernetes yang Terabstraksi Tim yang menginginkan pola modern tanpa kompleksitas Kubernetes
Container Instances Dasar-dasar kontainer Sangat rendah: Tidak ada orkestrasi Teams yang membutuhkan eksekusi kontainer sederhana
Azure Red Hat OpenShift Administrasi OpenShift atau Kubernetes Tinggi: Manajemen kluster Teams yang memiliki investasi OpenShift
Batch Penjadwalan pekerjaan, pemrosesan paralel Sedang: Manajemen pekerjaan dan kumpulan Tim yang menjalankan beban kerja HPC atau batch
Azure VMware Solution Administrasi VMware Menengah: Infrastruktur yang dikelola oleh VMware Tim yang memiliki persyaratan platform VMware

Skalabilitas

Pelayanan Autoscaling Penyeimbang beban Batas skala
Virtual Machines Kumpulan skala komputer virtual Azure Load Balancer - Citra platform: 1.000 simpul untuk setiap set skala

- Gambar kustom: 600 simpul untuk setiap set skala
App Service Layanan bawaan Terintegrasi 30 instans (Tingkat Premium), 200 dengan Lingkungan Layanan Aplikasi, 100 dengan Lingkungan Layanan Aplikasi Terisolasi
Azure Functions Layanan bawaan Terintegrasi 200 instance (Konsumsi), 1.000 instance (Konsumsi Fleksibel)
AKS Pod autoscaling1, penskalaan otomatis kluster2 Load Balancer atau Azure Application Gateway 5.000 simpul saat Anda menggunakan tingkat Standar atau Premium
Container Apps Aturan penskalakan3 Terintegrasi 1.000 replika untuk setiap revisi, 15 lingkungan di setiap wilayah
Container Instances Tidak didukung Tidak ada dukungan bawaan 100 grup kontainer untuk setiap langganan (batas default)
Azure Red Hat OpenShift Penskalakan otomatis Pod, penskalakan otomatis kluster Load Balancer atau Application Gateway 250 simpul untuk setiap kluster (batas default)
Batch Tidak berlaku Load Balancer Batas inti 900 inti khusus dan 100 inti berprioritas rendah (batas default)
Azure VMware Solution Layanan bawaan4 Terintegrasi5 3 hingga 16 host VMware ESXi untuk setiap VMware vCenter Server

Catatan :

1Lihat Pod Autoscale.

2Lihat Menskalakan kluster secara otomatis untuk memenuhi permintaan aplikasi di AKS.

3Lihat Mengatur aturan penskalakan di Aplikasi Kontainer.

4Lihat Menskalakan kluster di cloud privat.

5Lihat VMware NSX.

Kemampuan multiregion bawaan

Semua platform aplikasi yang ditangani panduan keputusan ini bersifat regional. Mereka memerlukan perutean eksternal untuk mengaktifkan topologi multiregion, seperti aktif-aktif untuk ketahanan atau aktif-pasif untuk pemulihan. Saat Anda menyebarkan beberapa instans platform aplikasi, dengan setidaknya satu instans di setiap wilayah, router eksternal atau load balancer dapat mengarahkan lalu lintas jika diperlukan di seluruh wilayah.

Pelayanan Opsi multiregion
Virtual Machines Wilayah tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa penerapan VM.
App Service Wilayah tunggal saja.

Harus menggunakan router eksternal yang digabungkan dengan beberapa instans Paket Layanan Aplikasi.
Azure Functions Wilayah tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa instans host.
AKS Wilayah tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa kluster.
Container Apps Wilayah tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa lingkungan Container Apps.
Container Instances Wilayah tunggal saja.
Azure Red Hat OpenShift Region tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa kluster.
Batch Wilayah tunggal saja.
Azure VMware Solution Wilayah tunggal saja.

Harus menggunakan router eksternal yang dikombinasikan dengan beberapa instans Azure VMware Solution.

Keamanan

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

Kriteria lain

Pelayanan Keamanan Lapisan Transportasi (TLS) Biaya Dukungan unit pemrosesan grafis (GPU) Gaya arsitektur yang sesuai
Virtual Machines Menyiapkan di VM Windows,
Linux
Supported N-tingkat, komputasi besar (HPC)
App Service Didukung Harga Layanan Aplikasi Tidak didukung Web-queue-worker
Azure Functions Didukung Penetapan Harga Azure Functions Tidak didukung Layanan mikro, arsitektur berbasis peristiwa
AKS Pengontrol Ingress Harga AKS Supported Layanan mikro, arsitektur berbasis peristiwa
Container Apps Pengontrol Ingress Harga Container Aplikasi Supported Layanan mikro, arsitektur berbasis peristiwa
Container Instances Gunakan kontainer sidecar Harga Instans Kontainer Tidak didukung Microservices, otomatisasi tugas, batch jobs
Azure Red Hat OpenShift Didukung Harga Azure Red Hat OpenShift Supported Layanan mikro, arsitektur berbasis peristiwa
Batch Didukung Penetapan harga batch Supported Komputasi besar (HPC)
Azure VMware Solution Menyiapkan di VM Harga Azure VMware Solution Tidak didukung Beban kerja VM berdasarkan format VMware

Pertimbangkan batas dan biaya

Gunakan tabel perbandingan sebelumnya sebagai konteks dan evaluasi aspek berikut dari layanan kandidat secara lebih rinci:

Beban kerja khusus

Beberapa beban kerja memiliki persyaratan khusus dan biasanya tidak mengikuti rekomendasi umum dalam panduan pemilihan platform aplikasi ini. Beban kerja ini biasanya merupakan produk perangkat lunak atau database yang memiliki karakteristik yang membatasi opsi layanan ke serangkaian pilihan yang didukung yang sempit.

Skenario Jelajahi opsi ini
Penjadwalan HPC Azure CycleCloud
SAP di Azure VM Menggunakan Azure untuk menghosting dan menjalankan skenario beban kerja SAP
Oracle pada Mesin Virtual Azure Database Oracle pada infrastruktur Azure

Aplikasi di Oracle Linux dan server WebLogic
Status kompleks yang saling terkait, dan komputasi dengan model pemrograman yang terstruktur Azure Service Fabric
Mainframe Refaktorisasi aplikasi mainframe untuk Azure
Penawaran di marketplace Jelajahi penawaran mitra di Azure Compute
Komputasi kuantum Azure Quantum
Desktop virtual hosting Desain arsitektur desktop virtual
Beban kerja komputasi bare metal atau komputasi khusus Azure Dedicated Hosts

Kluster Cloud Nutanix di Azure

Kontributor

Microsoft mempertahankan artikel ini. Kontributor berikut menulis artikel ini.

Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.

Langkah selanjutnya