草庐IT

成功部署边缘计算的五个策略

Rafael Umann 2023-03-28 原文

围绕着边缘有很多炒作,这是有充分理由的。由于消费者和员工都希望获得更好、更可靠的体验,将内容尽可能地推向用户,这是提供优质用户体验的新领域。边缘技术与无服务器计算、网络功能、人工智能和机器学习等趋势的交叉可能会促进进一步的创新。

即便如此,接受边缘技术并代表自动获胜。仍需要有一个有效的计划来充分利用边缘部署并避免常见的失误。有几个关键的策略尤其重要,要牢记在心。遵循这些建议可以使组织能够提供比以往任何时候都更快、更可靠的体验,而无需对后端基础设施施加压力来实现它。

1、使用开放标准避免供应商锁定

当开始计划向边缘转移时,请仔细考虑用于构建边缘Web应用程序的工具和标准。如果仅依赖与特定提供商绑定的专有选项,那么即使他们提高了价格或不再符合自己的策略,也很难从该提供商转移。

另一种选择是使用开放标准。许多供应商支持的工具和框架,提供了根据需要在不同平台之间转换工作的灵活性。边缘开发的一些最重要的开放标准包括WebAssembly(允许开发人员使用熟悉的语言为边缘编码)、Ecma TC39(JavaScript标准)和HTTP(尤其是HTTP3,它将在标准化物联网开发方面发挥重要作用)。

2、为无服务器架构的灵活性而构建

无服务器架构在构建和部署边缘网站和应用程序方面越来越受欢迎,原因也不难理解。从实际基础设施中抽象出来,可以轻松地专注于构建具有高可扩展性和可用性的最佳应用程序,而无需担心后端。使用预先制作的模板,开发人员可以在一分钟内设置边缘应用程序,然后直接从边缘快速收集和分析流量和参与度数据,以衡量成功与否。

重要的是,要确保无服务器平台有助于在任何地方运行应用程序的过程——无论是在网络边缘、本地数据中心还是在云中。这需要对多种框架和WebAssembly的支持,只要是这种情况,就可以一次性构建应用程序,并能够在任何地方运行它。

3、依靠边缘来获得可操作的可观察性

从边缘获得最大收益的一个关键部分,是利用其功能来实现实时故障排除和可操作的可观察性。即使是运行最好的网站和应用程序也会遇到挑战和后勤障碍。了解如何为边缘应用程序加速故障排除和主动使用数据,将最大限度地减少性能问题和客户的挫败感,并支持许多新的用例。

首先,在边缘上设置应用程序可以实时获取性能数据。将数据发送到安全信息和事件管理(SIEM)服务或任何大数据平台,以尽快获得可操作的见解。与此同时,设置错误页面,自动检测问题解决的进展并相应地更新自己。还可以直接在边缘实现用户个性化,以便尽可能顺利地过渡到自定义网页。

4、在边缘建立安全机制,从源头阻止攻击

边缘表示攻击者和应用程序之间的第一个接触点。如果在边缘应用程序中构建安全功能,就可以在攻击开始的地方阻止攻击。这使中心基础设施和团队成员不必阻止攻击者或处理成功攻击的后果。

在检测攻击方面,第一步是确定是否有可能隐藏攻击的位置、ASN或IP地址。从那里,企业可以自动检测它们,并在边缘阻止。

5、明智地选择在边缘和云中运行什么

如果给定的应用程序需要为用户提供快速可靠的体验,无服务器边缘开发就足够了。另一方面,如果用例依赖于聚合来自多个来源的大量数据来处理和存储,那么应该利用云。举个例子,如果零售商想要聚合和处理大量的用户行为数据,以获得高层次的见解。数据可以在边缘进行收集、处理和标准化,然后发送到云端进行存储、聚合和生成洞察。如果零售商希望根据商店内的数据做出自动决策,则边缘可以自行处理这种情况。

许多企业开始支持边缘技术,这是有充分理由的。它可以提供一种方法,一次性构建应用程序并在任何地方使用它们,自动将内容定位到每个用户,自动执行困难的故障排除过程,并在不影响中央基础设施的情况下阻止不需要的用户。云仍然可以发挥作用,尤其是在“大数据”方面。但很明显,随着更多用例的出现,边缘技术在未来只会变得更加重要。

有关成功部署边缘计算的五个策略的更多相关文章

  1. 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,

  2. ruby - 如何验证 IO.copy_stream 是否成功 - 2

    这里有一个很好的答案解释了如何在Ruby中下载文件而不将其加载到内存中:https://stackoverflow.com/a/29743394/4852737require'open-uri'download=open('http://example.com/image.png')IO.copy_stream(download,'~/image.png')我如何验证下载文件的IO.copy_stream调用是否真的成功——这意味着下载的文件与我打算下载的文件完全相同,而不是下载一半的损坏文件?documentation说IO.copy_stream返回它复制的字节数,但是当我还没有下

  3. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  4. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  5. jenkins部署1--jenkins+gitee持续集成 - 2

    前置步骤我们都操作完了,这篇开始介绍jenkins的集成。话不多说,看操作1、登录进入jenkins后会让你选择安装插件,选择第一个默认的就行。安装完成后设置账号密码,重新登录。2、配置JDK和Git都需要执行路径,所以需要先把执行路径找到,先进入服务器的docker容器,2.1JDK的路径root@69eef9ee86cf:/usr/bin#echo$JAVA_HOME/usr/local/openjdk-82.2Git的路径root@69eef9ee86cf:/#whichgit/usr/bin/git3、先配置JDK和Git。点击:ManageJenkins>>GlobalToolCon

  6. 深度学习部署:Windows安装pycocotools报错解决方法 - 2

    深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal

  7. 计算机毕业设计ssm+vue基本微信小程序的小学生兴趣延时班预约小程序 - 2

    项目介绍随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱小学生兴趣延时班预约小程序的设计与开发被用户普遍使用,为方便用户能够可以随时进行小学生兴趣延时班预约小程序的设计与开发的数据信息管理,特开发了小程序的设计与开发的管理系统。小学生兴趣延时班预约小程序的设计与开发的开发利用现有的成熟技术参考,以源代码为模板,分析功能调整与小学生兴趣延时班预约小程序的设计与开发的实际需求相结合,讨论了小学生兴趣延时班预约小程序的设计与开发的使用。开发环境开发说明:前端使用微信微信小程序开发工具:后端使用ssm:VU

  8. ruby - 如何计算 Liquid 中的变量 +1 - 2

    我对如何计算通过{%assignvar=0%}赋值的变量加一完全感到困惑。这应该是最简单的任务。到目前为止,这是我尝试过的:{%assignamount=0%}{%forvariantinproduct.variants%}{%assignamount=amount+1%}{%endfor%}Amount:{{amount}}结果总是0。也许我忽略了一些明显的东西。也许有更好的方法。我想要存档的只是获取运行的迭代次数。 最佳答案 因为{{incrementamount}}将输出您的变量值并且不会影响{%assign%}定义的变量,我

  9. ruby - 使用 Ruby,计算 n x m 数组的每一列中有多少个 true 的简单方法是什么? - 2

    给定一个nxmbool数组:[[true,true,false],[false,true,true],[false,true,true]]有什么简单的方法可以返回“该列中有多少个true?”结果应该是[1,3,2] 最佳答案 使用转置得到一个数组,其中每个子数组代表一列,然后将每一列映射到其中的true数:arr.transpose.map{|subarr|subarr.count(true)}这是一个带有inject的版本,应该在1.8.6上运行,没有任何依赖:arr.transpose.map{|subarr|subarr.in

  10. Ruby,使用包含 TK GUI 的 ocra 部署一个 exe - 2

    Ocra无法处理需要“tk”的应用程序require'tk'puts'nope'用奥克拉http://github.com/larsch/ocra不起作用(如链接中的一个问题所述)问题:https://github.com/larsch/ocra/issues/29(Ocra是1.9的"new"rubyscript2exe,本质上它用于将rb脚本部署为可执行文件)唯一的问题似乎是缺少tcl的DLL文件我不认为这是一个问题据我所知,问题是缺少tk的DLL文件如果它们是已知的,则可以在执行ocra时将它们包括在内有没有办法知道tk工作所需的DLL依赖项? 最佳答

随机推荐