Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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.
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:
- Komputer Virtual untuk Linux
- Komputer Virtual untuk Windows
- Layanan Aplikasi
- Fungsi Azure
- AKS
- Aplikasi Kontainer
- Kontainer Instance
- Azure VMware Solution
Kriteria lain
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.
- Ayobami Ayodeji | Manajer Program Senior
- Jelle Druyts | Teknisi Layanan Utama
- Martin Gjoshevski | Insinyur Layanan Senior
- Phil Huang | Arsitek Solusi Cloud Senior
- Julie Ng | Insinyur Layanan Senior
- Paolo Salvatori | Teknisi Layanan Utama
Untuk melihat profil LinkedIn nonpublik, masuk ke LinkedIn.