Contoh skenario ini memandu Anda melalui penerapan front end e-commerce menggunakan platform Azure sebagai alat layanan (PaaS).
Sistem
Unduh file Visio arsitektur ini.
Aliran data
Skenario ini mencakup pembelian tiket dari situs e-commerce, data mengalir melalui skenario sebagai berikut:
- Azure Traffic Manager rute permintaan pengguna ke situs e-commerce yang dihosting di Azure App Service.
- Azure CDN menyajikan gambar dan konten statis kepada pengguna.
- Pengguna masuk ke aplikasi melalui penyewa B2C Azure Active Directory.
- Pengguna mencari konser menggunakan Azure Search.
- Situs web menarik detail konser dari Azure SQL Database.
- Situs web mengacu pada gambar tiket yang dibeli di Blob Storage.
- Hasil kueri database di-cache di Azure Cache untuk Redis untuk meningkatkan kinerja.
- Pengguna mengirimkan pesanan tiket dan ulasan konser, yang ditempatkan dalam antrian.
- Azure Functions memproses pembayaran pesanan dan ulasan konser.
- Cognitive Services memberikan analisis review konser untuk menentukan sentimen (positif atau negatif).
- Aplikasi Insights menyediakan metrik kinerja untuk memantau kesehatan aplikasi web.
Komponen
- Azure CDN menayangkan konten statis yang disimpan dari lokasi yang dekat dengan pengguna untuk menurunkan latensi.
- Traffic Manager mengontrol distribusi lalu lintas pengguna untuk titik akhir layanan di berbagai wilayah Azure.
- App Services - Web Apps menghosting aplikasi web yang memungkinkan penskalaan otomatis dan ketersediaan tinggi tanpa harus mengelola infrastruktur.
- Azure Active Directory B2C adalah layanan manajemen identitas yang memungkinkan penyesuaian dan kontrol atas cara pelanggan mendaftar, masuk, dan mengelola profil mereka dalam aplikasi.
- Storage Queues menyimpan sejumlah besar pesan antrian yang dapat diakses oleh aplikasi.
- Azure Functions adalah opsi komputasi tanpa server yang memungkinkan aplikasi berjalan sesuai permintaan tanpa harus mengelola infrastruktur.
- Azure Cognitive Services memungkinkan pengembang untuk dengan mudah menambahkan fitur kognitif seperti deteksi emosi dan video; pengenalan wajah, ucapan, dan penglihatan; dan pemahaman berbicara dan bahasa - ke dalam aplikasi mereka.
- Azure Search adalah solusi cloud pencarian sebagai layanan yang memberikan pengalaman pencarian yang kaya melalui konten privat dan heterogen di aplikasi web, perangkat seluler, dan perusahaan.
- Storage Blobs dioptimalkan untuk menyimpan sejumlah besar data tidak terstruktur, seperti teks atau data biner.
- Azure Cache untuk Radis meningkatkan kinerja dan skalabilitas sistem yang sangat bergantung pada penyimpanan data back-end dengan menyalin data yang sering diakses untuk penyimpanan cepat yang terletak dekat dengan aplikasi.
- Azure SQL Database adalah layanan terkelola database relasional tujuan umum yang mendukung struktur seperti data relasional, JSON, spasial, dan XML.
- Aplikasi Insights dirancang untuk membantu Anda terus meningkatkan kinerja dan kegunaan dengan secara otomatis mendeteksi anomali kinerja melalui alat analitik bawaan untuk membantu memahami apa yang dilakukan pengguna dengan aplikasi.
Alternatif
Banyak teknologi lain yang tersedia untuk membangun aplikasi yang dihadapi pelanggan yang berfokus pada e-niaga dalam skala besar. Teknologi tersebut mencakup ujung depan aplikasi serta tingkat data.
Opsi lain untuk tingkat web dan fungsi meliputi:
- Azure Kubernetes Service - Platform untuk membangun dan menerapkan solusi berbasis kontainer yang dapat digunakan sebagai salah satu implementasi arsitektur layanan mikro. Platform ini menyediakan kelincahan berbagai komponen aplikasi untuk menskalakan secara independen atau sesuai permintaan.
- Azure Container Instances - Cara menyebarkan dan menjalankan kontainer dengan cepat dengan siklus hidup yang singkat. Kontainer di sini digunakan untuk menjalankan pekerjaan pemrosesan cepat seperti memproses pesan atau melakukan perhitungan dan kemudian dinonaktifkan segera setelah selesai.
- Bus Layanan dapat digunakan sebagai pengganti Antrian Storage.
Opsi lain untuk tingkat data meliputi:
- Azure Cosmos DB: Database multi-model Microsoft yang didistribusikan secara global. Layanan ini menyediakan platform untuk menjalankan model data lain seperti MongoDB, Cassandra, data Graph, atau penyimpanan tabel sederhana.
Detail skenario
Banyak situs web e-commerce menghadapi variabilitas musiman dan lalu lintas dari waktu ke waktu. Ketika permintaan untuk produk atau layanan Anda lepas landas, baik yang dapat diprediksi atau tidak dapat diprediksi, menggunakan alat PaaS akan memungkinkan Anda untuk menangani lebih banyak pelanggan dan lebih banyak transaksi secara otomatis. Selain itu, skenario ini memanfaatkan ekonomi cloud dengan hanya membayar untuk kapasitas yang Anda gunakan.
Dokumen ini akan membantu Anda mempelajari tentang berbagai komponen Dan pertimbangan Azure PaaS yang digunakan untuk menyatukan penerapan aplikasi e-niaga sampel, Relecloud Concerts, platform tiket konser online.
Kemungkinan kasus penggunaan
Solusi ini dioptimalkan untuk industri ritel. Kasus penggunaan yang relevan lainnya meliputi:
- Membangun aplikasi yang membutuhkan skala elastis untuk menangani semburan pengguna pada waktu yang berbeda.
- Membangun aplikasi yang dirancang untuk beroperasi dengan ketersediaan tinggi di berbagai wilayah Azure di seluruh dunia.
Pertimbangan
Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.
Ketersediaan
- Pertimbangkan untuk menggunakan pola desain yang umum untuk ketersediaan saat membuat aplikasi cloud Anda.
- Tinjau pertimbangan ketersediaan dalam arsitektur referensi aplikasi web App Service yang sesuai
- Untuk pertimbangan tambahan mengenai ketersediaan, lihat daftar periksa ketersediaan di Azure Architecture Center.
Skalabilitas
- Saat membuat aplikasi cloud, waspadai pola desain umum untuk skalabilitas.
- Tinjau pertimbangan skalabilitas dalam arsitektur referensi aplikasi web App Service yang sesuai.
- Untuk topik skalabilitas lainnya, lihat ceklis efisiensi performa yang tersedia di Azure Architecture Center.
Keamanan
Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.
- Pertimbangkan untuk menggunakan pola desain yang umum untuk keamanan jika sesuai.
- Tinjau pertimbangan keamanan dalam arsitektur referensi aplikasi web App Service yang sesuai.
- Pertimbangkan untuk mengikuti proses siklus hidup pengembangan yang aman untuk membantu pengembang membuat perangkat lunak yang lebih aman dan memenuhi persyaratan kepatuhan keamanan sembari mengurangi biaya pengembangan.
- Tinjau arsitektur cetak biru untuk kepatuhan Azure PCI DSS.
Ketahanan
- Pertimbangkan untuk menggunakan pola pemutus sirkuit untuk memberikan penanganan kesalahan yang anggun jika salah satu bagian dari aplikasi tidak tersedia.
- Tinjau pola desain yang umum untuk ketahanan dan pertimbangkan untuk menerapkan pola ini jika sesuai.
- Anda dapat menemukan banyak praktik yang direkomendasikan untuk App Service di Azure Architecture Center.
- Pertimbangkan menggunakan replikasi geografis yang aktif untuk tingkat data dan penyimpanan geo-redundan untuk gambar dan antrean.
- Untuk diskusi lebih dalam tentang ketahanan, lihat artikel yang relevan di Azure Architecture Center.
Pengoptimalan biaya
Optimalisasi biaya adalah tentang mencari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.
Jelajahi biaya menjalankan skenario ini, semua layanan telah dikonfigurasi sebelumnya dalam kalkulator biaya. Untuk melihat bagaimana harga akan berubah untuk kasus penggunaan khusus Anda, ubah variabel yang sesuai agar sesuai dengan lalu lintas yang Anda harapkan.
Kami telah menyediakan tiga contoh profil biaya berdasarkan jumlah lalu lintas yang Anda harapkan:
- Kecil: Contoh harga ini mewakili komponen yang diperlukan untuk membuat instans tingkat produksi minimum. Di sini kita mengasumsikan pengguna dalam jumlah kecil, hanya berjumlah beberapa ribu per bulan. Aplikasi ini menggunakan satu instans aplikasi web standar yang akan cukup untuk mengaktifkan penskalaan otomatis. Masing-masing komponen lainnya diskalakan ke tingkat dasar yang akan memungkinkan jumlah biaya minimum tetapi tetap memastikan bahwa ada dukungan SLA dan kapasitas yang cukup untuk menangani beban kerja tingkat produksi.
- Sedang: Contoh harga ini mewakili komponen yang menunjukkan penyebaran ukuran sedang. Di sini kami memperkirakan sekitar 100.000 pengguna yang menggunakan sistem selama sebulan. Lalu lintas yang diharapkan akan ditangani dalam satu instans layanan aplikasi dengan tingkat standar sedang. Selain itu, tingkat sedang layanan kognitif dan pencarian ditambahkan ke kalkulator.
- Besar: Contoh harga ini mewakili aplikasi yang dimaksudkan untuk skala tinggi, dengan urutan jutaan pengguna per bulan yang memindahkan terabyte data. Pada tingkat penggunaan performa tinggi ini, diperlukan aplikasi web tingkat premium yang disebarkan di beberapa wilayah yang diprioritaskan oleh pengelola lalu lintas. Data terdiri dari komponen berikut: penyimpanan, database, dan CDN, dikonfigurasi untuk terabyte data.
Menyebarkan skenario ini
Untuk menyebarkan skenario ini, Anda dapat mengikuti tutorial langkah demi langkah ini yang menunjukkan cara menyebarkan setiap komponen secara manual. Tutorial ini juga menyediakan aplikasi contoh .NET yang menjalankan aplikasi pelaporan pengeluaran Contoso sederhana. Selain itu, ada template Resource Manager untuk mengotomatiskan penyebaran sebagian besar sumber daya Azure.
Kontributor
Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.
Penulis utama:
- Chris Mason | Manajer Senior, Rekayasa Perangkat Lunak
Langkah berikutnya
- Pola desain yang khas untuk skalabilitas
- Siklus hidup pengembangan yang aman
- Ketahanan
- Praktik yang direkomendasikan untuk App Service