Menghosting aplikasi di Azure
Ini adalah bagian ketiga dalam serangkaian 7 artikel untuk membantu pengembang mulai menggunakan Azure.
- Bagian 1: Gambaran umum Azure untuk pengembang
- Bagian 2: Layanan Azure Utama untuk pengembang
- Bagian 3: Menghosting aplikasi di Azure
- Bagian 4: Menyambungkan aplikasi Anda ke layanan Azure
- Bagian 5: Bagaimana cara membuat dan mengelola sumber daya di Azure?
- Bagian 6: Konsep utama untuk membangun aplikasi Azure
- Bagian 7: Bagaimana saya ditagih?
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.
Layanan yang Anda pilih akan sering turun ke dua pertimbangan:
- Apakah Anda lebih suka kesederhanaan atau kontrol?
- Apakah Anda lebih suka cloud-native (yaitu, kontainer) atau Azure-native (alat dan integrasi yang disesuaikan)
Video berikut menjelaskan pertimbangan pertama: kesederhanaan versus kontrol:
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.
- Azure App Service: Hosting web layanan penuh termasuk runtime bahasa, kontainer, dan beban kerja otomatisasi.
- Azure Container Apps: Hosting kontainer tanpa server.
- Azure Spring Apps: Memigrasikan aplikasi Spring Boot ke cloud Azure.
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.
- Azure Virtual Machines: Kontrol penuh VM.
- Azure Kubernetes Service: Kontrol penuh kluster Kubernetes.
Hosting kode sumber
Untuk pengembang yang baru menggunakan Azure yang ingin memulai pengembangan baru, gunakan bagan berikut untuk menemukan solusi hosting yang disarankan.
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.
- Azure App Service: hosting web layanan lengkap.
- Azure Spring Apps: Aplikasi Spring Boot.
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:
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | Menggunakan |
---|---|
Azure Static Web Apps | Gunakan untuk aplikasi web statis yang menggunakan penyajian sisi klien seperti React, Angular, Svelte, Vue, dan Blazor. |
Ketersediaan klien
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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.
Layanan | 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. |