Aplikasi web dua wilayah dengan kegagalan table storage

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

Ide solusi

Artikel ini menjelaskan ide solusi. Arsitek cloud Anda dapat menggunakan panduan ini untuk membantu memvisualisasikan komponen utama untuk implementasi umum arsitektur ini. Gunakan artikel ini sebagai titik awal untuk merancang solusi yang dirancang dengan baik yang selaras dengan persyaratan spesifik beban kerja Anda.

Arsitektur ini menyediakan solusi ketersediaan tinggi untuk aplikasi web yang menggunakan sejumlah besar data. Wilayah sekunder berfungsi sebagai siaga ke primer, meningkatkan ketersediaan. Wilayah utama mengirimkan datanya ke sekunder dengan menggunakan kemampuan replikasi bawaan Azure Storage.

Data disimpan dalam tabel Azure Table Storage. Seperti halnya layanan Azure Storage, data Table Storage direplikasi secara sinkron sebanyak tiga kali di wilayah utama. Untuk membuatnya tersedia untuk penggunaan siaga, data juga direplikasi secara asinkron sebanyak tiga kali di wilayah sekunder. Untuk informasi tentang replikasi Azure Storage, lihat redundansi Azure Storage.

Arsitektur mencakup cache untuk tabel untuk mengurangi beban akses dan meningkatkan respons aplikasi.

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:

  • Melacak kebiasaan belanja pelanggan dan perilaku belanja.
  • Meramal cuaca.
  • Menawarkan sistem lalu lintas pintar atau menerapkan sistem lalu lintas pintar atau menggunakan teknologi pintar untuk memantau lalu lintas.
  • Menganalisis manufaktur data Internet of Things (IoT).
  • Menampilkan data meteran pintar atau menggunakan teknologi pintar untuk memantau data meter.

Sistem

Arsitektur sistem tangguh yang dapat melakukan failover 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 siaga jika terjadi 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. Azure Cache for Redis menyimpan cache data tabel untuk aplikasi fungsi. Hal ini menghentikan aktivitas database dan mempercepat aplikasi fungsi dan aplikasi web.
  7. Azure Table Storage menyimpan data yang digunakan oleh aplikasi web.
  8. Tabel Storage mendukung replikasi data sinkron di seluruh zona ketersediaan di wilayah tersebut untuk mengurangi pemadaman pusat data. Ini juga menggunakan replikasi asinkron untuk mereplikasi data di berbagai wilayah Azure untuk memulihkan pemadaman regional dan meningkatkan ketersediaan aplikasi.

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 cache konten statis di server tepi untuk respons cepat, dan menggunakan pengoptimalan jaringan untuk mempercepat respons untuk 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

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

    • 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.

  • Replikasi Table Storage tidak tersedia di beberapa wilayah Azure.

  • Data di wilayah sekunder memiliki konsistensi terakhir, yang berarti bahwa ada jeda antara waktu pembaruan terjadi di wilayah primer dan saat terlihat di wilayah sekunder. Karena replikasi dari wilayah primer ke wilayah sekunder asinkron, data dapat hilang jika wilayah primer gagal dan tidak pulih. Saat ini tidak ada perjanjian tingkat layanan (SLA) tentang berapa lama waktu yang dibutuhkan untuk mereplikasi data ke wilayah sekunder. Untuk informasi lebih lanjut, lihat Redundansi Azure Storage.

Kontributor

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

Penulis utama:

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

Langkah berikutnya