Portal kesehatan konsumen di Azure

Azure App Service
Azure Functions
Azure Web Application Firewall

Artikel ini menjelaskan arsitektur khas portal kesehatan konsumen, yang selaras dengan pilar Azure Well Architected Framework. Anda dapat memilih untuk menyesuaikan arsitektur ini untuk memenuhi kebutuhan khusus Anda.

Sistem

Diagram arsitektur portal kesehatan konsumen.

Unduh file Visio arsitektur ini.

Alur kerja

  • Solusi ini menggunakan jejak global Azure Front Door dan fitur keamanan tepi Azure Web Application Firewall (WAF) untuk mengautentikasi data masuk.
  • Data yang diautentikasi kemudian dirutekan oleh Azure API Management (APIM) ke antarmuka front-end untuk pengguna di Azure App Service, atau API yang dihosting di Azure Functions.

Layanan data backend utama yang digunakan dalam arsitektur ini adalah Azure Cosmos DB. Kemampuan multi-model Azure Cosmos DB, selain skalabilitas dan keamanannya, memungkinkan fleksibilitas untuk semua jenis portal kesehatan konsumen. Data apa pun yang tidak dalam format rekaman disimpan di Azure Blob Storage sebagai objek. Data ini dapat mencakup gambar medis, foto yang diambil oleh konsumen, dokumen yang diunggah, data yang diarsipkan, dan sebagainya. Penyimpanan blob menyediakan penyimpanan yang terjangkau untuk data tidak terstruktur dengan volume besar. Jenis data tersebut tidak dioptimalkan untuk penyimpanan di Azure Cosmos DB, dan dapat berdampak negatif pada biaya dan performanya.

Komponen

  • Cetak biru Azure HIPAA HITRUST 9.2 adalah cetak biru Azure yang menggunakan Azure Policy. Ini membantu menilai kontrol HIPAA HITRUST 9.2 dan menyebarkan serangkaian kebijakan inti untuk beban kerja Azure. Meskipun ini tidak memberikan cakupan kepatuhan penuh untuk HIPAA HITRUST, ini adalah tempat yang bagus untuk memulai dan menambahkan lebih banyak kontrol, jika berlaku dan diperlukan. Kepatuhan terhadap inisiatif kebijakan juga dapat divisualisasikan dalam cetak biru ini dan di antarmuka Microsoft Defender untuk Cloud.

  • Azure Front Door digunakan untuk mengelola lalu lintas tepi berskala besar, dan untuk meningkatkan performa bagi pengguna akhir dengan menghadirkan titik akhir di seluruh dunia. Ini adalah teknologi cloud-native yang tidak memerlukan lisensi apa pun; Anda hanya membayar untuk apa yang Anda gunakan. Dalam skenario beban kerja ini, Azure Front Door berfungsi sebagai titik ingress untuk semua lalu lintas ke portal kesehatan konsumen.

  • Azure Web Application Firewall melindungi aplikasi dari serangan berbasis web yang umum seperti kerentanan OWASP, injeksi SQL, scripting lintas situs, dan lainnya. Ini adalah teknologi cloud-native yang tidak memerlukan lisensi apa pun dan pembayarannya berbasis penggunaan.

  • Azure API Management membantu dalam penerbitan, perutean, pengamanan, pengelogan, dan analitik API. Baik API hanya digunakan oleh pengguna akhir atau terintegrasi dengan pihak ketiga untuk interoperabilitas eksternal, manajemen API memungkinkan fleksibilitas dalam cara API diperluas dan disajikan.

  • Azure App Service adalah layanan yang digunakan untuk menghosting layanan web berbasis HTTP. Layanan ini mendukung berbagai bahasa, dapat berjalan di Linux atau Windows, terintegrasi penuh dengan alur CI/CD, dan bahkan dapat menjalankan beban kerja kontainer sebagai penawaran PaaS. Selain memiliki integrasi native dengan layanan identitas, keamanan, dan pengelogan di Azure, App Service juga memungkinkan peningkatan dan peluasan. App Service mampu memenuhi kebutuhan penskalaan portal kesehatan konsumen sambil mempertahankan kepatuhan. Dalam arsitektur ini, App Service menghosting portal web front-end.

  • Azure Function Apps adalah solusi platform tanpa server di Azure yang memungkinkan pengembang menulis kode komputasi sesuai permintaan, tanpa harus memelihara sistem yang mendasarinya. Dalam arsitektur ini, Azure Functions dapat menghosting API, dan pekerjaan apa pun yang perlu dilakukan secara asinkron, seperti menjalankan tugas berkala dan mengkomputasi statistik selama periode waktu tertentu.

  • Azure Cosmos DB adalah penawaran database NoSQL multi-model yang dikelola sepenuhnya, yang menawarkan waktu respons satu digit serta menjamin performa pada skala apa pun. Setiap pengguna dalam sistem kesehatan konsumen hanya akan memiliki data yang terkait dengan diri mereka sendiri, yang membenarkan penggunaan struktur data NoSQL. Azure Cosmos DB memiliki skala yang hampir tidak terbatas, serta baca dan tulis multi-wilayah. Dengan pertumbuhan drastis jumlah data yang dikumpulkan oleh jenis sistem kesehatan konsumen ini, Azure Cosmos DB dapat memberikan keamanan, kecepatan, dan skala yang sesuai, terlepas dari apakah ada 100 atau 1.000.000 pengguna aktif.

  • Azure Key Vault adalah layanan native Azure yang digunakan untuk menyimpan dan mengakses rahasia, kunci, dan sertifikat dengan aman. Key Vault memungkinkan keamanan yang didukung HSM, dan akses yang diaudit melalui kontrol akses berbasis peran terintegrasi Microsoft Entra. Aplikasi tidak boleh menyimpan kunci atau rahasia secara lokal. Arsitektur ini menggunakan Azure Key Vault untuk menyimpan semua rahasia seperti Kunci API, kata sandi, kunci kriptografi, dan sertifikat.

  • Azure Active Directory B2C memberikan identitas bisnis ke konsumen sebagai layanan dalam skala besar, biayanya akan meningkat sesuai dengan jumlah pengguna aktif Anda. Dalam aplikasi yang menghadap konsumen seperti solusi ini, alih-alih membuat akun baru, pengguna mungkin ingin membawa identitas mereka sendiri. Identitas ini bisa berupa apa saja mulai dari ID sosial, hingga akun email, atau layanan identitas penyedia SAML apa pun. Metode ini memberikan pengalaman onboarding yang lebih mudah bagi pengguna. Penyedia solusi hanya perlu merujuk identitas pengguna, dan tidak perlu menghosting dan memeliharanya.

  • Azure Log Analytics, alat Azure Monitor Logs, dapat digunakan untuk diagnostik atau melakukan pengelogan informasi, dan untuk mengkueri data ini guna mengurutkan, memfilter, atau memvisualisasikannya. Layanan ini diberi harga berdasarkan konsumsi, dan sangat cocok untuk menghosting diagnostik dan log penggunaan dari semua layanan dalam solusi ini.

  • Azure Application Insights, fitur lain dari Azure Monitor, adalah layanan Application Performance Management (APM) native di Azure. Fitur ini dapat dengan mudah diintegrasikan ke dalam App Service front-end, dan ke dalam semua kode Azure Functions untuk memungkinkan pemantauan aplikasi secara langsung. Application Insights dapat dengan mudah mendeteksi performa, anomali kegunaan, dan kesalahan yang dihasilkan langsung dari aplikasi itu sendiri, dan tidak hanya dari platform komputasi yang menghostingnya.

  • Azure Communication Services adalah layanan berbasis cloud dengan REST API dan SDK pustaka klien yang tersedia untuk membantu Anda mengintegrasikan komunikasi ke dalam aplikasi Anda. Anda dapat menambahkan komunikasi ke aplikasi Anda tanpa menjadi ahli dalam teknologi yang mendasar seperti pengodean media atau telepon. Dalam solusi ini, dapat digunakan untuk mengirim email, teks, atau panggilan telepon otomatis yang terkait dengan portal kesehatan konsumen, seperti konfirmasi janji temu atau pengingat.

  • Azure Notification Hub adalah mesin pemberitahuan push sederhana dan dapat diskalakan yang memberi kemampuan untuk mengirim pemberitahuan ke platform seluler apa pun. Portal kesehatan konsumen yang menggunakan aplikasi ponsel dapat berintegrasi dengan Hub Azure Notification untuk cara yang hemat biaya guna memberikan pemberitahuan push ke pengguna yang telah memasang aplikasi di ponsel mereka. Dalam arsitektur ini, pemberitahuan dapat dikirim untuk mengingatkan pengguna tentang janji temu mereka, memasukkan informasi untuk perangkat yang terputus, mencapai tujuan kesehatan tertentu, dan sebagainya.

  • Microsoft Defender untuk Cloud) adalah inti dari pemantauan keamanan dan manajemen postur untuk seluruh solusi cloud-native ini. Microsoft Defender untuk Cloud terintegrasi dengan hampir semua layanan utama di platform Azure. Kemampuannya mencakup peringatan keamanan, deteksi anomali, rekomendasi praktik terbaik, skor kepatuhan terhadap peraturan, dan deteksi ancaman. Selain pemantauan kepatuhan HIPAA/HITRUST, dan pemantauan praktik terbaik Azure Security secara keseluruhan, solusi ini menggunakan set fitur berikut:

Alternatif

  • Layanan Azure FHIR sebagai bagian dari Azure Health Data Services dapat digunakan untuk interoperabilitas catatan medis, menggunakan standar komunikasi HL7 atau FHIR. Layanan ini harus digunakan jika aplikasi Anda perlu menerima atau mengirimkan rekam medis dari sistem lain. Misalnya, jika solusi ini adalah portal untuk penyedia layanan kesehatan, Azure Healthcare APIs dapat berintegrasi dengan sistem rekam medis elektronik milik penyedia secara langsung.

  • Azure IoT Hub adalah layanan yang disesuaikan untuk menyerap data perangkat. Jika portal adalah front-end untuk solusi yang mengumpulkan data dari perangkat yang dapat dikenakan atau perangkat medis lainnya, IoT Hub harus digunakan untuk menyerap data ini. Untuk informasi selengkapnya, baca proses INGEST dari arsitektur Solusi Pemantauan Pasien Jarak Jauh.

  • Microsoft 365 Email adalah layanan terdepan di industri yang digunakan untuk email dan komunikasi. Banyak organisasi telah berinvestasi dalam layanan ini dan dapat digunakan sebagai alternatif untuk Azure Communication Services yang lebih berfitur lengkap. Dalam solusi ini, Office 365 Email dapat digunakan untuk mengirim email apa pun yang terkait dengan portal kesehatan konsumen, seperti konfirmasi janji temu atau email pengingat.

Detail skenario

Di seluruh industri ilmu kesehatan dan biologi, organisasi mengadopsi strategi kesehatan digital. Salah satu pilar inti dan komponen penting dari solusi kesehatan digital adalah portal kesehatan konsumen. Portal kesehatan konsumen dapat digunakan untuk melacak kemajuan dan statistik dari perangkat yang dapat dipakai, terlibat dengan penyedia medis, atau bahkan melacak kebiasaan makan yang sehat.

Kemungkinan kasus penggunaan

  • Melacak statistik perangkat yang dapat dikenakan.
  • Mendapatkan akses ke rekam medis dan terlibat dengan penyedia layanan kesehatan.
  • Memasukkan waktu dan dosis obat, yang dapat digunakan untuk data isi ulang atau pelacakan obat sendiri.
  • Berinteraksi dengan pelatih makan sehat untuk menurunkan berat badan atau diabetes.

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

Solusi ini saat ini dirancang sebagai penyebaran satu wilayah. Jika skenario Anda memerlukan penyebaran multi-wilayah untuk ketersediaan tinggi, pemulihan bencana, atau bahkan kedekatan, Anda mungkin memerlukan Wilayah Azure Berpasangan dengan konfigurasi berikut.

  • Azure Cosmos DB diperluas untuk mengaktifkan konfigurasi multi-wilayah.

  • Azure API Management disebarkan menggunakan CI/CD ke wilayah sekunder. Anda mungkin juga menerapkan kemampuan Penyebaran Multi-Wilayah API Management.

  • Azure App Service dan Functions disebarkan secara terpisah ke beberapa wilayah. Penyebaran ini dapat dilakukan dalam alur CI/CD Anda dengan membuat penyebaran paralel. Baca aplikasi web multi-wilayah yang sangat tersedia untuk panduan lebih lanjut.

  • Bergantung pada persyaratan untuk RTO (tujuan waktu pemulihan), Azure Blob Storage dapat dikonfigurasi sebagai penyimpanan geo-redundan (GRS), atau penyimpanan geo-redundan akses-baca (RA-GRS) yang memungkinkan pembacaan langsung dari wilayah alternatif. Untuk mempelajari lebih lanjut, lihat artikel redundansi Azure Storage.

  • Beberapa lapisan ketersediaan dan redundansi menjadi fitur bawaan dalam layanan Azure Key Vault.

Keamanan

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

Bagian berikut menjelaskan praktik terbaik keamanan untuk setiap layanan yang digunakan dalam solusi ini.

Azure Front Door

Web Application Firewall (WAF) Azure Front Door harus digunakan untuk memitigasi banyak serangan umum yang berbeda. Garis besar yang baik adalah memulai dengan menggunakan versi terbaru dari Set aturan inti (CRS) Open Web Application Security Project (OWASP), lalu menambahkan kebijakan kustom sesuai kebutuhan. Meskipun Azure Front Door dirancang untuk menyerap lalu lintas dalam jumlah besar, pertimbangkan untuk menggunakan mekanisme penembolokan yang tersedia dengan layanan ini untuk mengurangi beban lalu lintas ke sistem back-end jika memungkinkan. Untuk pemecahan masalah dan dukungan untuk kemungkinan penyelidikan keamanan, pengelogan harus dikonfigurasi untuk Azure Front Door dan Web Application Firewall. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Front Door.

Azure API Management

Semua lalu lintas ke APIM harus diautentikasi, baik dengan menggunakan autentikasi Azure AD B2C APIM atau dengan sesi yang diidentifikasi token. Konfigurasikan Azure API Management untuk menyimpan log sumber daya. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure API Management.

Azure App Service

Semua lalu lintas ke arsitektur ini, termasuk App Service, harus diamankan secara menyeluruh dengan TLS. App Service harus menolak protokol yang tidak aman untuk memperketat permukaan serangan. Selain itu, APIM harus meneruskan kembali autentikasi klien ke App Service untuk memungkinkannya memvalidasi terhadap autentikasi dan otorisasi klien miliknya sendiri. Semua rahasia yang digunakan dalam App Service harus disimpan di Key Vault, menggunakan identitas layanan terkelola jika memungkinkan. App Service juga harus menyimpan log diagnostik untuk mendukung semua upaya diagnostik keamanan, dan harus terintegrasi dengan Microsoft Defender untuk App Service. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure App Service

Azure Functions

Semua permintaan ke Azure Functions dalam solusi ini harus memerlukan HTTPS, menggunakan Azure API Management untuk mengautentikasi permintaan, dan menggunakan Identitas Terkelola jika memungkinkan. Simpan semua kunci di Azure Key Vault, alih-alih meninggalkannya di kode Function. Seperti halnya aplikasi apa pun, pastikan untuk memvalidasi data saat memasukkannya, dan berintegrasi dengan Microsoft Defender untuk Cloud. Terakhir, selalu konfigurasikan pengelogan dan pemantauan untuk Azure Functions. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Functions.

Azure Blob Storage

Jika memungkinkan, batasi akses ke penyimpanan blob dengan menggunakan ID Microsoft Entra untuk mengotorisasi akses pengguna, dan Identitas Layanan Terkelola untuk akses sumber daya ke penyimpanan blob. Jika jenis autentikasi ini mungkin tidak berfungsi untuk aplikasi Anda, gunakan token Tanda Tangan Akses Bersama (SAS) pada tingkat yang paling terperinci, bukan kunci akun. Token SAS tidak valid setelah memutar kunci akun.

Pastikan juga untuk menggunakan kontrol akses berbasis peran untuk penyimpanan blob. Gunakan Firewall Azure Storage untuk melarang lalu lintas selain lalu lintas dari Layanan Microsoft Tepercaya. Selalu integrasikan Azure Storage dengan Microsoft Defender untuk Cloud dan konfigurasikan pemantauan. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Blob Storage.

Azure Cosmos DB

Kontrol akses berbasis peran harus diaktifkan untuk manajemen Azure Cosmos DB. Akses ke data di Azure Cosmos DB harus diamankan dengan tepat. Anda dapat mengonfigurasi Azure Cosmos DB untuk menyimpan log diagnostik untuk operasi sarana kontrol dan menyimpan log sumber daya. Lihat detail selengkapnya di Praktik keamanan untuk Azure Cosmos DB.

Azure Key Vault

Permintaan yang dibuat ke Azure Key Vault harus diautentikasi menggunakan ID Microsoft Entra atau MSI selain kontrol akses istimewa. Integrasikan Key Vault dengan Microsoft Defender untuk Cloud selain melakukan pengelogan tindakan Key Vault di Azure Monitor. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Key Vault.

Azure AD B2C

Gunakan fitur bawaan di Azure AD B2C untuk melindungi dari ancaman seperti, penolakan layanan dan serangan berbasis kata sandi. Konfigurasikan Pengelogan Audit untuk mengizinkan penyelidikan keamanan, dan untuk membuat peringatan log untuk setiap log manajemen ancaman yang dihasilkan oleh B2C. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure AD B2C.

Azure Log Analytics

Kontrol akses berbasis peran harus diterapkan untuk Log Analytics agar hanya mengizinkan pengguna yang berwenang untuk mengakses data yang dikirim ke ruang kerja. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Log Analytics.

Azure Application Insights

Data pribadi apa pun harus disamarkan sebelum dikirim ke Application Insights. Kontrol akses berbasis peran untuk application insights juga harus diterapkan untuk hanya mengizinkan pengguna yang berwenang untuk melihat data yang dikirim ke Application Insights. Anda dapat membaca selengkapnya di Praktik keamanan untuk Azure Application Insights.

Selain itu, lihat Praktik keamanan untuk Azure Notification Hub.

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.

Harga untuk arsitektur ini sebagian besar bervariasi berdasarkan tingkat layanan yang akhirnya Anda gunakan, kapasitas, throughput, jenis kueri yang dilakukan pada data, jumlah pengguna, serta kelangsungan bisnis dan pemulihan bencana. Harga ini bisa mulai dari sekitar $ 2.500/bln dan diskalakan dari sana.

Untuk memulai, Anda dapat melihat Perkiraan Umum Kalkulator Azure di sini.

Bergantung pada skala beban kerja Anda dan persyaratan untuk fungsionalitas perusahaan, menggunakan tingkat konsumsi Azure API Management dapat menurunkan biaya.

Kontributor

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

Penulis utama:

Langkah berikutnya