机房360首页
当前位置:首页 » 云计算资讯 » 为IoT应用搭建DevOps管道

为IoT应用搭建DevOps管道

来源:INFOQ 作者:DJ编辑 更新时间:2017-2-27 11:25:44

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

  在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是微软在几年前收购的,它用来从设备上收集使用和错误分析数据。

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

  责任编辑:DJ编辑

机房360微信公众号订阅
扫一扫,订阅更多数据中心资讯

本文地址:http://www.jifang360.com/news/2017227/n586693737.html 网友评论: 阅读次数:
版权声明:凡本站原创文章,未经授权,禁止转载,否则追究法律责任。
相关评论
正在加载评论列表...
评论表单加载中...
  • 我要分享
推荐图片