关于IoT的五个可预见性失败原因

本文列出的失败原因都属于这一类——不会产生收益或直接影响用户体验的设备,因此可以在早期成功的阶段和敏捷软件开发的零碎迭代中,中途淘汰。物联网的不间断本质也会带来进一步的风险。一旦启动物联网部署,你就无法关闭,哪怕只是一会,因此日常维护也将面临挑战,激进的架构变更近乎不可能。

覆盖少量设备的原型实施,与支持具有不同软件和硬件级别以及间歇性连接的数亿台设备之间存在巨大差异。本文列出的失败原因都属于这一类——不会产生收益或直接影响用户体验的设备,因此可以在早期成功的阶段和敏捷软件开发的零碎迭代中,中途淘汰。物联网的不间断本质也会带来进一步的风险。一旦启动物联网部署,你就无法关闭,哪怕只是一会,因此日常维护也将面临挑战,激进的架构变更近乎不可能。

冷酷的事实是,你可以拥有“酷”,你会变得“不可靠”。你不能同时成为两者,而你让你的客户感到失望或不便,并且保留生意的次数是有限的。以下是物联网会发生的五个可预见性失败:

安全

还需要解释吗?

没有从初始就为大量部署进行架构

物联网的成功将比以前任何技术都要更大,更“实时”。这意味着物联网系统必须毫不费力的扩展到大规模部署。我们指的不是“只有”50%甚至100%的复合年增长率——成功意味着在几年中,从1000个部署扩展到一亿。

几乎所有的云供应商都声称能够支持巨大的工作负载,而NoSQL供应商和开源项目也是一样。

我不会直接质疑这些说法,但是如果你想要试图通过组合多种技术,来搭建大规模的系统,需要考虑三个因素:

物理约束。跨越美国的单向传输需要大约60毫秒。这意味着如果你的应用必须与服务器长时间对话,而不是发送单个请求,则你的延迟可能会上升到秒数,当用户在远离单个数据中心的地方使用应用。限制也适用于数据中心。大容量网络在10GB /秒左右到达极限。要真正获得扩展,你的应用不能只放入一个服务器,你的应用的任何单个子系统也不能只放入一个服务器。

技术阻抗不匹配。无论单个技术的扩展性有多大,都不能保证在将它们结合在一起时,能获得高水平的性能,特别是当它们以不同的速度进行扩展时。

开发人员经验。你拥有多少开发人员,真正构建过一个拥有一亿用户的系统?他们是你的员工,还是外包人员,或顾问?我不是说你的员工不够聪明,但是他们第一次就能够成功完成吗?如果不是,还会有第二次机会吗?

没有预见到那些可能性不大的特定事件

常规软件和物联网系统之间的根本区别,是你对创建部署的环境的控制力不足。现实世界是一个奇怪的、混乱的和不稳定的地方,这种奇怪的行为也会体现在你的系统上。奇怪的是,一次性事件会频繁发生。假设你已经部署了一亿台设备,一个百万分之一概率的事件,大约每周会发生两次。要应对这一点,很多开发人员的心态都需要发生根本改变。不够偏执的软件将允许错误进入系统并传播混乱。混乱会导致用户体验不佳,反过来又会导致消极的看法 —或更糟。

无法预测和应对不断变化的物理复杂性

物联网系统的初始部署通常将集中在某种形式的最小化可行性产品上,随着时间的推移,将会增加更多的功能。但除此之外,成功将导致竞争对手的收购,与不同世界观的人的技术合作,受市场启发的“功能”失败,并被默默忘记,以及随着时间的推移而产生的不可避免的技术债务。

在传统的企业环境中,我们可以替换老化的组件,在物联网领域中,实际的东西并不属于你——它们由你的客户拥有,不能强迫他们停止使用他们的设备,他们期望设备一直工作,直到出现故障。这意味着,一旦你发货了一个设备,你就必须为它提供几十年的支持,除非你愿意让你的设备“变成砖头”,并对抗你的客户。

未能预测和应对不断变化的逻辑复杂性

随着你的物理环境变得更加复杂,你的软件堆栈也会更加复杂。本来是一个好的干净的部署,随着时间的推移,将变得老旧起来,大量过时的代码和越来越多的复杂的数据路径通过系统,当你试图应对不可避免的事实,你永远不能停止支持任何已发货的设备。

你的JSON是否暗藏问题?

文档数据存储在这种情况下是一个真正的问题。因为它们对于存储内容没有任何规则,所以你拥有的每一个数据库交互代码都需要能够理解每一个可能遇到的记录结构。在SQL数据库中,新列用于存储新数据,使这问题更易于管理。

你会如何平衡需要改进和需要随时随地保持在线的需要?

高可用性(HA)应用的大量问题,是需要预测罕见但危险场景所带来的副作用。创建和部署一个真正的HA应用,是一个重大的技术挑战;而长期保持它的运行则是更大的挑战。

在十年之后,你所有的开源组件是否还能获得支持?

比一个废弃的购物中心更让人伤感的,就是一个废弃的开源项目,特别当你还使用它时。虽然现在可以通过组合开源项目来构建复杂的应用,但持续的支持将随着时间的推移而变得具有挑战性。迟早一个或多个组件会被抛弃。到时候,你将不得不在架构更改和不会影响收益增加的中断之间进行选择,或者你能够修复任何发生的问题。至少,这意味着你需要保留编译整个堆栈的能力。

本文转自d1net(转载)

时间: 2024-10-31 12:07:18

关于IoT的五个可预见性失败原因的相关文章

CBinsight | 分析101个创业失败案例,我们总结了20大失败原因

从缺乏产品与市场的相配到团队成员的不和,通过分析101个创业失败案例,我们总结了创业失败的前20大原因. 在我们列出创业失败案例清单后,我们收到最频繁的请求之一是我们能否从这些失败案例中提取出他们创业失败的原因.创业者.投资者.经济发展人员.学者和企业都希望对这个问题有所了解: 有没有一些主要原因导致创业失败呢? 所以我们给那些创业失败公司进行CB Insights(CB Insights是一家风险投资数据公司,会定期发布如按需经济之类的经济发展趋势以及独角兽公司的名单.)的数据分析,来看看我们

cortex a9 jtag-IMX6Q JTAG加载UBOOT失败原因

问题描述 IMX6Q JTAG加载UBOOT失败原因 UBoot加载问题点:用JTAG连接板卡,出现报错"Load Debugger fs3",截图如附件. 板卡最小系统参数: - CPU:Freescale IMX6Q Cortex-A9 - DDR3:Micorn 2Gb(32位) - Flash:Micron 256M(8位) 测试发现问题点: - 主晶振24M没有起振(更换16pF~36pF均如此---不振:测试晶振的电平XTALI/O均为457mV,NVCC_PLL_OUT电

力高答题下载失败原因

  力高答题下载失败原因 力高答题电脑版下载不了:这里很多用户会直接下载到后缀是rar格式的力高答题客户端安装压缩包,想要正常安装力高答题软件还需要将rar解压提取出exe文件双击就能安装力高答题客户端了. 还要注意版本问题是否与自家设备相兼容. 力高答题app下载失败:注意版本问题是否与手机设备相兼容.

格式工厂合并视频的失败原因和解决方法

  格式工厂是一款功能比较齐全的视频编辑软件,为用户提供视频合并.视频编辑.添加字幕以及添加背景音乐等操作.其中,合并视频功能是格式工厂最常用的操作之一.不过,有用户反映说:格式工厂出现合并视频失败的情况,这是怎么回事呢?想知道原因和解决方法的玩家就一起来看看今天的教程吧! 格式工厂 格式工厂合并视频失败原因: 1.格式工厂的版本太低了; 2.没有合并所需的视频解码器; 3.用于合并的各段视频的格式和尺寸不统一. 格式工厂合并视频失败解决方法: 法一.格式工厂的版本如果太低,就会有不少bug,而

知商金融APP充值失败原因详解

给各位知商金融软件的使用者们来详细的解析分享一下充值失败的原因. 解析分享:     1.输入的银行卡类型.卡号.预留手机号是否跟开户名及身份证信息是否对应; 2.使用的银行卡账户余额不足; 3.通过开通网银的银行卡方式充值的,请确认银行账户是否开通网上银行,如果未开通请持您的身份证原件到您的银行卡发卡行任意营业网点申请开通网上银行业务,开通后即可网上充值;如果没有安装网上银行操作控件请及时安装; 4.银行账户设置有每日消费金额限制,充值金额超过了限制金额; 备注:若银行卡已经扣款,但账户没有显

atl com c++ ocx-c++调用自己编写的ocx库文件失败原因

问题描述 c++调用自己编写的ocx库文件失败原因 #include #include #include "../last/LAST.h" #include "../last/LAST_i.c" void main(void) { // 声明一个HRESULT变量以及一个Simple_ATL接口的指针 IMyClass *IMyClass = NULL; HRESULT hr = CoInitialize(NULL); // 初始化COM // 现在初始化COM h

qt-Qt QMetaObject invokeMethod失败 如何查看失败原因?

问题描述 Qt QMetaObject invokeMethod失败 如何查看失败原因? 调用 QMetaObject::invokeMethod(m_manager, "onEventRequest", Qt::QueuedConnection, Q_ARG(int, 0)); 没有执行onEventRequest函数,函数执行到这一句以后就卡在这里了, 由于m_manager是一个很大的类,整个流程就不贴上来了,现在怀疑m_manager跟onEventRequest的匹配上有问题

织梦网站搬家失败原因分析与处理方法

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 织梦网站搬家失败原因分析与处理方法 网站建设运营过程中,不可避免会遇到网站空间更换的问题.网站搬家过程中,可能会出现形形色色的问题,导致网站搬家失败.本文对织梦网站搬家失败原因进行详细分析,解决站长朋友们网站搬家失败的苦恼. 现象一:新网站信息与原网站数据库信息不符,网站数据不完整. 原因分析:数据库备份过程有瑕疵. 解决方法:使用织梦系统备

java-一个简单的登录程序,不想连接数据库就实现登录的功能,问下失败原因

问题描述 一个简单的登录程序,不想连接数据库就实现登录的功能,问下失败原因 import java.awt.BorderLayout; import java.awt.Button; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JLabel; impo