پیاده سازی IOT مثل مایکروسرویس و سایر تکنولوژی های نسل چهارم از نظری فنی امریست پیچیده و عدم پیاده سازی صحیح آن می تواند هزینه های سنگینی داشته و هزینه محصول را بالا ببرد. در ایران اغلب نیازمندی های فنی حتی در سطوح متوسط هم در نظر گرفته نمی شوند و همین موضوع پیاده سازی های IOT مانند ما در صنایع مختلف مثل نفت و گاز و انرژی با مشکلات متعددی مواجه نموده است، هزینه نگهداری بالا، اعمال به روز رسانی های پیچیده و عدم امکان مانیتورینگ صحیح و بروز سوانح با تحمیل هزینه های سنگین به سازمان. دلیل اصلی بالای ۸۰ درصد این مشکلات در نظر نگرفتن روش های صحیح تولید و نگهداری محصولات است.
به دلیل پیچیدگی های موجود در IOT ابتدا باید مدل معمول پیاده سازی آن را مورد بررسی قرار داد. به صورت کلی اینترنت اشیاء را می توان به سه لایه زیر تقسیم بندی نمود.
- Data Center
- Gateway
- Devices
حال اگر مثال زیر را به عنوان پیاده سازی یک محصول در نظر بگیریم، می توان به نتایج زیر رسید.
- پیاده سازی DevOps و Cloud Native در لایه های Data Center و Gateway مانند محصولات دیگر خواهد بود
- تیم توسعه دهنده محصول بر روی Device نیز می تواند از الگو DevOps در پیاده سازی استفاده نماید ولی کنترل خود Device و Deploy همزمان نسخه بر روی هزاران Device نیازمند وجود زیرساخت های دیگری است
- با توجه به توزیع جغرافیایی Device ها و موارد مرتبط به سخت افزار، پیاده سازی CI/CD و DevOps نیازمند وجود زیرساخت هایی از قبل مهیا شده بر روی شبکه ارتباطی و سخت افزار و فریمورک مورد استفاده در طراحی Device می باشد
مهم ترین بخش پیاده سازی فنی محصولات IOT فریمورکی است که توسعه محصول بر اساس آن صورت می گیرد و در این بخش دو فریمورک کلی وجود دارد، وظیفه اصلی فریمورک ها ایجاد زیرساخت لازم جهت تولید محصولات IOT می باشد.
IoT Framework/Solution
اگر هر سازمان اقدام به تولید تکنولوژی های لازم در IOT بنماید شاید هزینه تمام شده محصول توجیه اقتصادی خود را از دست بدهد. از این رو شرکت هایی مثل Microsoft و AWS زیر ساخت های لازم را به دو روش کلی Platform Service و Managed app platform ارائه می نمایند. جهت تولید یک محصول IOT شما نیازمند زیرساخت های فنی زیادی مثل موارد زیر هستید.
- مقیاس پذیری خدمات
- مدیریت Device ها
- مدیریت Big data
- Analytics, insight و action
- HA و disaster recovery
- Security
- مدیریت محصول IOT به کمک DevOps
- در نظر گرفتن هزینه کلی مالکیت TCO
به پیوست سند ۸ مشخصه یک راهکار IOT موفق درج شده است، با مطالعه این سند بیشتر به پیچیدگی های موجود در طراحی سیستمهای IOT پی خواهید برد.
IoT Edge Framework
این سطح از فریمورک همانطور که از نام آن مشخص است در سطح Device به مدیریت محصول می پردازد، در این سطح چندین فریمورک Open Source وجود دارند که از مهم ترین آنها می توان به موارد زیر اشاره نمود. در هر کدام از این فریمورک ها زیرساخت های لازم جهت به روز رسانی و مدیریت و تست Device ها پیاده سازی شده است.
- Akraino Edge Stack
- EdgeX Foundry
- Home Edge Devices
- Project EVA
- StarlingX
مدیریت راهکارهای IOT به کمک DevOps
جهت مدیریت موثر راهکار IOT داشتن یک Pipeline سلامت DevOps مهم است، انتقال کدها از سیستم توسعه دهنده به Device ها بدون بروز اختلال در عملکرد مشتری کاری دشوار است، با توجه به اینکه در این مسیر انواع تفاوتها و ذی نفعان مختلفی مثل ارائه دهندگان اینترنت مختلف، سخت افزارهای متفاوت، Firmware های متفاوت وجود دارد. Practice های موجود در DevOps ارائه دهنده حاکمیتی فراگیر در برنامه ریزی و تست و دپلوی و مستندسازی و مدیریت امن بخش های مختلف سلوشن شما می باشد. بخشی از این موارد به شرح زیر ارائه شده است.
مدیریت و دپلوی کد
- مدیریت سورس کد
- Deploy خودکار کدها از طریق CI و CD
- مدیریت همزمان چندین نسخه از سرویس IOT
- مدیریت Environment ها
مدیریت و پیشگیری از مشکلات امنیتی - DevSecOps
- اسکن کدها برای تشخیص محتویات و Digital signing و virus
- اسکن کدها جهت بررسی Vulnerabilities
- مدیریت رمزها
- اتصال امن به محیط عملیاتی و اطلاعات کاربران
تست محصول قبل از پروداکشن
- تست فاکشنال عنوان نسخه های firmware دستگاه
- stress testing
- long haul testing
- chaos testing
مدیریت اطلاعات مرتبط با پشتیبانی مشتری
- پیگیری SLA و SLO
- مدیریت Incident های سرویس