Integrasi dasar di Azure

Microsoft Entra ID
Azure API Management
Azure DNS
Azure Logic Apps
Azure Monitor

Arsitektur referensi ini menggunakanSSIS untuk mengatur panggilan ke sistem backend perusahaan. Sistem backend dapat mencakup sistem software as a service (SaaS), layanan Azure, dan layanan web yang ada di perusahaan Anda.

Arsitektur

Architecture diagram showing simple enterprise integration

Unduh file Visio arsitektur ini.

Alur kerja

  • Sistem backend. Sisi kanan diagram menunjukkan berbagai sistem backend yang digunakan atau diandalkan oleh perusahaan. Sistem ini mungkin mencakup sistem SaaS, layanan Azure lainnya, atau layanan web yang mengekspos titik akhir REST atau SOAP.

  • Azure Logic Apps. Dalam arsitektur ini, aplikasi logika dipicu oleh permintaan HTTP. Anda juga dapat menyusun alur kerja untuk orkestrasi yang lebih kompleks. Logic Apps menggunakan konektor untuk berintegrasi dengan layanan yang umum digunakan. Logic Apps menawarkan ratusan konektor, dan Anda dapat membuat konektor khusus.

  • Azure API Management. API Management terdiri dari dua komponen terkait:

    • Gateway API. Gateway API menerima panggilan HTTP dan mengarahkannya ke backend.

    • Portal pengembang. Setiap contoh Azure API Management menyediakan akses keportal pengembang. Portal ini memberi pengembang akses ke dokumentasi dan contoh kode untuk memanggil API. Anda juga dapat menguji API di portal pengembang.

  • Azure DNS. Azure DNS menyediakan resolusi nama dengan menggunakan infrastruktur Azure. Dengan menghosting domain Anda di Azure, Anda bisa mengelola rekaman DNS Anda menggunakan informasi masuk, API, alat, dan tagihan yang sama dengan layanan Azure lainnya. Untuk menggunakan nama domain kustom, seperti contoso.com, buat data DNS yang memetakan nama domain kustom ke alamat IP. Untuk informasi selengkapnya, lihat Mengonfigurasi nama domain kustom di API Management.

  • ID Microsoft Entra. Gunakan ID Microsoft Entra untuk mengautentikasi klien yang memanggil gateway API. MICROSOFT Entra ID mendukung protokol OpenID Koneksi (OIDC). Klien mendapatkan token akses dari ID Microsoft Entra, dan API Gateway memvalidasi token untuk mengotorisasi permintaan. Jika Anda menggunakan tingkat Standar atau Premium API Management, ID Microsoft Entra juga dapat membantu mengamankan akses ke portal pengembang.

Komponen

  • Integration Services adalah kumpulan layanan yang dapat Anda gunakan untuk mengintegrasikan aplikasi, data, dan proses.
  • Logic Apps adalah platform tanpa server untuk membangun alur kerja perusahaan yang mengintegrasikan aplikasi, data, dan layanan.
  • API Management adalah layanan terkelola untuk menerbitkan katalog API HTTP. Anda dapat menggunakannya untuk mempromosikan penggunaan kembali dan ketercarian API Anda dan untuk menyebarkan gateway API ke permintaan API proksi.
  • Azure DNS adalah layanan hosting untuk domain DNS.
  • ID Microsoft Entra adalah layanan manajemen identitas dan akses berbasis cloud. Karyawan perusahaan dapat menggunakan ID Microsoft Entra untuk mengakses sumber daya eksternal dan internal.

Detail skenario

Integration Services adalah kumpulan layanan yang dapat Anda gunakan untuk mengintegrasikan aplikasi, data, dan proses untuk perusahaan Anda. Arsitektur ini menggunakan dua layanan tersebut: Logic Appsuntuk mengatur alur kerja, dan API Managementuntuk membuat katalog API.

Dalam arsitektur ini, API komposit dibangun dengan mengimpor aplikasi logikasebagai API. Anda juga dapat mengimpor layanan web yang ada dengan mengimpor OpenAPIspesifikasi (Swagger) atau mengimpor SOAP API dari spesifikasi WSDL.

Gateway API membantu memisahkan klien front-end dari back end. Misalnya, ia dapat menulis ulang URL, atau mengubah permintaan sebelum mencapai backend. Ini juga menangani banyak masalah lintas sektoral seperti autentikasi, dukungan berbagi sumber daya lintas-asal (CORS), dan respon tembolok.

Kemungkinan kasus penggunaan

Arsitektur ini cukup untuk skenario integrasi dasar di mana alur kerja dipicu oleh panggilan sinkron ke layanan backend. Arsitektur yang lebih canggih menggunakan antrian dan acara yang dibangun di atas arsitektur dasar ini.

Rekomendasi

Persyaratan khusus Anda bisa saja berbeda dari arsitektur umum yang ditampilkan di sini. Gunakan rekomendasi di bagian ini sebagai titik awal.

API Management

Gunakan tingkatan API Management Basic, Standard, atau Premium. Tingkatan ini menawarkan perjanjian tingkat layanan produksi (SLA) dan skala dukungan dalam wilayah Azure. Seluruh kapasitas untuk API Management diukur dalam satuanunit. Setiap tingkat harga memiliki skala keluar maksimum. Tingkat Premium juga mendukung penskalaan di beberapa wilayah Azure. Pilih tingkat berdasarkan set fitur dan tingkat keluaran yang diperlukan. Untuk informasi selengkapnya, lihat Harga Manajemen API dan Kapasitas contoh Azure API Management.

Setiap instans Azure API Management memiliki nama domain bawaan, yang merupakan subdomain dari azure-api.net, misalnya, contoso.azure-api.net. Pertimbangkan untuk mengonfigurasi domain kustomuntuk organisasi Anda.

Aplikasi Logika

Logic Apps berfungsi paling baik dalam skenario yang tidak memerlukan latensi rendah untuk respons, seperti panggilan API tidak langsung atau semi-berjalan lama. Jika latensi rendah diperlukan, misalnya dalam panggilan yang memblokir antarmuka pengguna, gunakan teknologi yang berbeda. Misalnya, gunakan Azure Functions atau API web yang disebarkan ke Azure App Service. Gunakan API Management untuk mengarahkan API ke konsumen API Anda.

Wilayah

Untuk meminimalkan latensi jaringan, letakkan API Management dan Logic Apps di wilayah yang sama. Secara umum, pilih wilayah yang paling dekat dengan pengguna Anda (atau paling dekat dengan layanan backend Anda).

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat Anda gunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keandalan

Keandalan memastikan bahwa aplikasi Anda dapat memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keandalan.

Tinjau SLA untuk setiap layanan:

Jika Anda menyebarkan API Management di dua wilayah atau lebih dengan tingkat Premium, api tersebut memenuhi syarat untuk SLA yang lebih tinggi. lihat Harga API Management.

Pencadangan

Secara teratur cadangkankonfigurasi API Management Anda. Simpan file cadangan Anda di lokasi atau wilayah Azure yang berbeda dari wilayah tempat layanan disebarkan. Berdasarkan RTO Anda, pilih strategi pemulihan bencana:

  • Dalam peristiwa pemulihan bencana, sediakan contoh API Management baru, pulihkan cadangan ke contoh baru, dan arahkan ulang catatan DNS.

  • Simpan contoh pasif layanan API Management di wilayah Azure lain. Pulihkan cadangan secara teratur ke contoh itu, agar tetap sinkron dengan layanan aktif. Untuk memulihkan layanan selama peristiwa pemulihan bencana, Anda hanya perlu mengarahkan ulang catatan DNS. Pendekatan ini dikenakan biaya tambahan karena Anda membayar instans pasif, tetapi mengurangi waktu pemulihan.

Untuk aplikasi logika, kami menyarankan pendekatan konfigurasi-sebagai-kode untuk mencadangkan dan memulihkan. Karena aplikasi logika tidak memiliki server, Anda dapat dengan cepat membuatnya kembali dari templatt Azure Resource Manager. Simpan templat di kontrol sumber, integrasikan templat dengan proses integrasi berkelanjutan/penerapan berkelanjutan (CI/CD) Anda. Dalam peristiwa pemulihan bencana, terapkan templat ke wilayah baru.

Jika Anda menerapkan aplikasi logika ke region yang berbeda, perbarui konfigurasi di API Management. Anda dapat memperbarui API Backendproperti dengan menggunakan skrip PowerShell dasar.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

Meskipun daftar ini tidak sepenuhnya menggambarkan semua praktik terbaik keamanan, berikut beberapa pertimbangan keamanan yang berlaku khusus untuk arsitektur ini:

  • Azure API Management memiliki alamat IP publik tetap. Batasi akses untuk memanggil titik akhir Azure Logic Apps hanya ke alamat IP API Management. Untuk informasi selengkapnya, lihat Membatasi alamat IP masuk.

  • Untuk memastikan pengguna memiliki tingkat akses yang sesuai, gunakan kontrol akses berbasis peran Azure (Azure RBAC).

  • Amankan titik akhir API publik di API Management dengan menggunakan OAuth atau OpenID Connect. Untuk mengamankan titik akhir API publik, konfigurasikan penyedia identitas, dan tambahkan kebijakan validasi JSON Web Token (JWT). Untuk informasi selengkapnya, lihat Melindungi API dengan menggunakan OAuth 2.0 dengan ID Microsoft Entra dan API Management.

  • Hubungkan ke layanan back-end dari API Management dengan menggunakan sertifikat bersama.

  • Terapkan HTTPS pada API Management API.

Penyimpanan rahasia

Jangan pernah memeriksa kata sandi, kunci akses, atau rangkaian koneksi ke kontrol sumber. Jika nilai-nilai ini diperlukan, amankan dan terapkan dengan menggunakan teknik yang sesuai.

Jika aplikasi logika memerlukan nilai sensitif apa pun yang tidak dapat Anda buat dalam konektor, simpan nilai tersebut di Azure Key Vault dan rujuk dari Resource Manager template. Gunakan parameter templat penerapan dan file parameter untuk setiap lingkungan. Untuk informasi selengkapnya, lihat Mengamankan parameter dan input alur kerja.

API Management mengelola rahasia dengan menggunakan objek yang disebut nilai bernamaatau properti. Objek ini dengan aman menyimpan nilai yang dapat Anda akses melalui kebijakan API Management. Untuk informasi selengkapnya, lihat Cara menggunakan Nilai Bernama dalam kebijakan Azure API Management.

Keunggulan operasional

Keunggulan operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Gambaran umum pilar keunggulan operasional.

DevOps

Buat grup sumber daya terpisah untuk lingkungan produksi, pengembangan, dan pengujian. Grup sumber daya yang terpisah akan mempermudah pengelolaan penyebaran, penghapusan penyebaran pengujian, dan penetapan hak akses.

Saat Anda menetapkan sumber daya ke grup sumber daya, pertimbangkan faktor berikut:

  • Lifecycle. Secara umum, letakkan sumber daya yang memiliki siklus hidup yang sama dalam grup sumber daya yang sama.

  • Akses. Anda dapat menggunakan kontrol akses berbasis peran Azure (Azure RBAC) untuk menerapkan kebijakan akses ke sumber daya dalam grup.

  • Tagihan. Anda dapat melihat biaya rollup untuk grup sumber daya.

  • Tingkat harga untuk API Management. Gunakan tingkat Pengembang untuk lingkungan pengembangan dan pengujian. Untuk meminimalkan biaya selama pra-produksi, sebarkan replika lingkungan produksi, jalankan pengujian, lalu matikan.

Penyebaran

Gunakan template Azure Resource Manager untuk menyebarkan sumber daya Azure dengan mengikuti Proses Infrastruktur sebagai Kode (IaC). Dengan templat, penyebaran otomatisasi menggunakan Azure DevOps Services, atau solusi CI/CD lainnya menjadi lebih mudah.

Staging

Pertimbangkan penahapan beban kerja Anda, yang berarti menyebarkan ke berbagai tahap dan menjalankan validasi di setiap tahap sebelum melanjutkan ke tahap berikutnya. Jika Anda menggunakan pendekatan ini, Anda dapat mendorong pembaruan ke lingkungan produksi dengan cara yang sangat terkontrol dan meminimalkan masalah penyebaran yang tidak terduga. Penerapan biru-hijau dan rilis Canary merupakan strategi penerapan yang direkomendasikan untuk memperbarui lingkungan produksi secara langsung. Pertimbangkan juga untuk memiliki strategi putar kembali yang baik ketika penyebaran gagal. Misalnya, Anda dapat secara otomatis menyebarkan ulang penyebaran yang sebelumnya dan berhasil dari riwayat penyebaran Anda. Parameter --rollback-on-error bendera di Azure CLI adalah contoh yang baik.

Isolasi beban kerja

Masukkan API Management dan aplikasi logika individual apa pun di templat Resource Manager tersendiri. Dengan menggunakan templat terpisah, Anda dapat menyimpan sumber daya dalam sistem kontrol sumber. Anda dapat menyebarkan templat bersama-sama atau secara individual sebagai bagian dari proses CI / CD.

Versi

Setiap kali Anda mengubah konfigurasi aplikasi logika atau menerapkan pembaruan melalui templat Resource Manager, Azure menyimpan salinan versi tersebut dan menyimpan semua versi yang memiliki riwayat pernah dijalankan. Anda dapat menggunakan versi ini untuk melacak perubahan historis atau mempromosikan versi sebagai konfigurasi aplikasi logika saat ini. Misalnya, Anda dapat mengembalikan aplikasi logika ke versi sebelumnya.

API Management mendukung dua konsep penerapan versi yang berbeda tetapi saling melengkapi:

  • Versi memungkinkan konsumen API untuk memilih versi API berdasarkan kebutuhan mereka, misalnya, v1, v2, beta, atau produksi.

  • Revisi memungkinkan administrator API untuk membuat perubahan yang tidak pecah dalam API dan menyebarkan perubahan tersebut, bersama dengan log perubahan untuk memberi tahu konsumen API tentang perubahan tersebut.

Anda dapat membuat revisi di lingkungan pengembangan dan menerapkan perubahan itu di lingkungan lain dengan menggunakan templat Resource Manager. Untuk informasi selengkapnya, lihat Menerbitkan beberapa versi API Anda.

Anda juga dapat menggunakan revisi untuk menguji API sebelum membuat perubahan terkini dan dapat diakses oleh pengguna. Namun, metode ini tidak disarankan untuk pengujian beban atau pengujian integrasi. Gunakan pengujian atau praproduksi yang terpisah.

Diagnostik dan pemantauan

Gunakan Azure Monitor untuk pemantauan operasional di API Management dan Logic Apps. Azure Monitor menyediakan informasi berdasarkan metrik yang dikonfigurasi untuk setiap layanan dan diaktifkan secara default. Untuk informasi selengkapnya, lihat:

Setiap layanan juga memiliki opsi sebagai berikut:

  • Untuk analisis dan dasbor yang lebih mendalam, kirim log Aplikasi Logika ke Azure Log Analytics.

  • Untuk pemantauan DevOps, konfigurasikan Azure Application Insights untuk API Management.

  • API Management mendukung templat solusi Power BI untuk analitik API kustom. Anda dapat menggunakan template solusi ini untuk membuat solusi analitik Anda sendiri. Untuk pengguna bisnis, Power BI menyediakan laporan.

Efisiensi kinerja

Efisiensi performa adalah kemampuan beban kerja Anda untuk diskalakan agar memenuhi permintaan yang diberikan oleh pengguna dengan cara yang efisien. Untuk informasi selengkapnya, lihat Gambaran umum pilar efisiensi performa.

Untuk meningkatkan skalabilitas API Management, tambahkan kebijakan penembolokan jika sesuai. Penembolokan juga membantu mengurangi beban pada layanan back-end.

Untuk menawarkan kapasitas yang lebih besar, Anda dapat menskalakan tingkatan Azure API Management Basic, Standard, dan Premium di wilayah Azure. Untuk menganalisis penggunaan layanan Anda, pilih Metrik Kapasitas pada menu Metrik lalu tingkatkan atau turunkan skala sesuai kebutuhan. Proses peningkatan atau penskalaan dapat memakan waktu 15 hingga 45 menit untuk diterapkan.

Rekomendasi untuk menskalakan layanan API Management:

  • Pertimbangkan pola lalu lintas saat menskalakan. Pelanggan dengan pola lalu lintas yang fluktuatif membutuhkan lebih banyak kapasitas.

  • Kapasitas konsisten yang lebih besar dari 66% mungkin menunjukkan kebutuhan untuk ditingkatkan.

  • Kapasitas yang konsisten di bawah 20% mungkin menunjukkan peluang untuk dikurangi.

  • Sebelum mengaktifkan beban dalam produksi, selalu uji beban layanan API Management Anda dengan beban yang representatif.

Dengan tingkat Premium, Anda dapat menskalakan contoh API Management di beberapa wilayah Azure. Hal ini membuat API Management memenuhi syarat untuk SLA yang lebih tinggi dan memungkinkan Anda menyediakan layanan di dekat pengguna di beberapa wilayah.

Model tanpa server Logic Apps berarti administrator tidak perlu merencanakan skalabilitas layanan. Layanan secara otomatis diskalakan untuk memenuhi permintaan.

Pengoptimalan biaya

Secara umum, gunakan kalkulator harga Azure untuk memperkirakan biaya. Berikut beberapa pertimbangan lainnya.

API Management

Anda dikenakan biaya untuk semua instans API Management saat dijalankan. Jika Anda telah meningkatkan dan tidak membutuhkan kenaikan performa itu sepanjang waktu, turunkan skala secara manual atau konfigurasikan penskalaan otomatis.

Aplikasi Logika

Logic Apps menggunakan model tanpa server. Tagihan dihitung berdasarkan tindakan dan eksekusi konektor. Untuk informasi selengkapnya, lihat Harga Logic Apps.

Untuk informasi selengkapnya, lihat bagian biaya di Microsoft Azure Well-Architected Framework.

Langkah berikutnya

Untuk keandalan dan skalabilitas yang lebih besar, gunakan antrean pesan dan peristiwa untuk memisahkan sistem backend. Arsitektur ini ditampilkan di artikel berikutnya dalam seri ini:

Anda mungkin juga tertarik dengan artikel ini dari Azure Architecture Center: