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 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
- 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.
- SLA yang lebih tinggi dengan dua atau lebih instans.
- Direkomendasikan untuk lingkungan produksi.
- Dapat diturunkan skalanya ke nol setelah pekerjaan selesai.
- Tiga untuk simpul primer, dan tiga untuk simpul pekerja.
- 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
- Memerlukan App Service Environment (ASE).
- Menggunakan Koneksi Hibrid Azure App Service.
- 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
- 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
- Lihat Pod penskalaan otomatis.
- Lihat Menskalakan kluster secara otomatis untuk memenuhi permintaan aplikasi di Azure Kubernetes Service (AKS).
- Lihat Batas, kuota, dan batasan layanan dan langganan Azure.
- 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:
- Komputer Virtual Azure Windows
- Komputer Virtual Azure Linux
- Azure App Service
- Azure Functions
- Azure Kubernetes Service
- Azure Container Instances
- Azure Spring Apps
- Struktur Layanan Azure
- Azure Batch
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:
- Ayobami Ayodeji | Manajer Program Senior
- Jelle Druyts | Insinyur Layanan Utama
- Martin Gjoshevski | Insinyur Layanan Senior
- Phil Huang | Arsitek Solusi Cloud Senior
- Julie Ng | Insinyur Layanan Senior
- Paolo Salvatori | Insinyur Layanan Utama
Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.
Langkah berikutnya
- Core Cloud Services - Opsi komputasi Azure. Modul Microsoft Learn ini membahas bagaimana layanan komputasi dapat menyelesaikan kebutuhan bisnis umum.