草庐IT

什么时候应该选择边缘计算而不是云?

Alexander Huls 2023-11-21 原文

物联网的兴起可谓天文数字。到2030年,全球联网物联网设备的数量预计将略高于290亿台。对于需要监控和响应传入数据的企业来说,边缘计算将变得与迄今为止的云迁移一样重要。

然而,对于企业而言,关于边缘或云的决策不太可能是二元的。 Forrester 的边缘计算和物联网研究负责人 Michele Pelino 说:“这不是非此即彼,因为你不会只拥有云功能,也不会只拥有边缘功能。”

相反,在一个去中心化的世界里,许多企业需要仔细评估自己的需求。Pelino说:“你必须考虑哪些用例对你自己的组织有帮助,哪些已经部署,哪些可能即将部署。”以下是边缘和云计算的一些特性,以及哪种选项最适合哪种业务需求。

当组织的数据更加分散(想想物联网设备)并且它们更加依赖于数据的实时处理和响应能力时,边缘计算的极低延迟对于组织来说变得必不可少。 此类用例包括在制造业和农业中使用自主机器、人脸识别、预测性维护或传感器的公司。 如果自动驾驶汽车即将撞到行人,或者仓库机器人即将导致严重错误,那么糟糕的延迟可能是灾难性的。

然而,云通常仍然参与其中。 “仍然需要集中输入信息,”前 ISACA 董事会主席兼物联网网络安全公司 Crypto Quantique 董事会董事 Rob Clyde 说。 “例如,你可能会做一些功能性的能力,比如在那个边缘位置进行字面上的处理,以便当场做出决定。 但你也可以将其中一些数据发送回云环境,以用于额外的人工智能和机器学习。”

在云端与边缘处理网络安全

云服务提供商让企业在网络安全方面高枕无忧,因为他们承担了保护公司数据的责任。 然而,边缘计算使网络安全变得更加复杂。

Forrester 的 Pelino 说:“当你开始在更偏远的位置添加多种类型的连接边缘设备时,你就是在增加潜在攻击面的层次。” 因此,采用边缘计算及其广泛分布的端点需要大量投资和所有权。 创建和执行允许保护和监控的严格网络安全策略需要金钱、时间和内部 IT 部门或外部合作伙伴的努力。

边缘计算会产生额外的设备成本

云的好处之一是节省了硬件、IT人员、电力等费用。云服务提供商提供了企业所需的一切。

边缘计算重新引入了对重要物理基础设施和管理的需求。“您可能需要真正的本地化服务器和靠近边缘的数据存储,”Clyde解释道。"你将需要结实的电脑。"云已经不够用了。一个组织必须重新拥有、管理和监督自己的设备,所有这些都增加了成本。

也就是说,还有其他选择。 “设备管理可以外包给另一家供应商,他们可以提供不会引入不必要延迟的机架。 他们可以管理那个位置,保证它的安全,并在你需要重启某些东西时提供远程帮助,”Clyde 说。 “现在,你不是在管理机架; 他们是。”

还可以节省开支来抵消增加的开支; 值得注意的是,通过减少云存储需求。 “您不需要将所有内容都返回到云中进行额外处理,”Pelino 说。 “你只会将特定的东西发送回云端。 所以,你避免了一些额外的开支。”

归根结底,将边缘计算添加到现有的云计划中将是一项有回报的投资。 研究公司 Gartner 发现,到 2025 年,大约 75% 的业务数据将在云或中央数据中心之外创建。 公司越早加入越好。

有关什么时候应该选择边缘计算而不是云?的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - 检查 "command"的输出应该包含 NilClass 的意外崩溃 - 2

    为了将Cucumber用于命令行脚本,我按照提供的说明安装了arubagem。它在我的Gemfile中,我可以验证是否安装了正确的版本并且我已经包含了require'aruba/cucumber'在'features/env.rb'中为了确保它能正常工作,我写了以下场景:@announceScenario:Testingcucumber/arubaGivenablankslateThentheoutputfrom"ls-la"shouldcontain"drw"假设事情应该失败。它确实失败了,但失败的原因是错误的:@announceScenario:Testingcucumber/ar

  7. ruby-on-rails - 使用一系列等级计算字母等级 - 2

    这里是Ruby新手。完成一些练习后碰壁了。练习:计算一系列成绩的字母等级创建一个方法get_grade来接受测试分数数组。数组中的每个分数应介于0和100之间,其中100是最大分数。计算平均分并将字母等级作为字符串返回,即“A”、“B”、“C”、“D”、“E”或“F”。我一直返回错误:avg.rb:1:syntaxerror,unexpectedtLBRACK,expecting')'defget_grade([100,90,80])^avg.rb:1:syntaxerror,unexpected')',expecting$end这是我目前所拥有的。我想坚持使用下面的方法或.join,

  8. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  9. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  10. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

随机推荐