当前位置:云计算行业动态 → 正文

为IoT应用搭建DevOps管道

责任编辑:jackye 作者:Hrishikesh Barua |来源:企业网D1Net  2017-02-27 09:02:26 本文摘自:INFOQ

在MSDN站点最近的一篇文章中,Daniel Meixler探讨了一个针对物联网(Internet of Things,IoT)应用的完整DevOps生命周期,用到了微软的框架和组件。这个理念稍作改动就可以泛化应用到其他IoT平台上。

一般来讲,DevOps在Web应用中最为流行,但它并不是与特定技术或特定类型的应用绑定的。这篇文章介绍了如何为冰箱控制应用创建端到端的DevOps生命周期,证明了这种理念。对于完整的自动化CI/CD链,人们会予以特别关注。一旦特定应用所面临的挑战已明确,那么这些挑战就可以使用所选择的技术栈来解决。有一些概念是通用的,能够以技术无关的形式进行重用。

示例应用仿真了一个冰箱控制系统,运行在Raspberry PI上。针对这种IoT应用的开发管道(pipeline)会面临着各种挑战。这种管道需要涵盖每次check-in之后的自动构建、自动化UI测试、部署到各种环境(包括生产)并收集遥测数据。通常,UI测试是比较困难的,在设备上的自动化测试则会更加困难。在这种环境下,DevOps所面临的挑战还包括可审核性与设备兼容性,但是这些问题在本文中并没有解决。

针对问题中所提及的冰箱应用,部署需要发布到测试设备(QA)和客户的设备(生产环境)上。后者并不容易实现,因为通常没有到这些设备的物理连接。在这种情况下,设备的数量会非常庞大,并且位于客户的专属环境中,跨越非常广大的地理区域。最后一个需求,也就是遥测,为IoT设备带来了另外一个挑战,因为这些操作通常没有太多的人工干预,用户没有办法反馈应用运行情况的信息。收集手动反馈并不是可行的方案。

这里做出的技术选择会优化管道,而且没有太多的定制。IoT平台是Windows 10 IoT Core,应用是一个Windows Universal App(UWP)。编排平台是Visual Studio Team Services(VSTS)。VSTS有一些特性致力于简化DevOps流程。按照微软的技术栈,这里选择了Azure IoT Hub作为管理平台。它用来管理和配置IoT应用。Azure IoT Hub支持多种语言,这个应用用到了.NET和node.js。HockeyApp是微软在几年前收购的,它用来从设备上收集使用和错误分析数据。

图片来源于https://blogs.msdn.microsoft.com/dmx/2017/01/26/devops-for-iot-part-1/

当这个管道执行时,会生成新的应用,发布流程会通知Azure IoT Hub。Hub的责任是确保新版本能够在所有已注册的IoT设备上下载并安装。对于在线的设备来说,这可能会立即运行,而对于离线的设备,则可能会有一个延迟模式。

查看英文原文:Setting up a DevOps Pipeline for an IoT Application

关键字:IOTDevOpsCheck-in

本文摘自:INFOQ

x 为IoT应用搭建DevOps管道 扫一扫
分享本文到朋友圈
当前位置:云计算行业动态 → 正文

为IoT应用搭建DevOps管道

责任编辑:jackye 作者:Hrishikesh Barua |来源:企业网D1Net  2017-02-27 09:02:26 本文摘自:INFOQ

在MSDN站点最近的一篇文章中,Daniel Meixler探讨了一个针对物联网(Internet of Things,IoT)应用的完整DevOps生命周期,用到了微软的框架和组件。这个理念稍作改动就可以泛化应用到其他IoT平台上。

一般来讲,DevOps在Web应用中最为流行,但它并不是与特定技术或特定类型的应用绑定的。这篇文章介绍了如何为冰箱控制应用创建端到端的DevOps生命周期,证明了这种理念。对于完整的自动化CI/CD链,人们会予以特别关注。一旦特定应用所面临的挑战已明确,那么这些挑战就可以使用所选择的技术栈来解决。有一些概念是通用的,能够以技术无关的形式进行重用。

示例应用仿真了一个冰箱控制系统,运行在Raspberry PI上。针对这种IoT应用的开发管道(pipeline)会面临着各种挑战。这种管道需要涵盖每次check-in之后的自动构建、自动化UI测试、部署到各种环境(包括生产)并收集遥测数据。通常,UI测试是比较困难的,在设备上的自动化测试则会更加困难。在这种环境下,DevOps所面临的挑战还包括可审核性与设备兼容性,但是这些问题在本文中并没有解决。

针对问题中所提及的冰箱应用,部署需要发布到测试设备(QA)和客户的设备(生产环境)上。后者并不容易实现,因为通常没有到这些设备的物理连接。在这种情况下,设备的数量会非常庞大,并且位于客户的专属环境中,跨越非常广大的地理区域。最后一个需求,也就是遥测,为IoT设备带来了另外一个挑战,因为这些操作通常没有太多的人工干预,用户没有办法反馈应用运行情况的信息。收集手动反馈并不是可行的方案。

这里做出的技术选择会优化管道,而且没有太多的定制。IoT平台是Windows 10 IoT Core,应用是一个Windows Universal App(UWP)。编排平台是Visual Studio Team Services(VSTS)。VSTS有一些特性致力于简化DevOps流程。按照微软的技术栈,这里选择了Azure IoT Hub作为管理平台。它用来管理和配置IoT应用。Azure IoT Hub支持多种语言,这个应用用到了.NET和node.js。HockeyApp是微软在几年前收购的,它用来从设备上收集使用和错误分析数据。

图片来源于https://blogs.msdn.microsoft.com/dmx/2017/01/26/devops-for-iot-part-1/

当这个管道执行时,会生成新的应用,发布流程会通知Azure IoT Hub。Hub的责任是确保新版本能够在所有已注册的IoT设备上下载并安装。对于在线的设备来说,这可能会立即运行,而对于离线的设备,则可能会有一个延迟模式。

查看英文原文:Setting up a DevOps Pipeline for an IoT Application

关键字:IOTDevOpsCheck-in

本文摘自:INFOQ

电子周刊
回到顶部

关于我们联系我们版权声明隐私条款广告服务友情链接投稿中心招贤纳士

企业网版权所有 ©2010-2024 京ICP备09108050号-6 京公网安备 11010502049343号

^