Ketersediaan tinggi dengan Azure Media Services dan VOD (Video on Demand)

Logo Azure Media Services v3


Peringatan

Azure Media Services akan dihentikan pada 30 Juni 2024. Untuk informasi selengkapnya, lihat Panduan Penghentian AMS.

Ketersediaan tinggi untuk VOD

Ada pola desain ketersediaan tinggi yang disebut Geodes dalam dokumentasi Azure Architecture. Dokumentasi ini menjelaskan bagaimana sumber daya duplikat disebarkan ke wilayah geografis yang berbeda untuk memberikan skalabilitas dan ketahanan. Anda dapat menggunakan layanan Azure untuk membuat arsitektur untuk mencakup banyak pertimbangan desain ketersediaan tinggi seperti redundansi, pemantauan kesehatan, penyeimbangan beban, dan pencadangan serta pemulihan data. Salah satu arsitektur tersebut dijelaskan di bawah ini dengan detail tentang setiap layanan yang digunakan dalam solusi serta bagaimana layanan individual dapat digunakan untuk membuat arsitektur ketersediaan tinggi aplikasi VOD Anda.

Sampel

Terdapat sampel yang tersedia agar Anda terbiasa dengan ketersediaan tinggi dengan Azure Media Services dan VOD. Hal ini juga masuk ke detail selengkapnya tentang cara layanan ini digunakan untuk skenario VOD. Sampel tidak dimaksudkan untuk digunakan pada produksi dalam bentuk saat ini. Tinjau dengan cermat kode sampel dan readme, terutama pada bagian Mode Kegagalan sebelum mengintegrasikannya ke dalam aplikasi produksi. Implementasi produksi ketersediaan tinggi untuk VOD juga harus meninjau strategi Content Delivery Network (CDN) dengan cermat. Periksa kode pada GitHub.

Gambaran umum layanan

Layanan yang digunakan dalam contoh arsitektur ini meliputi:

Ikon Nama Deskripsi
Ini adalah ikon akun Azure Media Services. Akun Azure Media Services Deskripsi:
Akun Azure Media Services adalah titik untuk mulai mengelola, mengenkripsi, mengodekan, menganalisis, dan mengalirkan konten media pada Azure. Akun ini berkaitan dengan sumber daya akun Azure Storage. Akun dan semua penyimpanan terkait harus berada di langganan Azure yang sama.

Penggunaan VOD:
Ini adalah layanan yang Anda gunakan untuk mengodekan dan mengirimkan aset video dan audio Anda. Untuk ketersediaan tinggi, Anda harus menyiapkan setidaknya dua akun Azure Media Services di tiap wilayah yang berbeda. Pelajari selengkapnya tentang Azure Media Services.
Ini adalah ikon akun Penyimpanan. Akun penyimpanan Deskripsi:
Akun penyimpanan Azure berisi semua objek data Azure Storage Anda: blob, file, antrean, tabel, dan disk. Data dapat diakses di mana saja melalui HTTP atau HTTPS.

Setiap akun Azure Media Services di tiap wilayah akan memiliki akun penyimpanan di wilayah yang sama.

Penggunaan VOD:
Anda dapat menyimpan data input dan output untuk pemrosesan dan streaming VOD. Pelajari selengkapnya tentang Azure Storage.
Ini adalah ikon Antrean Azure Storage. Antrean Azure Storage Deskripsi:
Antrean Azure Storage adalah layanan untuk menyimpan sejumlah besar pesan yang dapat diakses di mana saja melalui panggilan terautentikasi menggunakan HTTP atau HTTPS.

Penggunaan VOD:
Antrean dapat digunakan untuk mengirim dan menerima pesan untuk mengoordinasikan aktivitas di antara berbagai modul. Sampel menggunakan Antrean Azure Storage tetapi Azure menyediakan jenis antrean lain seperti Microsoft Azure Service Bus dan Antrean Andal dari Microsoft Azure Service Fabric yang mungkin lebih sesuai dengan kebutuhan Anda. Pelajari selengkapnya tentang Antrean Azure.
Ini adalah ikon Microsoft Azure Cosmos DB. Azure Cosmos DB Deskripsi:
Microsoft Azure Cosmos DB adalah layanan database multi-model yang terdistribusi global milik Microsoft yang secara independen menskalakan throughput dan penyimpanan di sejumlah wilayah Azure di seluruh dunia.

Penggunaan VOD:
Tabel dapat digunakan untuk menyimpan rekaman status output pekerjaan dan melacak status kesehatan setiap instans Azure Media Services. Anda juga dapat melacak/merekam status setiap panggilan ke API Azure Media Services. Pelajari selengkapnya tentang Azure Cosmos DB.
Ini adalah ikon identitas Terkelola. Identitas Terkelola Deskripsi:
Identitas terkelola adalah fitur Micorosoft Azure AD yang menyediakan identitas terkelola secara otomatis pada Microsoft Azure AD. Identitas terkelola dapat digunakan untuk mengautentikasi layanan yang mendukung autentikasi Microsoft Azure AD, termasuk Key Vault tanpa memerlukan informasi masuk yang kuat dalam kode Anda.

Penggunaan VOD:
Azure Functions dapat menggunakan Identitas Terkelola untuk mengautentikasi ke instans Azure Media Services agar tersambung ke Key Vault. Pelajari selengkapnya tentang Identitas Terkelola.
Ini adalah ikon Key Vault. Key Vault Deskripsi:
Azure Key Vault dapat digunakan untuk menyimpan dan mengontrol akses ke token, kata sandi, sertifikat, kunci API, dan rahasia lainnya dengan ketat. Azure Key Vault juga dapat digunakan sebagai solusi Manajemen Kunci. Azure Key Vault memberi kemudahan dalam membuat dan mengontrol kunci enkripsi untuk mengenkripsi data Anda. Azure Key Vault dapat dengan mudah memprovisikan, mengelola, dan menyebarkan sertifikat Keamanan Lapisan Transportasi/ Secure Sockets Layer (TLS/SSL) publik dan privat untuk digunakan dengan Azure dan sumber daya internal yang tersambung. Rahasia dan kunci dapat dilindungi baik oleh perangkat lunak ataupun HSM yang divalidasi FIPS 140-2 Level 2.

Penggunaan VOD:
Key Vault dapat digunakan untuk menyiapkan kebijakan akses untuk perwakilan layanan aplikasi Anda. Key Vault dapat digunakan untuk menyimpan string koneksi ke akun penyimpanan. Kami menggunakan Key Vault untuk menyimpan string koneksi ke akun penyimpanan dan cosmos db. Anda juga dapat menggunakan Key Vault untuk menyimpan konfigurasi kluster secara keseluruhan. Untuk setiap Instans Azure Media Service, Anda dapat menyimpan ID langganan, nama grup sumber daya, dan nama akun. Untuk detail selengkapnya, lihat cara menggunakannya dalam sampel. Pelajari selengkapnya tentang Azure Key Vault.
Ini adalah ikon Azure Functions. Azure Functions Deskripsi:
Jalankan potongan-potongan kecil kode (disebut "fungsi") tanpa perlu khawatir mengenai infrastruktur aplikasi dengan Azure Functions. Pelajari selengkapnya tentang Azure Functions.

Penggunaan VOD:
Azure Functions dapat digunakan untuk menyimpan hosting modul aplikasi VOD Anda. Modul untuk aplikasi VOD dapat mencakup:

Pekerjaan Penjadwalan Modul
Modul penjadwalan pekerjaan akan berfungsi untuk mengirimkan pekerjaan baru ke kluster Azure Media Services (dua atau lebih instans di berbagai wilayah). Modul ini akan melacak status kesehatan setiap instans Azure Media Services dan akan mengirimkan pekerjaan baru ke instans sehat berikutnya.

Modul Status Pekerjaan
Modul status pekerjaan akan mendengarkan peristiwa status output pekerjaan yang berasal dari layanan Azure Event Grid. Modul ini akan menyimpan peristiwa ke penyimpanan peristiwa untuk meminimalkan jumlah panggilan ke API Azure Media Services dengan modul yang tersisa.

Modul Kesehatan Instans
Modul ini akan melacak pekerjaan terkirim dan menentukan status kesehatan setiap instans Azure Media Services. Modul akan melacak pekerjaan yang sudah selesai, pekerjaan yang gagal, dan pekerjaan yang tidak pernah selesai.

Modul Provisi
Modul ini akan memprovisikan aset yang diproses. Modul ini akan menyalin data aset ke semua instans Azure Media Services dan menyiapkan layanan Azure Front Door untuk memastikan bahwa aset dapat dialirkan bahkan jika beberapa instans Azure Media Services tidak tersedia. Modul ini juga akan mengatur pencari streaming.

Modul Verifikasi Pekerjaan
Modul ini akan melacak setiap pekerjaan terkirim, mengirimkan ulang pekerjaan gagal, dan membersihkan data pekerjaan yang sudah diselesaikan.
Ini adalah ikon App Service. App Service (dan paket) Deskripsi:
Azure App Service adalah layanan berbasis HTTP untuk meng-hosting aplikasi web, REST API, dan back-end seluler. Layanan ini mendukung .NET, .NET Core, Java, Node.js, PHP, atau Python. Aplikasi berjalan dan menskalakan pada lingkungan berbasis Windows dan Linux.

Penggunaan VOD:
Setiap modul akan di hosting oleh App Service. Pelajari selengkapnya tentang App Service.
Ini adalah ikon Azure Front Door. Azure Front Door Deskripsi:
Azure Front Door digunakan untuk menentukan, mengelola, dan memantau perutean global lalu lintas web dengan mengoptimalkan performa terbaik dan pemulihan kegagalan global yang cepat untuk ketersediaan tinggi.

Penggunaan VOD:
Azure Front Door dapat digunakan untuk merutekan lalu lintas ke titik akhir streaming. Pelajari selengkapnya tentang Azure Front Door.
Ini adalah ikon Azure Event Grid. Azure Event Grid Deskripsi:
Dibuat untuk arsitektur berbasis peristiwa, Azure Event Grid memiliki dukungan bawaan untuk peristiwa yang berasal dari layanan Azure, seperti penyimpanan blob dan grup sumber daya. Azure Event Grid juga memiliki dukungan untuk peristiwa dengan topik kustom. Filter dapat digunakan untuk merutekan peristiwa tertentu ke titik akhir yang berbeda, penyiaran jamak ke beberapa titik akhir, dan memastikan peristiwa dikirimkan dengan andal. Filter memaksimalkan ketersediaan dengan menyebarkan secara asli di beberapa domain kesalahan di setiap wilayah dan di lintas zona ketersediaan.

Penggunaan VOD:
Azure Event Grid dapat digunakan untuk melacak semua peristiwa aplikasi dan menyimpannya untuk menyimpan status pekerjaan. Pelajari selengkapnya tentang Azure Event Grid.
Ini adalah ikon Application Insights. Application Insights Deskripsi:
Application Insights, satu fitur Azure Monitor, adalah layanan Manajemen Performa Aplikasi (APM) yang dapat diperluas untuk pengembang dan profesional DevOps. Application Insights digunakan untuk memantau aplikasi langsung. Application Insights mendeteksi anomali performa, menyertakan alat analitik untuk diagnosis masalah serta untuk memahami apa yang dilakukan pengguna dengan aplikasi. Ini dirancang untuk membantu Anda terus meningkatkan performa dan kegunaan.

Penggunaan VOD:
Semua log dapat dikirim ke Application Insights. Anda mungkin dapat melihat instans apa yang diproses setiap pekerjaan dengan mencari pesan pekerjaan yang telah berhasil dibuat. Log ini dapat berisi semua metadata pekerjaan terkirim, termasuk pengenal unik dan informasi nama instans. Pelajari selengkapnya tentang Application Insights.

Arsitektur

Diagram tingkat tinggi ini menunjukkan arsitektur sampel yang disediakan untuk membantu Anda memulai dengan ketersediaan tinggi dan layanan media.

 Diagram Arsitektur Tingkat Tinggi VOD

Praktik terbaik

Wilayah

  • Membuat dua (atau lebih) akun Azure Media Services. Dua akun tersebut harus berada di wilayah yang berbeda. Untuk informasi selengkapnya, lihat Wilayah tempat penyebaran Azure Media Services.
  • Unggah media Anda ke wilayah yang sama tempat Anda berencana mengirimkan pekerjaan.
  • Jika Anda kemudian perlu mengirim ulang pekerjaan ke wilayah lain, Anda dapat menggunakan JobInputHttp atau menggunakan Copy-Blob untuk menyalin data dari kontainer Aset sumber ke kontainer Aset di wilayah alternatif.

Pemantauan

  • Berlangganan pesan JobStateChange di setiap akun melalui Azure Event Grid.

    • Gunakan Microsoft.Azure.EventGrid SDK (yang mendukung peristiwa Azure Media Services secara asli).
    • Anda juga dapat menggunakan peristiwa Event Grid melalui Azure Functions.

    Untuk informasi selengkapnya:

    • Lihat sampel Audio Analitik sampel yang memperlihatkan cara memantau pekerjaan dengan Azure Event Grid termasuk menambahkan cadangan jika pesan Azure Event Grid tertunda karena beberapa alasan.
  • Saat Anda membuat pekerjaan:

    • Pilih akun secara acak dari daftar akun yang saat ini digunakan (daftar ini biasanya berisi kedua akun, tetapi jika masalah terdeteksi mungkin hanya berisi satu akun). Jika daftar kosong, naikkan pemberitahuan agar operator dapat menyelidikinya.
    • Buat rekaman untuk melacak setiap pekerjaan dalam penerbangan dan wilayah/akun yang digunakan.
  • Saat handler JobStateChange Anda mendapatkan pemberitahuan bahwa pekerjaan telah mencapai status terjadwal, rekam waktu ketika masuk ke status terjadwal serta wilayah/akun yang digunakan.

  • Saat handler JobStateChange Anda mendapatkan pemberitahuan bahwa pekerjaan telah mencapai status pemrosesan, tandai rekaman untuk pekerjaan sebagai pemrosesan dan rekam waktu pekerjaan tersebut ketika masuk ke status pemrosesan.

  • Saat handler JobStateChange Anda mendapatkan pemberitahuan bahwa tugas telah mencapai status akhir (Selesai/Kesalahan/Dibatalkan), tandai rekaman untuk pekerjaan dengan tepat.

  • Memiliki proses terpisah yang secara berkala melihat rekaman pekerjaan Anda

    • Jika Anda memiliki pekerjaan dalam status terjadwal yang belum berlanjut ke status pemrosesan dalam masa waktu yang wajar untuk wilayah tertentu, hapus wilayah tersebut dari daftar akun yang saat ini digunakan. Tergantung pada kebutuhan bisnis Anda, Anda dapat memutuskan untuk segera membatalkan pekerjaan tersebut dan mengirimkannya kembali ke wilayah yang lain. Atau, Anda bisa memberi waktu pekerjaan itu lebih lama agar beralih ke status berikutnya.
    • Jika suatu wilayah dihapus dari daftar akun, pantaulah wilayah itu untuk pemulihan sebelum menambahkannya kembali ke daftar. Kesehatan regional dapat dipantau melalui pekerjaan yang ada di wilayah tersebut (jika tidak dibatalkan dan dikirim ulang), dengan menambahkan kembali akun ke daftar setelah jangka waktu tertentu, dan oleh operator yang memantau komunikasi Azure terkait pemadaman yang mungkin memengaruhi Azure Media Services.

Mendapatkan bantuan dan dukungan

Anda dapat menghubungi Media Services dengan pertanyaan atau mengikuti pembaruan kami dengan salah satu metode berikut: