无名服务器架构,通常被称为“无服务器计算”,根本没有服务器,顾名思义。无服务器架构是基于应用程序的云计算服务,其中服务器由云计算提供商管理,从而提供更高的效率和潜在的成本节省。对于大多数云计算用户来说,这更容易,更有效。
没有服务器,也称为功能即服务(FaaS),在不存储数据的情况下执行应用程序逻辑。使用FaaS的开发人员仍然需要编写服务器端逻辑,但它运行在一个瞬态无状态容器中。客户端应用程序(包括移动应用程序)利用基于云的基础架构后端即服务(BaaS)。
“无服务器”一词的使用可以追溯到2012年。2014年,AWS推出了Lambda,这是公共云提供商提供的第一个无服务器计算产品,用于加速该术语的主流使用。 2016年,Google Cloud推出了Google云功能,Microsoft Azure推出了Azure功能,IBM Cloud推出了IBM功能,并推出了OpenWhisk开源项目。
没有服务器有时会与云计算的平台即服务(PaaS)混淆。后端即服务(BaaS)和功能即服务(FaaS)是云计算提供商提供的服务选项,但功能即服务(FaaS)不同于平台作为a - 服务(PaaS)有几个重要方面。例如,功能即服务(FaaS)将自动扩展,但平台即服务(PaaS)不会。此外,功能即服务(FaaS)可以上下移动整个应用程序,而平台即服务(PaaS)则没有这样的特殊设计。
无服务器架构使用大量的应用程序粒度;它适用于当今的微服务世界,而不是早期的单片架构。
没有服务器示例
照片应用的用户可以在选择照片时自动调整大小。照片将被发送到Amazon S3存储桶,该存储桶不使用服务器来触发相应的Lambda功能。其输出是用户选择的照片的大小。
应用内游戏开发者希望减少购买行为,因为应用评论会受到影响。玩家现在可以将鼠标悬停在他们想要购买的产品上。例如,玩家在“Neo Sunglasses”上空盘旋,通过API Gateway触发虚拟产品和购买功能。数据库用于每个无服务器功能。在几秒钟内,所选角色戴着太阳镜,因为角色现在有太阳镜,可以移除或重新应用。无服务器用例
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)或两者。
选择提供商(可能是公司使用的提供商)。
假设公司选择AWS Lambda,这是一种特别受欢迎的无服务器解决方案:
设置Lambda功能(内存和存储要求,触发器,访问)。
设置Amazon API网关。
要适应现有应用程序,请使用AWS步骤功能进行工作流程管理。
使用Amazon Identity Access Management和Cognito服务设置访问和安全性。
对于日志记录和监控,请使用AWS Cloudwatch和X-Ray。
如果需要本地应用程序测试,请使用AWS无服务器应用程序模型。
满足合规要求。
将无服务器架构模式与相同类型应用程序的常见模式进行比较。
如何管理无服务器架构
顾名思义,在没有基于服务器的云服务的情况下,IT不管理服务器。对于本地功能即服务(FaaS)实现(例如由Apache OpenWhisk,Kubeless和OpenFaaS启用的实现),服务器在内部进行管理。
虽然基于应用程序的云计算优势不适用于本机功能即服务(FaaS)实现,但可以实现更高的服务器利用率,开发人员仍然可以从无服务器抽象中受益。
但是,仍有一些操作问题需要考虑,例如权限,安全性,依赖性和其他问题,具体取决于应用程序的设计,这些问题不会消失。关键问题是:企业是否拥有管理无服务器所需的内部专业知识?到目前为止,无服务器仍然是一项新兴技术,所以不要假设公司的内部员工或开发人员都是专家。
无服务器计算的未来
随着无服务器选项变得越来越流行,以下内容可能会扩展:
更多更好的工具。这是一个市场成熟度问题,它也是受欢迎程度和其他选项的特征。更流行的是没有服务器,更多的工具和开源项目。
最佳实践。由于没有服务器是一个相对较新的概念,目前没有最佳实践,但无服务器架构模式可用于上述许多用例。
没有服务器优先级应用在某些用例中,通过修改应用程序,可能会有比使用无服务器选项更多的无服务器应用程序。
帧。将出现其他框架,使得与一个供应商而不是另一个供应商合作变得更容易。当前的示例是Fn Project,一个容器本地开源框架和一个无服务器框架,用于将无服务器应用程序部署到多个功能即服务(FaaS)提供程序。
私有功能即服务(FaaS)。功能即服务(FaaS)已在企业内部提供。与云计算服务或混合云实施相比,时间将成为主流。
上海IT外包服务网 链接:http://www.linemore.com