加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 综合聚焦 > 移动互联 > 评测 > 正文

无服务器架构的发展与应用

发布时间:2019-07-03 07:45:22 所属栏目:评测 来源:Lisa Morgan
导读:副标题#e# 无服务器架构,通常被称为无服务器计算,但并不像其名称所暗示的那样完全没有服务器。无服务器架构是一种基于应用的云计算服务,其中由云计算提供商管理服务器,提供更高的效率和潜在的成本节约。对于大多数云计算用户来说,这更容易和有效。 无
副标题[/!--empirenews.page--]

无服务器架构,通常被称为“无服务器计算”,但并不像其名称所暗示的那样完全没有服务器。无服务器架构是一种基于应用的云计算服务,其中由云计算提供商管理服务器,提供更高的效率和潜在的成本节约。对于大多数云计算用户来说,这更容易和有效。

无服务器架构的发展与应用

无服务器也称为功能即服务(FaaS),无需存储数据即可执行应用程序逻辑。利用FaaS的开发人员仍然需要编写服务器端逻辑,但它运行在短暂的无状态容器中。客户端应用程序(包括移动应用程序)可利用基于云计算的基础设施后端即服务(BaaS)。

“无服务器”一词的使用可以追溯到2012年。而AWS公司在2014年推出了Lambda(公共云供应商提供的第一个无服务器计算产品),加速了该术语的主流使用。2016年,谷歌云推出Google Cloud Functions,Microsoft Azure推出了Azure Functions,IBM Cloud推出了IBM Functions,而OpenWhisk开源项目则首次亮相。

无服务器有时会与云计算的平台即服务(PaaS)混淆。后端即服务(BaaS)和功能即服务(FaaS)都是云计算提供商提供的服务选项,但功能即服务(FaaS)在几个重要方面与平台即服务(PaaS)不同。例如,功能即服务(FaaS)会自动扩展,但平台即服务(PaaS)则不能。此外,功能即服务(FaaS)可以使整个应用程序上下移动,而平台即服务(PaaS)并没有这样的专门设计。

无服务器架构使用了大量的应用程序粒度;它适用于当今的微服务世界,而不是早期的单片架构。

无服务器示例

  • 照片应用的用户可以在选择照片时自动调整大小。照片将发送到Amazon S3存储桶,该存储桶使用无服务器来触发相应的Lambda功能。其输出是用户选择的照片大小。
  • 应用内游戏开发者希望能够使其购买变得不再繁琐,因为应用评论受到了影响。玩家现在可以将鼠标悬停在他们想要购买的产品上。例如玩家将鼠标悬停在“Neo太阳镜”上,通过API网关触发虚拟产品和购买功能。每个无服务器功能都使用一个数据库。几秒钟之内,所选的角色就戴上了太阳镜,因为现在角色就拥有太阳镜,它可能会被随意移除或重新戴上。

无服务器用例

  • Web应用程序
  • 异步消息处理。例如,应用程序的用户界面(UI)响应时间和准确的交易历史记录都很重要
  • 需要自动扩展功能的聊天机器人
  • 大规模流处理
  • 移动应用程序后端
  • 批处理作业
  • 多媒体处理
  • 数据处理
  • 聊天机器人和虚拟助理
  • IT自动化

无服务器的好处

  • 减少开销。应用程序可以在没有使用功能即服务(FaaS)的服务器的情况下运行,因此无需配置或管理服务器。
  • 自动缩放。功能即服务(FaaS)自动缩放,向上或向下扩展,因此客户无需为闲置容量支付费用。
  • 高可用性。应用程序可用性不是问题,因为功能即服务(FaaS)和后端即服务(BaaS)可用性不是问题。
  • 选择。功能即服务(FaaS)允许开发人员使用流行语言和库。
  • 成本。与平台即服务(PaaS)和基础设施即服务(IaaS)一样,无服务器云计算提供商拥有硬件和软件元素。服务器管理成本也是外包的。
  • 简单。部署功能即服务(FaaS)功能就像上传代码一样简单;部署服务器涉及脚本和面向资源的决策。
  • 速度。由于无服务器无需服务器及其管理,因此节省了宝贵的IT时间。它还加速了实验和原型设计。

无服务器的缺点

  • 无状态与状态。对于使用面向状态功能的应用程序体系结构来说,功能即服务(FaaS)的无状态性质可能是一个问题。
  • 超时。如果应用程序包含超出超时限制的任务,功能即服务(FaaS)超时可能会影响应用程序体系结构。
  • 启动延迟。功能即服务(FaaS)启动延迟可能会排除极其敏感的用例,例如算法交易。
  • 服务水平协议。缺乏服务等级教育协议(SLA)一直是个问题。在2018年10月,AWS公司宣布Lambda的每月正常运行时间为99.95%。
  • 功能配置。配置功能即服务(FaaS)的能力可能有限。
  • 并发限制。允许的并发功能即服务(FaaS)功能的数量是有限的。如果由于同时进行测试和生产,共享企业帐户,跨多个云服务的帐户超出该数量,则生产应用程序性能可能会受到影响。
  • 功能即服务(FaaS)监控。这里的两个问题是供应商提供了多少数据,以及监控临时容器的一般困难。
  • 供应商锁定。云计算提供商希望难以转移到其他提供商。有两种方法可以使平台特有的工具和设计功能不同。
  • 控制。供应商可以完全控制基础设施、定价和功能。
  • 成本。无服务器并不总是比其他选项便宜,因此理解与其他选项相比的成本/收益权衡是明智的。使用功能即服务(FaaS),功能在调用之前不需要任何费用。

无服务器的安全性

  • 攻击面扩大。生态系统中的任何新元素都会增加潜在的破坏机会。此外,与使用传统架构的应用程序相比,无服务器应用程序具有更多的组件。每个组件都是应用程序的唯一入口点。
  • 功能许可。有时,当权限越窄越明智时,广泛的权限可能会应用于一系列功能。
  • 多租户。其他客户不应该看到企业数据,但可能是这样。这是主要提供商主动解决的一般云计算问题。
  • 第三方软件依赖性。功能可能依赖于已泄露的第三方软件。

无服务器架构入门

开始使用无服务器架构的最佳方法是完全理解文中的所有内容:它是什么,它的优点和缺点是什么,因此可以定义适当的用例。

具体来说,如果要将无服务器应用程序添加到现有应用程序或构建新的无服务器应用程序,需要考虑以下内容:

  • 了解无服务器是什么或不是什么。
  • 了解使用传统架构应用程序和无服务器应用程序之间的权衡。
  • 确定企业是要构建无服务器应用程序还是修改现有应用程序以利用后端即服务(BaaS)、功能即服务(FaaS)或两者兼而有之。
  • 选择一个提供者(可能是企业使用过的提供者)。

(编辑:PHP编程网 - 黄冈站长网)

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

推荐文章
    热点阅读