如何使物联网盈利和安全:沙箱内的构建块

描述

  从商业角度来看,物联网 (IoT) 的大部分开发并不新鲜。无线甚至移动互联网连接都是成熟的技术,而嵌入式处理器可以追溯到更远的地方。对于工业市场,“工业物联网”已经取代“SCADA”(监督控制和数据采集)作为控制系统架构,使用计算机、网络数据通信和过程监督管理来控制外围设备(物联网的“事物”)。大型植物。那么有什么新东西呢?

  新的是组合,以及随之而来的新挑战。即,支持公司在成本和/或低功耗连接系统上运行时所依赖的所有服务和商业模式。

  首先制造这些连接设备具有挑战性、耗时且成本高昂。但这只是故事的一半。与所有软件产品一样,智能设备若要保持竞争力,就需要发布后的支持和功能。此外,任何超出初始产品销售的商业模式——销售应用程序、流媒体内容、按使用付费等——都需要定期更新。如果这种商业模式发生变化怎么办?

  与数字世界的其他部分(PC、智能手机、服务器等)相反,大多数低功耗嵌入式系统通常不运行应用程序平台。这意味着产品的软件没有很好的架构,具有清晰的边界和接口(API 或 ABI)来分离关注点。添加/修复一个功能意味着更新整个产品,以及所有额外的(指数)调试和验证。

  这不仅让营销团队无法按时或按预算获得他们的愿望,而且对需要下载大量固件更新并重新启动设备以使其生效的最终用户也很恼火(通常重置他们在这个过程中的配置)。最重要的是,嵌入式程序员并不便宜,因为这项工作所需的难度和广泛的专业知识。

  但是风景的轻微变化可以立即解决所有这些问题。具体来说,物联网的二进制构建块应该在单独的沙箱环境中开发和部署,所有这些都在运行语义管理代码的虚拟化层之上。以最小的开销,以这种方式沙盒化的嵌入式二进制构建块(通常称为应用程序)可以放在一起构建设备,就像构建乐高积木一样——这种比较在发布后也很合适,因为设备可以稍后发布像移动应用程序一样快速自由地进行修改,从而为业务提供更大的灵活性和更少的费用。

  部署到沙箱很简单

  这种技术与它在 DevOps 中的使用方式相去甚远,在 DevOps 中,沙盒是最常见的。它的用例和基本原理也是如此。但目的大致相同。如前所述,嵌入式系统中缺乏隔离(cpu、内存、外围设备)使得更新变得如此复杂。通过消除对整个程序及其特定工具链的依赖,这种虚拟化和沙盒组合使开发人员可以将程序分解为更小的二进制构建块,并且只处理与新功能或更新相关的二进制构建块。

  考虑为移动平台更新应用程序的便利性,这种隔离已经内置到环境中。比如说,如果 Angry Birds 的创建者想要在游戏中添加一只新鸟,她只需要接触与应用程序本身相关的代码——无需访问 Android 内核(甚至理解它)。要部署它,她只需通过一轮快速验证并将应用程序推送到目标生态系统的货架上(这里是云上的应用程序商店)。从那里,设备可以无缝更新,可能作为后台进程。

  更新/升级/修复嵌入式固件并不是那么容易,但是当每个二进制构建块都被沙盒化时,开发人员可以拥有这种体验。就像他们的名字一样,一切都变得简单和增量:更新、调整、调试、附加组件等。

  开发人员和最终用户的简单性并不是以这种方式进行沙盒的唯一好处。由于您能够在嵌入式系统上进行部分软件更新,因此还可以在部署时节省带宽。此外,沙盒允许您为给定的二进制构建块设置强权限,说明二进制构建块何时可以和不能访问其他二进制构建块,以及它们对 CPU、RAM 或硬件外围设备等资源的访问权限。

  如何为软件构建块构建沙箱

  沙盒下方的虚拟化层是关键。它不仅在不提供内存管理单元 (MMU) 的小型处理器上启用沙盒,而且已经朝着减少发布后费用的目标迈出了一步。例如,虚拟化 Java 环境可以利用更现代的代码实践来实现简单性、可重用性和抽象性,并允许开发团队由供应量更大的程序员组成。出于与沙盒相同的许多原因,它还增加了设备的安全性。

  一个自然的回击可能是虚拟化环境和沙盒层会增加昂贵的开销,尤其是对于非常小的系统,如可穿戴设备或电池供电的传感器。然而,当今市场上的软件可以处理这些环境,只需几千字节的闪存占用空间和非常少的额外 RAM。建立在虚拟化层之上的典型沙盒层总重不到 45 Kb。

  那么美元从哪里来?

  三个地方。首先,一旦您处理沙盒和虚拟化,您就进入了一个经济的工业流程,您可以重用创建的二进制构建块,这些构建块现在已经在您公司的“货架”上可用。这实际上是公司可以拥有的最大资产之一。而且由于虚拟化总是伴随着模拟——二进制构建块可以在虚拟设备上运行,就好像它们在真实设备上运行一样——它大大降低了项目的财务风险,因为更容易预先验证规范。收益是众所周知的:更多的市场份额、更多的利润和更快的速度。

  其次,虚拟化和沙盒的结合减少了保持连接设备最新和具有竞争力的成本。如前所述,当更新/修复您的设备就像更新应用程序一样简单时,您可以绕过修改、测试和验证整个固件的耗时过程。收益适用于研发和维护成本。

  第三,它在发布后开辟了全新的收入来源。由于可更新,设备可以集成一个生态系统,其中新服务的“按使用付费”是规则。您的营销团队可以根据客户的使用情况调整产品,同时每月收取费用,从而轻松测试新想法;您可以销售订阅服务,提供对基于 Web 的服务的访问权限,例如监控、警报或流式传输/可下载内容;或者您可以将其与更大的商业模式联系起来——我们自己的合作伙伴之一,一家公用事业公司的子公司,将这种方法用于帮助业主管理燃气账单的设备。收益是新的收入来源。

  最好的是,你可以改变主意。当设计/更新智能设备与现在一样是一项重大承诺时,新的竞争对手或消费者需求的突然变化意味着要深入削减您的利润以跟上。通过沙盒和虚拟化实现的发布后灵活性使您能够尽可能灵活地使用在更大设备上运行的软件产品。

  盈利能力是物联网通向无处不在的唯一障碍。如果我不得不猜测,我会说现在 80% 的智能设备公司都会失败。不是因为技术知识差,而是因为微不足道的流血而死。当前市场只会为智能设备支付这么多钱,这仅略高于(当前)平均开发成本。

  迫使市场承受更高的价格,要么是垄断,要么是奇迹。但正如我们所见,其他所有盈利途径都需要软件。沙盒/虚拟化组合就是要快速;低成本(通过重用二进制构建块);低风险; 灵活应对市场的演变;并可选择允许新的经常性收入。这是针对复杂经济问题的简单软件解决方案,没有真正的缺点。沙盒/虚拟化组合是将物联网设备转变为盈利业务所需的最后一个“块”。

  审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分