Aplikasi web multi-wilayah dengan replikasi Tabel Penyimpanan khusus

Azure Front Door
Azure App Service
Azure Functions
Azure Table Storage
Azure Cache for Redis

Arsitektur ini menyediakan solusi ketersediaan tinggi untuk aplikasi web yang menggunakan banyak sekali data. Ini adalah pendekatan fleksibel yang dapat memberikan solusi global yang mendistribusikan aplikasi dan data agar tetap dekat dengan pengguna.

Arsitektur memerlukan perangkat lunak replikasi kustom. tergantung pada aplikasi dan konfigurasi, ini bisa menjadi tantangan untuk dibuat.

Berikut adalah beberapa kemungkinan konfigurasi:

  • Aktif/Pasif: Ada wilayah utama yang biasanya menyediakan layanan untuk semua pengguna. Ada juga wilayah siaga yang menjadi aktif ketika wilayah utama tidak dapat berfungsi. Saat sistem utama aktif, layanan replikasi mereplikasi perubahan database ke wilayah siaga.

  • Aktif/Aktif: Ada wilayah utama yang biasanya aktif, menyediakan layanan baca untuk pengguna terdekat dan menulis layanan kepada semua pengguna. Satu atau beberapa wilayah lain aktif dan menyediakan layanan hanya baca untuk pengguna di sekitar. Layanan tulis selalu diarahkan ke wilayah utama, dan layanan baca selalu diarahkan ke wilayah aktif terdekat.

    Seperti halnya konfigurasi Aktif/Pasif, ada wilayah siaga yang menjadi aktif ketika wilayah utama tidak dapat berfungsi. Saat sistem utama aktif, layanan replikasi mereplikasi perubahan database ke wilayah hanya baca dan wilayah siaga. Saat wilayah siaga aktif, layanan replikasi mereplikasi perubahan database ke wilayah hanya baca.

    Satu kelemahan pada pendekatan ini adalah latensi operasi tulis yang tinggi.

  • Multi-active: Ada beberapa wilayah aktif, masing-masing mampu memberikan layanan penuh untuk pengguna. Aktivitas pengguna selalu diarahkan ke wilayah aktif terdekat.

    Implementasi multi-active cukup menantang, dan dapat memerlukan desain dan implementasi tingkat ahli.

Karena replikasi adalah implementasi khusus, tingkat konsistensi dapat diatur sesuai keperluan.

Kemungkinan kesulitan menerapkan replikasi kustom dan waktu yang diperlukan adalah pertimbangan penting dengan arsitektur ini.

Catatan

Aplikasi Anda mungkin memerlukan beberapa akun penyimpanan dalam beberapa keadaan. Lihat Pertimbangan untuk informasi selengkapnya.

Kemungkinan kasus penggunaan

Arsitektur ini mungkin sesuai untuk aplikasi apa pun yang menggunakan banyak sekali data yang harus selalu tersedia. Contohnya termasuk aplikasi yang:

  • Lacak kebiasaan pengeluaran pelanggan dan perilaku belanja (industri ritel).
  • Prakiraan cuaca (pertanian, lingkungan, dan industri media/berita).
  • Menawarkan sistem lalu lintas cerdas atau menerapkan sistem lalu lintas pintar atau menggunakan teknologi pintar untuk memantau lalu lintas (industri otomotif dan transportasi).
  • Menganalisis manufaktur data Internet of Things (IoT).
  • Tampilkan data pengukur pintar atau gunakan teknologi pintar untuk memantau data meteran (industri energi).

Sistem

Arsitektur sistem tangguh yang menggunakan Azure Table Storage. Ini dapat memiliki beberapa wilayah aktif dan dapat dialihkan ke wilayah siaga.

Unduh file Visio arsitektur ini.

Aliran data

  1. Klien mengautentikasi dengan ID Microsoft Entra dan diberikan akses ke aplikasi web yang dihosting di Azure App Service.
  2. Azure Front Door, firewall dan load balancer lapisan 7, mengalihkan lalu lintas pengguna ke wilayah Azure yang berbeda jika ada pemadaman regional.
  3. Azure App Service menghosting situs web dan API web RESTful. Klien browser menjalankan aplikasi AJAX yang menggunakan API.
  4. Web API mendelegasikan aplikasi fungsi untuk menangani proses di latar belakang. Tugas diantrekan di antrean Antrean Penyimpanan Azure.
  5. Aplikasi fungsi yang dihosting oleh Azure Functions melakukan proses di latar belakang, dipicu oleh pesan yang diantrekan.
  6. Perangkat lunak replikasi kustom memastikan tabel tetap identik di antara wilayah.
  7. Azure Cache for Redis menyimpan cache data tabel untuk aplikasi fungsi. Hal ini menghentikan aktivitas database dan mempercepat aplikasi fungsi dan aplikasi web.
  8. Azure Table Storage menyimpan data yang digunakan oleh aplikasi web.

Komponen

  • MICROSOFT Entra ID adalah layanan manajemen identitas dan akses multi-penyewa yang dapat disinkronkan dengan direktori lokal. Azure DNS adalah layanan hosting dengan ketersediaan tinggi untuk domain DNS yang menyediakan aplikasi dengan kueri DNS cepat dan pembaruan cepat pada rekaman DNS. Mengelola Azure DNS sama seperti mengelola layanan Azure lainnya. Pengelolaan ini juga menggunakan info masuk, API, alat, dan penagihan yang sama.
  • Azure Front Door adalah jaringan pengiriman konten (CDN) yang aman dan load balancer dengan failover instan. Jaringan ini beroperasi di tepi dekat pengguna, sehingga mempercepat pengiriman konten sekaligus melindungi aplikasi, API, dan situs dari ancaman cyber.
  • Azure App Service adalah layanan yang dikelola penuh untuk membangun, menyebarkan, dan menskalakan aplikasi web. Anda dapat membuat aplikasi menggunakan .NET, .NET Core, Node.js, Java, Python, atau PHP. Aplikasi dapat berjalan dalam kontainer atau di Windows atau Linux. Dalam migrasi mainframe, layar front-end atau antarmuka web dapat dikodekan sebagai REST API berbasis HTTP. Keduanya dapat dipisahkan dan bisa bersifat tanpa status untuk mengatur sistem berbasis layanan mikro. Untuk informasi selengkapnya tentang API web, lihat Desain API web RESTful.
  • Azure Functions menyediakan lingkungan untuk menjalankan bagian-bagian kecil kode, yang disebut fungsi, tanpa harus membuat infrastruktur aplikasi. Anda dapat menggunakannya untuk memproses data massal, mengintegrasikan sistem, bekerja dengan IoT, dan membangun API dan layanan mikro sederhana. Dengan layanan mikro, Anda dapat membuat server yang terhubung ke layanan Azure dan selalu diperbarui.
  • Penyimpanan Azure adalah satu set layanan cloud yang aman dan dapat diskalakan secara besar-besaran untuk data, aplikasi, dan beban kerja. Ini mencakup Azure Files, Azure Table Storage, dan Azure Queue Storage. Azure Files sering kali menjadi alat yang efektif untuk memigrasikan beban kerja mainframe.
  • Azure Queue Storage menyediakan antrean pesan yang sederhana, hemat biaya, dan tahan lama untuk beban kerja yang besar.
  • Penyimpanan Tabel Azure adalah penyimpanan nilai kunci NoSQL untuk pengembangan cepat yang menggunakan himpunan data semi-terstruktur yang masif. Tabel tidak memiliki skema dan mudah beradaptasi seiring berubahnya kebutuhan. Akses cepat dan hemat biaya untuk berbagai jenis aplikasi, dan biasanya lebih murah daripada jenis penyimpanan dengan kunci lainnya.
  • Azure Cache for Redis adalah layanan cache dalam memori dan broker pesan yang terkelola sepenuhnya untuk berbagi data dan status di antara sumber daya komputasi. Layanan ini mencakup Redis sumber terbuka dan produk komersial dari Redis Labs sebagai layanan terkelola. Anda dapat meningkatkan performa aplikasi pemrosesan transaksi online yang memiliki throughput tinggi dengan mendesainnya untuk diskalakan dan memanfaatkan penyimpanan data dalam memori seperti Azure Cache for Redis.

Alternatif

  • Azure Traffic Manager mengarahkan permintaan DNS yang masuk di seluruh wilayah Azure global berdasarkan pilihan metode perutean lalu lintas Anda. Layanan ini juga menyediakan failover otomatis dan perutean performa.
  • Azure Content Delivery Network menyimpan konten statis di server edge untuk respons cepat, dan menggunakan pengoptimalan jaringan untuk meningkatkan respons terhadap konten dinamis. Content Delivery Network sangat berguna saat basis pengguna bersifat global.
  • Azure Container Apps adalah layanan kontainer tanpa server yang dikelola sepenuhnya yang digunakan untuk membangun dan menyebarkan aplikasi modern dalam skala besar.
  • Azure Kubernetes Service (AKS) adalah layanan Kubernetes yang terkelola sepenuhnya untuk menyebarkan dan mengelola aplikasi dalam kontainer. Anda dapat menggunakannya untuk menerapkan arsitektur layanan mikro yang komponennya melakukan penskalaan secara independen sesuai permintaan.
  • Azure Container Instances menyediakan cara cepat dan sederhana untuk menjalankan tugas tanpa harus mengelola infrastruktur. Cara ini berguna selama pengembangan atau untuk menjalankan tugas yang tidak terjadwal.
  • Azure Service Bus adalah layanan olahpesan cloud yang andal untuk integrasi hibrid sederhana. Layanan ini dapat digunakan sebagai pengganti Antrian Penyimpanan dalam arsitektur ini. Untuk informasi selengkapnya, lihat Antrean Penyimpanan dan antrean Service Bus - persamaan dan perbedaan.

Pertimbangan

  • Arsitektur memerlukan perangkat lunak replikasi kustom. Ini mungkin sulit untuk dibuat, tergantung pada aplikasi dan konfigurasinya. Kemungkinan kesulitan menerapkan replikasi kustom dan waktu yang diperlukan adalah pertimbangan penting dengan arsitektur ini.

  • Karena replikasi dirancang khusus, pengembang memiliki fleksibilitas tinggi dalam menerapkan strategi konsistensi data.

  • Ada batasan performa pada Table Storage yang dapat diatasi dengan menambahkan akun Storage. Keadaan berikut mungkin memerlukan lebih banyak akun:

    • Untuk menerapkan multipenyewaan guna mendukung beberapa pelanggan
    • Untuk mendukung pelanggan dengan tingkat transaksi yang lebih tinggi
    • Untuk mendukung pelanggan dengan himpunan data besar
    • Untuk mempercepat akses data dengan mendistribusikan data di beberapa akun penyimpanan
    • Untuk memisahkan data menjadi tingkat panas, dingin, dan arsip
    • Untuk membuat salinan data untuk tujuan pencadangan dan pelaporan

    Untuk informasi selengkapnya, lihat Skalabilitas dan target performa untuk Table Storage.

  • Jika aplikasi Anda sudah berisi data, maka Anda perlu menulis rutinitas untuk menyalin data lama ke akun penyimpanan. Pastikan Anda memiliki stempel waktu dan bendera salinan untuk melacak progres migrasi data.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

  • Nabil Siddiqui | Arsitek Solusi Cloud - Inovasi Digital dan Aplikasi

Langkah berikutnya