Menghosting aplikasi di Azure

Azure menyediakan berbagai cara berbeda untuk menghosting aplikasi Anda tergantung pada kebutuhan Anda. Artikel ini menyarankan layanan untuk mencocokkan persyaratan. Ini bukan proskriptif. Anda dapat mencampur dan mencocokkan layanan untuk memenuhi kebutuhan Anda. Sebagian besar lingkungan produksi menggunakan kombinasi layanan untuk memenuhi kebutuhan bisnis dan organisasi mereka.

Kesederhanaan dan kontrol

Layanan hosting Azure disediakan dengan dua pertimbangan:

  • Kesederhanaan versus kontrol
    • Platform hosting sederhana membutuhkan lebih sedikit konfigurasi dan manajemen tetapi memberikan lebih sedikit kontrol atas infrastruktur yang mendasar.
    • Platform hosting yang lebih kompleks membutuhkan lebih banyak konfigurasi dan manajemen tetapi memberikan kontrol lebih besar atas infrastruktur yang mendasar.
  • Cloud-native versus Azure-native
    • Cloud-native dapat dianggap sebagai portabel cloud menggunakan beban kerja sumber terbuka seperti kontainer dan teknologi sumber terbuka seperti Dapr. Aplikasi yang Anda bangun dapat disebarkan ke penyedia cloud apa pun.
    • Azure-native khusus untuk Azure dengan investasi dalam alat dan teknologi khusus Azure untuk mengelola infrastruktur tersebut. Meskipun layanan ini mencakup beban kerja kontainer, layanan ini juga menyertakan alat kode-pertama, kode rendah, dan infrastruktur khusus untuk Azure dengan penekanan pada menghubungkan dan integrasi antara layanan Azure.

Hosting yang disederhanakan

Solusi hosting yang disederhanakan dikelola sepenuhnya oleh Azure. Anda bertanggung jawab atas fungsionalitas seperti kode dan konfigurasi lingkungan. Azure mengelola runtime dan infrastruktur yang mendasarinya termasuk pembaruan dan patch. Hosting yang disederhanakan adalah pendekatan asli Azure.

  • Logic Apps: Membuat dan menjalankan alur kerja otomatis dengan sedikit atau tanpa kode.
  • Power Automate: Gunakan saat Anda perlu mengotomatiskan proses dan alur kerja bisnis.
  • Azure Static Web Apps: Menyebarkan aplikasi web statis yang dihasilkan seperti Blazor dan React.
  • Azure Functions Apps: kode tanpa server atau hosting kontainer.

Hosting seimbang

Solusi hosting yang seimbang menyeimbangkan kebutuhan akan kesederhanaan dengan kebutuhan akan kontrol. Anda bertanggung jawab atas fungsionalitas seperti kode dan konfigurasi lingkungan. Azure mengelola runtime dan infrastruktur yang mendasarinya termasuk pembaruan dan patch. Anda juga dapat membawa kontainer Anda sendiri ke layanan. Hosting seimbang adalah asli Azure dan Cloud-native.

Hosting terkontrol

Solusi hosting terkontrol memberi Anda kontrol penuh atas infrastruktur yang mendasar. Anda bertanggung jawab atas pembaruan dan patch serta kode, aset, dan konfigurasi lingkungan Anda. Hosting terkontrol adalah pendekatan cloud-native.

Hosting kode sumber

Untuk pengembang yang baru menggunakan Azure yang ingin memulai pengembangan baru, gunakan bagan berikut untuk menemukan solusi hosting yang disarankan.

Diagram showing no code, low code in the first box, code in the second box and container in the third box with recommended services for each box.

Tidak ada kode atau kode rendah

Azure mendukung solusi tanpa kode adalah bagian dari pendekatan Azure-Cloud-nya.

  • Logic Apps: Gunakan desainer visual dengan operasi bawaan untuk mengembangkan alur kerja untuk skenario perusahaan dan bisnis-ke-bisnis Anda.
  • Power Automate seperti Power apps: Gunakan saat Anda perlu mengotomatiskan proses bisnis dan alur kerja dalam organisasi Microsoft 365.

Kode vs kontainer

Solusi hosting kode rendah dirancang untuk memungkinkan Anda membawa fungsionalitas kode Anda tanpa harus mengelola infrastruktur aplikasi.

  • Azure Static Web Apps: menyebarkan aplikasi web statis yang dihasilkan.
  • Azure Functions: menyebarkan fungsi kode dalam bahasa yang didukung tanpa harus mengelola infrastruktur aplikasi.

Solusi hosting code-first dirancang untuk menghosting kode. Anda dapat menyebarkan kode Anda langsung ke solusi hosting.

Solusi hosting yang mengutamakan kontainer dirancang untuk menghosting kontainer. Layanan ini menyediakan opsi dan fitur konfigurasi khusus kontainer. Anda bertanggung jawab atas komputasi yang digunakan di dalam kontainer. Layanan yang memindahkan kontainer host dari kontrol terkelola ke tanggung jawab penuh sehingga Anda hanya mengambil jumlah manajemen kontainer yang Anda inginkan.

Hosting orkestrasi yang berfokus pada Kubernetes meliputi:

Service Fokus Menggunakan
Azure Kubernetes Service Asli cloud Gunakan untuk kluster Kubernetes dengan pendekatan deklaratif menggunakan file konfigurasi dan artefak eksternal.
Azure Service Fabric Azure-native Gunakan pendekatan imperatif untuk menyebarkan layanan mikro di seluruh kluster komputer. Ini menyediakan model pemrograman yang memungkinkan pengembang menulis kode yang menjelaskan status sistem yang diinginkan, dan runtime Service Fabric mengurus membuat sistem cocok dengan status tersebut.

Hosting kontainer yang telah dikonfigurasi sebelumnya berarti opsi orkestrasi telah dikonfigurasi sebelumnya untuk Anda. Kemampuan Anda untuk berkomunikasi antara kontainer atau kluster kontainer mungkin memerlukan layanan tambahan seperti Dapr.

Service Menggunakan
Azure App Service hosting web layanan lengkap
Azure Spring Apps Aplikasi Spring Boot
Azure Container Apps hosting kontainer tanpa server
Azure Container Instances hosting kontainer tunggal sederhana

Azure menyediakan registri kontainer untuk menyimpan dan mengelola gambar kontainer Anda atau Anda dapat menggunakan registri kontainer pihak ketiga.

Service Menggunakan
Azure Container Registry Gunakan saat Anda membangun dan menghosting gambar kontainer Anda sendiri, yang dapat dipicu dengan penerapan kode sumber dan pembaruan gambar dasar.

Tanpa server

Solusi hosting tanpa server dirancang untuk menjalankan kode stateless, yang mencakup tingkat harga berbasis konsumsi yang diskalakan ke nol saat tidak digunakan.

Service Menggunakan
Azure Container Apps Hosting kontainer.
Azure Functions Hosting kode atau kontainer.

Layanan mikro

Solusi hosting layanan mikro dirancang untuk menjalankan layanan kecil dan independen yang bekerja sama untuk membentuk aplikasi yang lebih besar. Layanan mikro biasanya disebarkan sebagai kontainer.

Service Menggunakan
Azure Container Apps Gunakan untuk layanan mikro kontainer tanpa server.
Azure Functions Gunakan untuk kode tanpa server atau layanan mikro dalam kontainer.

Tepi cloud

Cloud edge adalah istilah untuk menunjukkan apakah layanan Cloud berada untuk menguntungkan pengguna (klien) atau aplikasi (server).

Komputasi klien

Komputasi klien adalah komputasi yang berjalan pada klien yang jauh dari cloud Azure. Komputasi klien biasanya digunakan untuk penyajian sisi klien dan pemrosesan sisi klien seperti aplikasi berbasis browser atau seluler.

Service Menggunakan
Azure Static Web Apps Gunakan untuk aplikasi web statis yang menggunakan penyajian sisi klien seperti React, Angular, Svelte, Vue, dan Blazor.

Ketersediaan klien

Service Menggunakan
Azure Front Door Gunakan untuk semua aplikasi yang terhubung ke internet untuk menyediakan jaringan global yang di-cache dan aman ke aset statis dan dinamis Anda termasuk perlindungan DDoS, enkripsi TLS end-to-end, firewall aplikasi, dan pemfilteran geografis.

Komputasi server

Aset komputasi server adalah file yang diproses oleh server sebelum dilayani ke klien. Aset dinamis dikembangkan menggunakan komputasi server back-end, secara opsional terintegrasi dengan layanan Azure lainnya.

Service Menggunakan
Azure App Service Gunakan layanan ini untuk hosting web biasa. Ini mendukung serangkaian titik akhir API fungsionalitas yang luas, aplikasi tumpukan penuh, dan tugas latar belakang. Layanan ini dilengkapi dengan banyak runtime bahasa pemrograman serta kemampuan untuk menyediakan tumpukan, bahasa, atau beban kerja Anda sendiri dari kontainer.
Azure Functions Gunakan layanan ini untuk menyediakan kode Anda sendiri dalam bahasa yang didukung untuk titik akhir HTTP atau pemicu berbasis peristiwa dari layanan Azure.
Azure Spring Apps Gunakan untuk menyebarkan aplikasi Spring Boot tanpa perubahan kode.
Azure Container Apps Gunakan untuk menghosting layanan mikro terkelola dan aplikasi kontainer pada platform tanpa server.
Azure Container Instances Gunakan ini untuk skenario kontainer sederhana yang tidak memerlukan orkestrasi kontainer.
Azure Kubernetes Service Gunakan layanan ini saat Anda memerlukan kluster Kubernetes. Sarana kontrol untuk mengelola kluster dibuat dan disediakan untuk Anda tanpa biaya tambahan.

Manajemen Titik Akhir Server

Manajemen Titik Akhir Server adalah kemampuan untuk mengelola titik akhir server Anda dan komputasinya melalui gateway. Gateway ini menyediakan fungsionalitas seperti penerapan versi, penembolokan, transformasi, kebijakan API, dan pemantauan.

Service Menggunakan
API Management Azure Gunakan layanan ini saat Anda membuat API REST, OpenAPI, dan GraphQL dengan gateway API termasuk kuota dan batas laju, autentikasi dan otorisasi, transformasi, dan respons cache.
Azure Application Gateway Gunakan untuk penyeimbangan beban regional (lapisan OSI 7). Ini dapat digunakan untuk merutekan lalu lintas berdasarkan jalur URL atau header host, dan mendukung offloading SSL, afinitas sesi berbasis cookie, dan kemampuan Web Application Firewall (WAF).
Azure Front Door Gunakan untuk penyeimbangan beban global (lapisan OSI 7) untuk menyediakan jaringan global yang di-cache dan aman ke aset statis dan dinamis Anda termasuk perlindungan DDoS, enkripsi TLS end-to-end, firewall aplikasi, dan pemfilteran geografis.
Azure Traffic Manager Gunakan untuk mendistribusikan lalu lintas dengan DNS (lapisan OSI 7) ke aplikasi publik Anda yang menghadap ke seluruh wilayah Azure global. Traffic Manager menggunakan DNS untuk mengarahkan permintaan klien ke titik akhir layanan yang sesuai berdasarkan metode perutean lalu lintas. Ini mendukung berbagai metode perutean lalu lintas seperti prioritas, performa, dan perutean geografis. Ini sangat ideal untuk mengelola lalu lintas di beberapa wilayah atau pusat data.

Komputasi otomatis

Komputasi otomatis diotomatisasi oleh peristiwa seperti jadwal berwaktu atau layanan Azure lainnya dan biasanya digunakan untuk pemrosesan latar belakang, pemrosesan batch, atau proses yang berjalan lama.

Service Menggunakan
Power Automate Gunakan saat Anda perlu mengotomatiskan proses bisnis dan alur kerja.
Azure Functions Gunakan saat Anda perlu menjalankan kode berdasarkan jadwal yang ditentukan atau sebagai respons terhadap peristiwa di layanan Azure lainnya.
Layanan kontainer (Azure Container Instances, Azure Kubernetes Service, Azure Container Apps) Gunakan untuk beban kerja otomatis standar
Azure Batch Gunakan saat Anda memerlukan otomatisasi performa tinggi.

Cloud hibrid

Hybrid cloud adalah lingkungan komputasi yang menghubungkan layanan cloud privat lokal perusahaan dan cloud publik pihak ketiga ke dalam satu infrastruktur fleksibel untuk menjalankan aplikasi dan beban kerja organisasi.

Service Menggunakan
Azure Arc Gunakan saat perlu mengelola seluruh lingkungan Anda, baik sumber daya cloud maupun lokal termasuk keamanan, tata kelola, inventori, dan manajemen.

Jika Anda tidak perlu memelihara infrastruktur Anda sendiri, Anda dapat menggunakan Azure Stack HCI untuk menjalankan komputer virtual secara lokal.

Komputasi performa tinggi

Komputasi berkinerja tinggi (HPC) adalah penggunaan pemrosesan paralel untuk menjalankan program aplikasi tingkat lanjut secara efisien, andal, dan cepat. Istilah ini berlaku terutama untuk sistem yang berfungsi di atas teraflop atau 10^12 operasi floating-point per detik.

Service Menggunakan
Azure Batch Azure Batch membuat dan mengelola kumpulan simpul komputasi (komputer virtual), menginstal aplikasi yang ingin Anda jalankan, dan menjadwalkan pekerjaan untuk berjalan pada simpul. Pengembang dapat menggunakan Batch sebagai layanan platform untuk membangun aplikasi SaaS atau aplikasi klien di mana eksekusi skala besar diperlukan.
Instans Azure BareMetal Gunakan saat Anda perlu menjalankan di lingkungan nonvirtualisasi dengan akses tingkat akar ke sistem operasi, penyimpanan, dan jaringan.
Ruang kerja Azure Quantum Gunakan saat Anda perlu mengembangkan dan bereksperimen dengan algoritma kuantum.
Microsoft Genomics Gunakan untuk pemrosesan genomik bersertifikat ISO yang mematuhi HIPAA.

Pelajari selengkapnya tentang Komputasi berkinerja tinggi di Azure.

Komputasi berbasis peristiwa

Komputasi berbasis peristiwa adalah komputasi yang dipicu oleh peristiwa seperti jadwal berwaktu atau layanan Azure lainnya. Komputasi berbasis peristiwa biasanya digunakan untuk pemrosesan latar belakang, pemrosesan batch, atau proses yang berjalan lama.

Service Menggunakan
Power Virtual Agents Gunakan saat Anda perlu membuat chatbot dengan antarmuka tanpa kode.
Azure Functions Gunakan saat Anda perlu menjalankan kode berdasarkan jadwal yang ditentukan atau sebagai respons terhadap peristiwa di layanan Azure lainnya.
Olahpesan Azure Bus Layanan Gunakan saat Anda perlu memisahkan aplikasi dan layanan.

Komputasi CI/CD

Komputasi CI/CD adalah komputasi yang digunakan untuk membangun dan menyebarkan aplikasi Anda.

Layanan Deskripsi
Azure DevOps Gunakan Azure DevOps untuk integrasi yang ketat dengan cloud Azure termasuk autentikasi dan otorisasi ke agen yang dihosting, yang membangun dan menyebarkan aplikasi Anda.
GitHub Actions Gunakan GitHub Actions untuk membangun dan menyebarkan aplikasi repositori GitHub Anda. Gunakan Azure CLI untuk mengakses Azure dengan aman dalam tindakan.
Azure Virtual Machines Jika Anda menggunakan sistem CI/CD lain, Anda dapat menggunakan Azure Virtual Machines untuk menghosting sistem CI/CD Anda.

Sumber daya Java

Sumber daya tambahan