Bagikan melalui


Keandalan dalam beban kerja IoT Anda

Beban kerja IoT, seperti semua beban kerja, berpotensi tidak berfungsi. Pertimbangan keandalan utama untuk solusi IoT yang dirancang dengan baik adalah seberapa cepat Anda dapat mendeteksi perubahan dan seberapa cepat Anda dapat melanjutkan operasi.

Aplikasi IoT sering didistribusikan dalam skala besar, dan mungkin beroperasi melalui jaringan yang tidak dapat diandalkan tanpa akses atau visibilitas persisten ke aliran data end-to-end. Karena faktor-faktor ini, Anda harus merancang arsitektur IoT Anda dengan mengingat ketersediaan dan ketahanan.

Membangun solusi IoT yang andal memerlukan pertimbangan perangkat, layanan cloud, dan cara perangkat berinteraksi dengan cermat. Pilihan yang Anda buat untuk perangkat keras perangkat keras, konektivitas dan protokol, dan layanan cloud memengaruhi persyaratan dan kemampuan keandalan solusi Anda.

Menilai keandalan dalam beban kerja IoT Anda

Untuk menilai beban kerja IoT Anda melalui lensa pilar Well-Architected Framework Reliability, selesaikan pertanyaan keandalan untuk beban kerja IoT di Azure Well-Architected Review. Setelah penilaian mengidentifikasi rekomendasi keandalan utama untuk solusi IoT Anda, gunakan konten berikut untuk membantu menerapkan rekomendasi.

Prinsip Desain

Lima pilar keunggulan arsitektur mendukung metodologi desain beban kerja IoT. Pilar ini berfungsi sebagai kompas untuk keputusan desain berikutnya di seluruh area desain IoT utama. Prinsip desain berikut memperluas pilar kualitas Azure Well-Architected Framework - Keandalan.

Prinsip desain Pertimbangan
Merancang perangkat untuk ketahanan Rancang perangkat Anda untuk memenuhi persyaratan waktu aktif dan ketersediaan solusi end-to-end Anda. Pastikan perangkat IoT Anda dapat beroperasi secara efisien dengan konektivitas terputus-terputus ke cloud.
Desain untuk kebutuhan bisnis Implikasi biaya tidak dapat dihindari saat memperkenalkan modifikasi arsitektur untuk memenuhi perjanjian tingkat layanan (SLA). Misalnya, untuk memiliki keandalan yang lebih besar dan ketersediaan tinggi, Anda dapat menerapkan redundansi lintas wilayah dan sistem otomatis ke skala otomatis. Konsekuensi ini harus dipertimbangkan dengan hati-hati.
Prosedur pembaruan yang aman dan sederhana Solusi IoT perusahaan harus memberikan strategi tentang cara operator mengelola perangkat. Operator IoT memerlukan alat dan praktik pembaruan yang sederhana dan andal.
Amati kesehatan aplikasi Tentukan indikator tingkat layanan (SLI) dan tujuan tingkat layanan (SLA) berdasarkan pengamatan. Tambahkan proses untuk audit, pemantauan, dan pemberitahuan di luar apa yang disediakan layanan cloud.
Ketersediaan tinggi dan pemulihan bencana (HA/DR) untuk komponen penting. Komponen perangkat keras dan perangkat lunak tangguh yang membangun redundansi, termasuk redundansi lintas wilayah.
Merencanakan kapasitas Rencanakan kuota dan pembatasan layanan, latensi antara tindakan deteksi, dan tetapkan tolok ukur pada skala produksi untuk mendukung aliran data yang tidak terganggu.

Lapisan arsitektur IoT

Prinsip desain keandalan membantu mengklarifikasi pertimbangan untuk memastikan beban kerja IoT Anda memenuhi persyaratan di seluruh lapisan arsitektur IoT dasar. Untuk mencapai keandalan solusi secara keseluruhan, setiap lapisan harus memiliki tingkat keandalan yang dapat diterima.

Diagram yang menunjukkan lapisan dan aktivitas lintas pemotongan dalam arsitektur IoT.

Lapisan perangkat dan gateway

Sebagai bagian dari solusi IoT Anda secara keseluruhan, rancang perangkat Anda untuk memenuhi persyaratan waktu aktif dan ketersediaan end-to-end solusi Anda. Perangkat dan gateway hadir dalam banyak bentuk. Perangkat dan gateway IoT dapat melakukan pengumpulan data, kontrol pengawasan, dan analitik tepi.

  • Pengumpulan data menghubungkan perangkat ke sensor atau berlangganan telemetri dari sistem hilir, dan mendorong data yang dikumpulkan ke cloud. Desain solusi IoT harus memastikan manajemen perangkat yang andal dan komunikasi yang andal dari perangkat ke cloud.

  • Perangkat yang menyediakan kontrol pengawasan tidak hanya mengumpulkan data untuk dikirim ke cloud, tetapi juga mengambil tindakan berdasarkan data tersebut. Perangkat mengirim data kembali ke komputer atau lingkungan untuk mengambil tindakan pengawasan. Keandalan aplikasi kontrol pengawasan sangat penting.

Desain perangkat

Desain dan pilih perangkat IoT agar berfungsi dengan andal dalam kondisi operasi yang diharapkan selama masa pakai yang diharapkan. Perangkat yang andal harus bekerja sesuai dengan spesifikasi perangkat keras dan perangkat lunaknya, dan kegagalan apa pun harus dideteksi dan dikelola melalui mitigasi, perbaikan, atau penggantian. Merancang perangkat untuk keandalan, tetapi juga merencanakan kegagalan.

Siklus hidup perangkat

Masa pakai layanan terbatas memengaruhi keandalan solusi. Menilai konsekuensi kegagalan perangkat pada solusi, dan menentukan strategi siklus hidup perangkat sesuai dengan persyaratan solusi.

Penilaian dampak kegagalan perangkat meliputi:

  • Tingkat keparahan, seperti titik kegagalan tunggal.
  • Probabilitas, seperti waktu rata-rata antara kegagalan.
  • Deteksi, seperti mode kegagalan dan analisis efek.
  • Periode waktu henti yang dapat diterima.

Waktu henti operasional yang dapat diterima menentukan kecepatan dan tingkat pemeliharaan perangkat. Ketersediaan atau umur panjang perangkat dan pasokan bagian adalah pertimbangan penting untuk siklus hidup perangkat.

Semakin modular desainnya, semakin mudah untuk menukar bagian-bagian sistem, terutama jika beberapa bagian menjadi usang lebih awal dari yang lain. Alternatif atau multi-sumber komponen dan rantai pasokan modul sangat penting untuk solusi yang andal.

Persyaratan lingkungan

Kondisi di mana perangkat beroperasi memengaruhi keandalannya. Tentukan persyaratan lingkungan Anda, dan gunakan perangkat dengan spesifikasi fitur yang sesuai. Spesifikasi ini termasuk parameter seperti rentang suhu operasi, kelembaban, peringkat perlindungan masuk (IP), kekebalan gangguan elektromagnetik (EMI), dan kekebalan guncangan dan getaran.

Profil operasional

Stres performa memengaruhi perilaku operasional perangkat, dan oleh karena itu keandalannya. Tentukan profil operasional yang memperkirakan perilaku selama masa pakai perangkat, dan menilai keandalan perangkat yang sesuai. Profil tersebut termasuk mode operasi, seperti transmisi nirkabel atau mode berdaya rendah, dan kondisi lingkungan, seperti suhu, selama masa pakai perangkat.

Dalam kondisi pengoperasian normal, perangkat dan perangkat lunak harus berjalan dengan aman dalam profil operasional yang ditentukan. Perangkat harus dapat melayani dan memproses semua sensor eksternal dan pemrosesan data yang diperlukan solusi. Hindari berjalan pada batas kemampuan perangkat.

Peraturan dan standar

Perangkat untuk industri tertentu tunduk pada peraturan dan standar yang berlaku. Tentukan peraturan dan standar, dan pastikan perangkat memenuhi persyaratan kepatuhan dan kesamaan. Peraturan termasuk sertifikasi dan penandaan, seperti FCC atau CE. Standar termasuk aplikasi industri atau agensi, seperti ATEX dan MIL-SPEC, dan kesesuaian keamanan, misalnya IEC 61508.

Manajemen perangkat dan lapisan pemodelan

Layanan cloud memberi setiap perangkat identitas, dan mengelola perangkat dalam skala besar. Cloud sering menjadi titik masuk data akhir untuk semua pesan yang mengalir dari perangkat. Dalam solusi IoT, layanan cloud harus memberikan keandalan bagi perangkat IoT untuk mengintegrasikan dan mengirimkan data.

Kondisi konektivitas perangkat, termasuk upstram ke cloud dan hilir ke jaringan lokal, harus menjadi bagian dari desain keandalan solusi IoT. Menilai efek potensial dari gangguan atau gangguan konektivitas, dan menentukan strategi konektivitas yang sesuai.

Strategi konektivitas harus mencakup ketahanan, misalnya kemampuan fallback dan manajemen pemutusan, dan pencadangan buffering untuk mengurangi dependensi cloud untuk fungsi penting atau keselamatan.

Praktik desain, penanganan kesalahan, dan pemantauan berikut berkaitan dengan konektivitas.

Desain konektivitas

Solusi IoT harus memungkinkan alur informasi antara perangkat yang terhubung sewaktu-waktu dan layanan berbasis cloud. Pastikan perangkat IoT Anda dapat beroperasi secara efisien dengan konektivitas terputus-terputus ke cloud.

Praktik terbaik mencakup rekomendasi berikut:

  • Terapkan logika coba lagi dan backoff dalam perangkat lunak perangkat.
  • Sinkronkan status perangkat dengan cloud.
  • Pastikan Anda dapat menyimpan data di perangkat jika solusi Anda tidak dapat mentolerir kehilangan data.
  • Gunakan pengambilan sampel dan simulasi data untuk mengukur kapasitas jaringan dan garis besar persyaratan penyimpanan.

Implementasi konektivitas

SDK perangkat Azure IoT menyediakan pustaka klien yang dapat Anda gunakan di perangkat atau gateway untuk menyederhanakan konektivitas dengan layanan Azure IoT. Anda dapat menggunakan SDK untuk melengkapi klien perangkat IoT yang:

  • Sambungkan ke cloud.
  • Memberikan pengalaman pengembangan klien yang konsisten di berbagai platform.
  • Sederhanakan tugas konektivitas umum dengan mengabstraksi detail protokol dasar dan pola pemrosesan pesan, seperti backoff eksponensial dengan logika jitter dan coba lagi.

Pemantauan konektivitas

Masalah konektivitas untuk perangkat IoT mungkin sulit dipelajari karena banyak kemungkinan titik kegagalan. Logika aplikasi, jaringan fisik, protokol, perangkat keras, Azure IoT Hub, dan layanan cloud lainnya dapat mengalami masalah.

Kemampuan untuk mendeteksi dan menentukan sumber masalah sangat penting. Namun, solusi IoT dalam skala besar dapat memiliki ribuan perangkat, sehingga tidak praktis untuk memeriksa perangkat individual secara manual. Azure Monitor dan Azure Event Grid dapat membantu Anda mendiagnosis masalah konektivitas dalam IoT Hub.

Sumber daya konektivitas

Lapisan penyerapan dan komunikasi

Lapisan penyerapan dan komunikasi IoT mencakup kuota dan batas layanan, kapasitas, pembatasan, dan skala otomatis.

Desain kapasitas redundan

Saat merencanakan ambang dan pemberitahuan, pertimbangkan latensi antara deteksi dan tindakan yang diambil. Pastikan sistem dan operator memiliki cukup waktu untuk merespons permintaan perubahan. Jika tidak, misalnya, Anda mungkin mendeteksi kebutuhan untuk meningkatkan jumlah unit, tetapi sistem dapat gagal dengan kehilangan pesan sebelum peningkatan dapat berlaku.

Perencanaan kuota layanan

Seperti semua layanan platform, IoT Hub dan IoT Hub Device Provisioning Service (DPS) memberlakukan kuota dan pembatasan pada operasi tertentu, sehingga Azure dapat memberikan tingkat layanan dan biaya yang dapat diprediksi untuk layanannya. Kuota dan pembatasan terkait dengan tingkat layanan dan jumlah unit yang Anda sebarkan, sehingga Anda dapat merancang solusi Anda dengan jumlah sumber daya yang tepat. Tinjau kuota dan pembatasan terlebih dahulu, dan rancang sumber daya IoT Hub dan DPS Anda.

Tolok ukur skala produksi

Saat jumlah perangkat atau volume data meningkat, gateway cloud harus menskalakan untuk mendukung aliran data yang tidak terganggu. Karena sifat solusi IoT yang didistribusikan, jumlah perangkat, dan volume data, penting untuk menetapkan tolok ukur skala untuk solusi keseluruhan. Tolok ukur ini membantu merencanakan risiko kapasitas. Gunakan Simulator Telemetri Perangkat Azure IoT untuk mensimulasikan volume skala produksi.

Autoscaling untuk menyesuaikan kuota secara dinamis

Manfaat menggunakan komponen platform as a service (PaaS) adalah kemampuan untuk meningkatkan dan menurunkan skala dengan sedikit usaha sesuai dengan kebutuhan Anda. Untuk memberikan biaya dan upaya operasional terendah, pertimbangkan untuk menerapkan sistem otomatis untuk meningkatkan dan menurunkan skala sumber daya Anda dengan berbagai kebutuhan solusi Anda.

Manajemen kuota dan pembatasan

Untuk memastikan keandalan solusi, terus pantau penggunaan sumber daya terhadap kuota dan pembatasan untuk mendeteksi peningkatan penggunaan yang menunjukkan kebutuhan untuk menskalakan. Bergantung pada persyaratan bisnis, Anda dapat terus memantau penggunaan sumber daya dan memperingatkan operator saat ambang terpenuhi, atau menerapkan sistem otomatis ke skala otomatis.

Kapasitas dan menskalakan sumber daya

Lapisan Transport

Untuk menyambungkan ke layanan awan untuk data, kontrol, dan manajemen, perangkat memerlukan akses ke jaringan. Bergantung pada jenis solusi IoT, keandalan konektivitas mungkin menjadi tanggung jawab Anda atau penyedia layanan jaringan. Jaringan mungkin memiliki masalah konektivitas terputus-terputus, dan perangkat perlu mengelola perilakunya.

Lapisan DevOps

Solusi IoT perusahaan harus menyediakan strategi bagi operator untuk mengelola sistem. Untuk mengatasi keandalan, manajemen dan operasi IoT harus menggunakan proses DevOps untuk menangani pembaruan, pengamatan dan pemantauan, dan implementasi HA/DR.

Pembaruan

Aspek perangkat solusi IoT menghadirkan tantangan dibandingkan dengan solusi berbasis cloud. Misalnya, harus ada cara untuk terus memperbarui perangkat untuk mengatasi kerentanan dan perubahan aplikasi.

Karena sifat solusi IoT yang terdistribusi, penting untuk mengadopsi kebijakan yang aman dan aman untuk menyebarkan pembaruan. Operator IoT memerlukan alat dan praktik pembaruan yang sederhana dan andal.

Solusi pembaruan perangkat harus mendukung:

  • Peluncuran pembaruan bertahap melalui kontrol pengelompokan dan penjadwalan perangkat.
  • Dukungan untuk pembaruan perangkat A/B yang tangguh untuk pemutaran kembali tanpa hambatan.
  • Alat manajemen dan pelaporan pembaruan terperinci.
  • Pengoptimalan jaringan berdasarkan bandwidth yang tersedia.

Pembaruan Perangkat untuk IoT Hub adalah layanan yang memungkinkan pembaruan perangkat IoT over-the-air (OTA) yang aman, aman, dan andal. Pembaruan Perangkat untuk IoT Hub dapat mengelompokkan perangkat dan menentukan perangkat mana yang harus menerima pembaruan. Operator dapat melihat status penyebaran pembaruan dan apakah setiap perangkat berhasil menerapkan pembaruan yang diperlukan.

Jika pembaruan gagal, Pembaruan Perangkat membantu operator mengidentifikasi perangkat yang gagal dan melihat detail kegagalan. Kemampuan untuk mengidentifikasi perangkat mana yang gagal dapat menghilangkan jam mencoba menentukan sumber kegagalan secara manual.

Pembaruan Perangkat memantau status penyebaran dan pembaruan perangkat, dan melaporkan berapa banyak perangkat yang mematuhi pembaruan kompatibel dengan versi tertinggi yang tersedia.

Observabilitas dan pemantauan

Untuk mengelola keandalan solusi secara keseluruhan dan menentukan prosedur pemberitahuan, Anda harus memantau setiap komponen solusi IoT Anda. Semua metrik penerbitan layanan Azure IoT yang menjelaskan kesehatan dan ketersediaan layanan. Untuk menetapkan pengamatan end-to-end, pertimbangkan juga metrik yang Anda butuhkan di sisi perangkat. Gunakan metrik ini sebagai bagian dari pemantauan keandalan solusi Anda secara keseluruhan.

Pemantauan dan diagnostik aplikasi IoT sangat penting untuk ketersediaan dan ketahanan. Jika sesuatu gagal, Anda perlu tahu bahwa itu gagal, ketika gagal, dan mengapa. Dengan memantau pengoperasian aplikasi dan perangkat IoT terhadap status sehat, Anda dapat mendeteksi dan memperbaiki masalah keandalan.

Untuk mengurangi masalah yang memengaruhi keandalan aplikasi IoT, Anda harus dapat mengambil log dan sinyal yang membantu Anda mendeteksi masalah dalam operasi end-to-end. Gunakan pengelogan dan pemantauan untuk menentukan apakah solusi IoT berfungsi seperti yang diharapkan dan untuk membantu memecahkan masalah dengan komponen solusi.

Tindakan berikut mendukung pengamatan untuk solusi IoT:

  • Buat mekanisme untuk mengumpulkan dan menganalisis metrik dan pemberitahuan performa.
  • Konfigurasikan perangkat, layanan cloud, dan aplikasi untuk mengumpulkan dan terhubung dengan Azure Monitor.
  • Gunakan dasbor dan pemberitahuan real-time untuk memantau layanan backend Azure.
  • Tentukan peran dan tanggung jawab untuk memantau dan bertindak pada peristiwa dan pemberitahuan. Untuk informasi selengkapnya, lihat Peran, tanggung jawab, dan izin.
  • Menerapkan pemantauan berkelanjutan.

Azure Monitor

Azure Monitor adalah platform pemantauan dan visualisasi yang direkomendasikan untuk solusi Azure IoT. Anda dapat mengonfigurasi perangkat, layanan cloud, dan aplikasi, terlepas dari lokasi penyebaran, untuk mendorong pesan log secara langsung atau melalui konektor bawaan ke Azure Monitor.

  • Gunakan integrasi metrik bawaan Azure Monitor untuk pemantauan jarak jauh perangkat IoT Edge. Untuk mengaktifkan kemampuan ini di perangkat Anda, tambahkan modul IoT Edge Metrics Collector ke penyebaran Anda dan konfigurasikan untuk mengumpulkan dan mengangkut metrik modul ke Azure Monitor.

  • Dengan Azure Monitor, Anda dapat memantau status lingkungan IoT Hub Anda, memastikan lingkungan berjalan dengan benar, dan memverifikasi bahwa perangkat Anda tidak dibatasi atau mengalami masalah koneksi. IoT Hub menyediakan metrik penggunaan, seperti jumlah pesan yang digunakan dan jumlah perangkat yang terhubung. Anda dapat menyampaikan data ini ke Azure Monitor untuk analisis dan untuk memperingatkan layanan lain.

  • Jika solusi Anda menggunakan Azure IoT Central, Anda dapat menggunakan metrik yang disediakan IoT Central untuk menilai kesehatan perangkat yang terhubung dan ekspor data aktif. Aplikasi IoT Central mengaktifkan metrik secara default, yang dapat Anda akses dari portal Azure. Azure Monitor mengekspos dan menyediakan beberapa cara untuk berinteraksi dengan metrik ini.

  • Azure Monitor menyediakan penguraian log kustom untuk memfasilitasi penguraian peristiwa dan rekaman ke bidang individual untuk pengindeksan dan pencarian.

  • Terapkan dasbor real-time dan pemberitahuan Azure Monitor untuk memantau layanan backend Azure. Pemberitahuan secara proaktif memberi tahu Anda tentang kondisi tertentu dalam data pemantauan Anda, sehingga Anda dapat mengidentifikasi dan mengatasi masalah sebelum pelanggan menemukannya. Anda dapat mengatur pemberitahuan tentang metrik, log, dan log aktivitas.

Application Insights adalah fitur Azure Monitor yang menyediakan manajemen dan pemantauan performa aplikasi yang dapat diperluas untuk aplikasi web langsung. Jika solusi IoT Anda menggunakan aplikasi Azure App Service, Azure Kubernetes Service, atau Azure Functions kustom, Anda dapat menggunakan Application Insights untuk pemantauan dan analisis aplikasi.

Application Insights dapat:

  • Secara otomatis mendeteksi anomali performa.
  • Membantu mendiagnosis masalah dengan menggunakan alat analitik yang canggih.
  • Tampilkan apa yang sebenarnya dilakukan pengguna dengan aplikasi Anda.
  • Membantu Anda terus meningkatkan performa dan kegunaan aplikasi.

Pemantauan berkelanjutan

Integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) adalah praktik DevOps yang memberikan perangkat lunak lebih cepat dan andal untuk memberikan nilai berkelanjutan kepada pengguna. Pemantauan berkelanjutan (CM) adalah konsep serupa yang menggabungkan pemantauan di semua fase dan komponen siklus DevOps.

CM terus memastikan kesehatan, performa, dan keandalan aplikasi dan infrastruktur Anda saat mengalir melalui pengembangan, produksi, dan rilis kepada pelanggan. Untuk informasi selengkapnya, lihat:

Memantau sumber daya

HA/DR untuk komponen penting

Saat Merancang dan membangun solusi IoT, Anda harus memenuhi SLA untuk pemulihan kegagalan di seluruh tumpukan solusi. SLA Anda harus memandu Anda mengenai komponen sistem penting mana yang membutuhkan HA/DR. Ada beberapa pendekatan, dari redundansi di seluruh tumpukan solusi IoT hingga redundansi untuk lapisan tertentu. Biaya juga merupakan pertimbangan utama untuk menimbang pentingnya memenuhi SLA.

  • Layanan Azure IoT telah menentukan target waktu aktif dan ketersediaan. Tinjau SLA untuk layanan Azure IoT yang merupakan bagian dari solusi Anda untuk melihat apakah layanan tersebut memenuhi tujuan waktu aktif Anda. Misalnya, Azure IoT Hub memiliki SLA 99,9%, yang berarti Anda harus merencanakan potensi waktu henti 1 menit dan 36 detik per hari. SDK Azure IoT Hub menyediakan logika bawaan yang dapat dikonfigurasi untuk menangani percobaan ulang dan backoff.

  • Pertimbangkan untuk memecah tujuan waktu aktif Anda menjadi dua kategori: manajemen perangkat dan operasi penyerapan data. Misalnya, mungkin penting bagi perangkat untuk berhasil mengirim data ke hub IoT, bahkan jika layanan manajemen perangkat tidak tersedia. Untuk informasi selengkapnya, lihat fitur keandalan SDK Azure IoT Hub.

  • Pertimbangkan untuk menggunakan perangkat keras redundan untuk sensor, daya, dan penyimpanan. Perangkat keras redundan memungkinkan perangkat berfungsi jika komponen penting tidak tersedia. Perangkat keras juga dapat membantu masalah konektivitas. Misalnya, Anda dapat menggunakan pendekatan simpan dan teruskan untuk data saat konektivitas tidak tersedia. Azure IoT Edge memiliki fitur bawaan ini.

  • Perangkat juga harus dapat menangani pemadaman cloud. Pemasangan wilayah Azure menyediakan strategi HA/DR untuk IoT Hub yang memenuhi banyak persyaratan SLA. Jika pemasangan wilayah tidak cukup, pertimbangkan untuk menerapkan hub IoT sekunder. Anda juga dapat menggunakan DPS untuk menghindari konfigurasi IoT Hub yang dikodekan secara permanen di perangkat Anda. Jika hub IoT utama Anda tidak berfungsi, DPS dapat menetapkan perangkat Anda ke hub yang berbeda.

  • Pertimbangkan untuk menerapkan pola pesan heartbeat untuk perangkat yang Anda harapkan untuk online sebagian besar waktu. Pola ini menggunakan rute IoT Hub kustom dengan Azure Stream Analytics, Azure Logic Apps, atau Azure Functions untuk menentukan apakah heartbeat telah gagal. Anda dapat menggunakan heartbeat untuk menentukan pemberitahuan Azure Monitor yang mengambil tindakan sesuai kebutuhan.

Sumber daya HA/DR

Langkah berikutnya