加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

云端无服务器架构:亚马逊网络服务(AWS)、谷歌云和微软云

发布时间:2018-12-08 00:16:07 所属栏目:外闻 来源:Peter Wayner
导读:管理服务器带来的无休止的麻烦是大型云服务公司采用无服务器架构的原因之一。他们知道老板已经听够了服务器出这样或那样问题的借口。如果我们能够摆脱那些服务器,那么老板一定会考虑。 借助AWS Lambda、谷歌云函数和微软Azure Functions,可帮你将很小的

对无服务器云进行对比最难的是掌握其价格和速度,因为更多的东西隐藏在底层。当我启动虚拟机,并按每小时价格收费时,我常常觉得自己像个疯狂的消费者。现在,提供商正在将其服务切分的如此精细,以至于你可以以不到一美元的价格获得数十万次函数调用。你会像在“王牌大贱谍”电影中的“邪恶博士”一样,反复去说“百万”这个词。

当然,这种明显的低价很快就会削弱我们大脑中理性的和预算意识的部分,就像我们在一个陌生的国家度假一样,这个国家使用完全不同的货币面额。不久之后,你将订购另外数百万次的数据库调用,就像你在墨西哥坎昆的酒吧喝酒一样,因为你无法快速换算价格以确定其实际成本。

当云计算为你提供一台原始的虚拟机时,你可以猜测其内存容量和CPU性能,但是在无服务器的环境中,你并不真正知道其中的内在配置。

值得注意的是,无服务器模式几乎会迫使你将数据存储在本地云数据库中,因为它不允许你在代码中保留任何状态。你必须相信这些后端架构。你的函数必须运行在没有任何本地缓存或配置的环境中,因为其他版本总是被创建和销毁。因此,数据库胶水代码会填满你的代码,就像在《怪奇物语》(Stranger Things)电影中表里世界(Upside Down)的那些藤蔓一样。

比较成本的唯一现实方法是在所有平台上构建应用程序,这是一项艰巨的挑战。可以在三者之间移动一些代码,因为它们都运行Node.js,但即便如此,你仍然会遇到并忍受一些差异。 (例如,你直接在Microsoft和Google中处理HTTP请求,但要通过AWS中的API Gateway进行处理。)

好消息是你不必如此偏执。在我的实验中,许多基本应用程序几乎不使用任何资源,你可以使用这三个平台所提供的免费资源很长时间,这些资源是为吸引那些不愿付费的开发人员。无服务器模式确实为我们节省了开销。除非你的服务器是始终接近满负荷运行,并且放置在拥有免费空调的机房,否则你将业务转向无服务器方式,这很可能最终会为你节省一些大笔资金。你会节省如此多的资金,你也就不会计较它每百万次函数调用的价格是1美元或1.50美元。

还有一个更深层的问题。如果你受够了这些云,你就会陷入困境。这并不是很轻松地就能将代码取出并在其他地方的商品服务器上运行,而是你可能要使用装满自己代码的Docker容器进行操作。如果幸运的话,你可以复制相同的原始架构和基本的JavaScript函数,但在此之后,你要在所有部位都重写数据库胶水代码。所有这三家公司都有自己的专有数据存储层。

目前还不清楚出现故障时会发生什么。运行你自己的服务器意味着,当你的老板不能正常工作时,你需要立即解决问题。目前还不清楚在这个领域会发生什么。在谷歌公司的一个页面中包含一个温和的警告,“这是谷歌云函数的测试版。此API可能会以不兼容的方式进行更改,并且不受任何服务水平协议(SLA)或弃用政策所约束。”

亚马逊的服务条款比它首次进入这一领域时要好一些,但它仍然包含一些你需要记住的警告内容,例如:“如果你上传到AWS Lambda的任何内容超过三个月未使用,那么我们会在30天内通知你,并可能将其删除,且不承担任何形式的责任。”如果你想在亚马逊云端保留你的代码,那么请确保你经常运行该代码。像这样的警告内容当然是公平的(这样的话,我会知道我的旧Lambda函数不会再被使用),但这也表明了你将如何放弃一些控制权。

微软为Azure服务提供服务水平协议,其承诺通过服务积分对故障时间进行经济补偿。这些承诺也适用于你的函数故障吗?也许,只要你不使用一些测试版服务。如果你打算构建比儿童聊天室更重要的工作,那么就值得花一点时间关注这些细节内容。

在大多数情况下,你真正想进行的是在亚马逊、谷歌和微软云的其他功能和服务之间的比较,而不是函数层面。如果你对喜欢使用Office应用程序的用户提供支持,则利用在OneDrive上的Office文件来触发Azure Functions的功能,这对你是极具吸引力的。借助谷歌Firebase平台,可以轻松使用各种功能为Web应用提供消息传递和身份验证等支持服务。AWS Lambda提供了许多亚马逊服务,看起来天空真的是有极限的。

从技术上讲,混合和匹配所有这些云和函数是可能的,因为它们都使用相同的PUT和GET语言来调用HTTP API。你没有理由不使用这些融合很多微服务的应用程序,因为这些应用程序集合了三个云平台中最好的功能。但是,当数据包离开本地云,并在开放互联网的荒野中传递时,你将最终遇到更大的延迟。然后,在解析和结构上会有细微的差异,这使得坐在一家公司的温暖环境中工作变得更轻松。

因此,使用单个云的安全部分可能是更合理的,至少在涉及相互关联的应用程序时是这样。你真的很喜欢谷歌地图吗?你是否想把它们用于你的项目?那么,即使在你的心中,你也可以使用谷歌云函数,而不是将F#语言与微软的Azure Functions结合使用。亚马逊的语音识别,或谷歌的图像分析API,或任何数十种不同的服务和机器学习API也是如此。功能并不那么重要,它们的相互连接才是真正重要的。

【编辑推荐】

  1. 当Serverless到来:都“无服务器”了,运维人员何去何从?
  2. 迁移到微服务架构,为什么你仍没有发现它的固有优势
  3. 这7个开源平台帮你入手无服务器计算
  4. 7个开源平台,入门无服务器计算
  5. 探境科技存储优先架构(SFA)冠领新一代AI芯片技术
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读