Pilih layanan integrasi dan otomatisasi yang tepat di Azure
Artikel ini membandingkan layanan cloud Microsoft berikut ini:
- Microsoft Power Automate (adalah Microsoft Flow)
- Aplikasi Logika Azure
- Azure Functions
- Azure App Service WebJobs
Semua layanan ini dapat menyelesaikan masalah integrasi dan mengotomatiskan proses bisnis. Semuanya dapat menentukan input, tindakan, kondisi, dan output. Anda dapat menjalankan masing-masingnya pada jadwal atau pemicu. Setiap layanan memiliki keunggulan unik, dan artikel ini menjelaskan perbedaannya.
Catatan
Jika Anda mencari perbandingan yang lebih umum antara Azure Functions dan opsi komputasi Azure lainnya:
Untuk ringkasan dan perbandingan opsi layanan otomatisasi di Azure:
Membandingkan Microsoft Power Automate dan Azure Logic Apps
Power Automate dan Azure Logic Apps adalah layanan integrasi pertama perancang yang dapat membuat alur kerja. Kedua layanan ini terintegrasi dengan berbagai aplikasi SaaS dan perusahaan.
Power Automate dibangun di platform Azure Logic Apps. Keduanya menyediakan perancang alur kerja dan konektor yang sama.
Power Automate memberdayakan setiap pekerja kantor untuk melakukan integrasi sederhana (misalnya, proses persetujuan pada Pustaka Dokumen SharePoint) tanpa melalui pengembang atau IT. Logic Apps juga dapat mengaktifkan integrasi tingkat lanjut (misalnya, proses B2B) saat Azure DevOps tingkat perusahaan dan praktik keamanan diperlukan. Biasanya alur kerja bisnis tumbuh dalam kompleksitas dari waktu ke waktu.
Tabel berikut ini membantu Anda menentukan apakah Power Automate atau Logic Apps yang terbaik untuk integrasi tertentu:
Power Automate | Logic Apps | |
---|---|---|
Pengguna | Pekerja Office, pengguna bisnis, administrator SharePoint | Integrator dan pengembang profesional, profesional IT |
Skenario | Layanan mandiri | Integrasi tingkat lanjut |
Alat desain | Di browser dan aplikasi seluler, hanya UI | Di browser, Visual Studio Code, dan Visual Studio dengan tampilan kode tersedia |
Pengelolaan siklus hidup aplikasi (ALM) | Power Platform menyediakan alat yang terintegrasi dengan DevOps dan GitHub Actions untuk memungkinkan Anda membangun alur otomatis dalam siklus ALM. | Azure DevOps: kontrol sumber, pengujian, dukungan, otomatisasi, dan pengelolaan di Azure Resource Manager |
Pengalaman admin | Mengelola lingkungan Power Automate dan kebijakan pencegahan kehilangan data (DLP), melacak lisensi: Pusat admin | Mengelola grup sumber daya, koneksi, pengelolaan akses, dan pencatatan: Portal Microsoft Azure |
Keamanan | Log audit keamanan Microsoft 365, DLP, enkripsi saat tidak digunakan untuk data sensitif | Jaminan keamanan Azure: Keamanan Azure, Pertahanan Microsoft untuk Cloud, log audit |
Membandingkan Azure Functions dan Azure Logic Apps
Functions dan Logic Apps adalah layanan Azure yang memungkinkan beban kerja tanpa server. Azure Functions adalah layanan komputasi tanpa server, sedangkan Azure Logic Apps adalah platform integrasi alur kerja tanpa server. Keduanya dapat membuat orkestrasi yang kompleks. Orkestrasi adalah kumpulan fungsi, atau tindakan di Azure Logic Apps, yang dapat Anda jalankan untuk menyelesaikan tugas yang kompleks. Misalnya, untuk memproses batch pesanan, Anda dapat menjalankan banyak instans fungsi secara paralel, menunggu semua instans selesai, lalu menjalankan fungsi yang menghitung hasil secara agregat.
Untuk Azure Functions, Anda mengembangkan orkestrasi dengan menulis kode dan menggunakan ekstensi Durable Functions. Untuk Azure Logic Apps, Anda membuat orkestrasi menggunakan GUI atau mengedit file konfigurasi.
Anda dapat mencampur dan mencocokkan layanan saat membangun orkestrasi, seperti memanggil fungsi dari alur kerja aplikasi logika dan memanggil alur kerja aplikasi logika dari fungsi. Pilih cara membuat setiap orkestrasi berdasarkan kemampuan layanan atau preferensi pribadi Anda. Tabel berikut mencantumkan beberapa perbedaan utama antara layanan ini:
Fungsi Tahan Lama | Azure Logic Apps | |
---|---|---|
Pengembangan | Code-first (imperatif) | Designer-first (deklaratif) |
Konektivitas | Sekitar selusin jenis pengikatan bawaan, menulis kode untuk pengikatan kustom | Koleksi besar konektor, Paket Integrasi Perusahaan untuk skenario B2B, membuat konektor kustom |
Tindakan | Setiap aktivitas adalah fungsi Azure; menulis kode untuk fungsi aktivitas | Koleksi besar tindakan siap digunakan |
Pemantauan | Azure Application Insights | portal Azure, Log Azure Monitor, Microsoft Defender untuk Cloud |
Manajemen | REST API, Visual Studio | Portal Microsoft Azure, REST API, PowerShell, Visual Studio |
Konteks eksekusi | Dapat berjalan secara lokal atau di cloud | Berjalan di Azure, secara lokal, atau lokal. Untuk informasi selengkapnya, lihat Apa itu Azure Logic Apps. |
Membandingkan Fungsi dan WebJob
Seperti Azure Functions, Azure App Service WebJobs dengan WebJobs SDK adalah layanan integrasi code-first yang dirancang bagi pengembang. Keduanya dibuat di Azure App Service dan fitur dukungan seperti integrasi kontrol sumber, autentikasi, dan pemantauan dengan integrasi Application Insights.
WebJobs dan SDK WebJobs
Anda dapat menggunakan fitur WebJobs App Service untuk menjalankan skrip atau kode dalam konteks aplikasi web App Service. WebJobs SDK adalah kerangka kerja yang dirancang untuk WebJobs yang menyederhanakan kode yang Anda tulis untuk merespons peristiwa di layanan Azure. Misalnya, Anda dapat merespons pembuatan blob gambar di Azure Storage dengan membuat gambar mini. WebJobs SDK berjalan sebagai aplikasi konsol .NET, yang dapat Anda sebarkan ke WebJob.
WebJobs dan WebJobs SDK berfungsi paling baik bersama-sama, tetapi Anda dapat menggunakan WebJobs tanpa WebJobs SDK dan sebaliknya. WebJob dapat menjalankan program atau skrip apa pun yang berjalan di kotak pasir App Service. Aplikasi konsol WebJobs SDK dapat berjalan di mana saja aplikasi konsol berjalan, seperti server lokal.
Tabel perbandingan
Azure Functions dibuat di WebJobs SDK, sehingga berbagi banyak pemicu peristiwa dan koneksi yang sama ke layanan Azure lainnya. Berikut adalah beberapa faktor yang perlu dipertimbangkan saat Anda memilih antara Azure Functions dan WebJobs dengan WebJobs SDK:
Fungsi | WebJobs dengan WebJobs SDK | |
---|---|---|
Model aplikasi tanpa server dengan penskalaan otomatis | ✔ | |
Mengembangkan dan menguji di browser | ✔ | |
Harga bayar sesuai penggunaan | ✔ | |
Integrasikan dengan Logic Apps | ✔ | |
Memicu peristiwa | Timer Antrean dan blob Azure Storage Antrean dan topik Azure Service Bus Azure Cosmos DB Azure Event Hubs HTTP/WebHook (GitHub, Slack) Azure Event Grid |
Timer Antrean dan blob Azure Storage Antrean dan topik Azure Service Bus Azure Cosmos DB Azure Event Hubs Sistem file |
Bahasa yang didukung | C# F# JavaScript Java Python PowerShell |
C#1 |
Pengelola paket | npm dan NuGet | NuGet2 |
1 WebJobs (tanpa SDK WebJobs) mendukung bahasa seperti C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python, dan banyak lagi. WebJob dapat menjalankan program atau skrip apa pun yang dapat berjalan di kotak pasir App Service.
2 WebJobs (tanpa WebJobs SDK) mendukung npm dan NuGet.
Ringkasan
Azure Functions menawarkan produktivitas pengembang yang lebih banyak daripada Azure App Service WebJobs. Ini juga menawarkan lebih banyak opsi untuk bahasa pemrograman, lingkungan pengembangan, integrasi layanan Azure, dan harga. Untuk sebagian besar skenario, ini adalah pilihan terbaik.
Berikut adalah dua skenario saat WebJobs mungkin menjadi pilihan terbaik:
- Anda memerlukan lebih banyak kontrol atas kode yang mendengarkan peristiwa, objek
JobHost
. Functions menawarkan sejumlah cara terbatas untuk menyesuaikan perilakuJobHost
dalam filehost.json. Terkadang, Anda perlu melakukan hal yang tidak dapat ditentukan oleh string dalam file JSON. Misalnya, hanya WebJobs SDK yang memungkinkan Anda mengonfigurasi kebijakan coba lagi kustom untuk Azure Storage. - Anda memiliki aplikasi App Service yang ingin Anda jalankan cuplikan kodenya, dan Anda ingin mengelolanya bersama-sama di lingkungan Azure DevOps yang sama.
Untuk skenario lain saat Anda ingin menjalankan cuplikan kode untuk mengintegrasikan Azure atau layanan pihak ketiga, pilih Azure Functions daripada WebJobs dengan WebJobs SDK.
Power Automate, Logic Apps, Functions, dan WebJobs bersama-sama
Anda tidak perlu hanya memilih salah satu dari layanan ini. Mereka berintegrasi satu sama lain dan dengan layanan eksternal.
Alur Power Automate dapat memanggil alur kerja Azure Logic Apps. Alur kerja Azure Logic Apps dapat memanggil fungsi di Azure Functions, begitu pula sebaliknya. Misalnya, lihat Membuat fungsi yang terintegrasi dengan Azure Logic Apps.
Antara Power Automate, Logic Apps, dan Functions, pengalaman integrasi antara layanan ini terus meningkat dari waktu ke waktu. Anda dapat membangun suatu komponen di salah satu layanan dan menggunakannya di layanan yang lain.
Anda bisa mendapatkan informasi selengkapnya tentang layanan integrasi dengan menggunakan tautan berikut:
- Memanfaatkan Azure Functions & Azure App Service untuk skenario integrasi oleh Christopher Anderson
- Integrasi yang Dibuat Sederhana oleh Charles Lamanna
- Siaran web langsung Logic Apps
- Tanya jawab umum tentang Power Automate
Langkah berikutnya
Mulai membuat alur, alur kerja aplikasi logika, atau aplikasi fungsi pertama Anda. Pilih salah satu tautan berikut: