AWS 无服务器计算服务支持在 AWS 云上构建和部署应用程序,而无需管理服务器。AWS 无服务器平台使供应商能够部署云解决方案,而无需服务器预置、部署、维护和监控应用程序、数据库或存储服务器。它包含自定义配置、易于维护、强大的安全性、可扩展性、高可用性、监控等特性。
什么是无服务器平台?
无服务器并不意味着在没有服务器的情况下执行应用程序。它是云服务提供商所遵循的一种模式,云服务提供商在自己的基础设施上管理机器和资源,并通过动态分配机器和资源来构建和运行应用程序和服务来提供服务,这就是所谓的“BaaS”(Business as a服务)或“FaaS”(功能即服务),其中代码在临时容器中执行。定价基于任务执行期间消耗的资源。
AWS 无服务器平台的功能
云逻辑层
AWS Lambda 可以充当所有容器化和微服务应用程序的逻辑层
编排管理
使用 AWS Step 函数协调和管理无服务器应用程序的每个分布式组件的状态
应用程序生命周期管理
使用 AWS CodePipeline 等生命周期管理工具持续交付无服务器应用程序
安全和访问控制
使用 AWS IAM(身份和访问管理)和 Amazon VPC(虚拟私有云)保护整个环境和 AWS 资源
可靠性和性能
AWS 以较低的成本提供高度可用、可扩展且安全的服务
全球规模和影响力
AWS 提供广泛的全球产品;几乎所有无服务器服务都在多个 AWS 区域中可用
无服务器应用程序用例
网络应用程序
使用 Amazon S3、Amazon API Gateway、AWS Lambda 和 Amazon DynamoDB 构建可自动扩展和缩减的无服务器 Web 应用程序,并在多个可用 AWS 区域中以高度可用的配置运行,而实现可扩展性所需的基础设施工作量为零。
实时文件处理
在 Amazon S3 中上传数据后,S3 能够触发 AWS Lambda 即时处理数据。AWS Lambda 可用于实时生成缩略图、视频转码、索引文件、处理日志、验证内容、聚合和过滤数据。
实时流处理
可以通过 AWS Kinesis 和 AWS Lambda 处理 AWS 中的实时流数据。流数据源包括应用程序活动跟踪、数据清理、日志过滤、索引、社交媒体分析、正在处理的事务以及物联网设备数据遥测和计量。
移动后端
构建后端以通过 AWS Lambda 和 Amazon API Gateway 验证和处理 API 请求。
好处
降低成本——无服务器计算定价模式是现收现付的。当应用程序不运行时,它会消耗资源,而不会消耗任何资源。此外,AWS 负责基础设施维护和更新,因此开发人员可以将更多时间用于软件开发。
弹性可扩展性——AWS 中的无服务器架构有可能根据应用程序工作负载进行扩展和缩减。
减少开发人员的责任并加快发布速度——开发人员无需担心资源分配、扩展、应用程序部署和工作负载强度。AWS 为无服务器架构处理这些问题。开发人员应该只编译他们的代码,将其压缩,然后将其上传到新的无服务器平台以部署新功能。
多语言支持——AWS 无服务器平台支持 Node、Java、Python、C#、Ruby、Go 等多种编程语言,因此开发人员可以为自己选择最方便的选项。
内置日志记录和监控机制——AWS 开发了自己的用户日志记录和监控解决方案。此外,它还提供自动化安全评估,以提高部署在 AWS 上的应用程序的合规性。
挑战
冷启动——无服务器计算的主要好处是资源的动态分配,因此供应商不需要为空闲时间付费。但是,有时这可能会导致调用延迟。
资源限制——无服务器计算对资源内存、执行时间、带宽和 CPU 使用施加限制,例如 AWS Lambda 的每个请求的最大执行时间为 900 秒(或 15 分钟)。
应用程序测试不充分——无服务器基础设施可以独立测试应用程序的小功能,但测试基础设施和所有功能的组合可能具有挑战性。
增加的安全问题——如果 lambda 函数发生任何恶意代码或攻击,识别问题和瓶颈的选项有限。开发人员也没有对 AWS 服务器的完全访问权限。
访问文件系统级别——无服务器架构不是需要访问文件系统或操作系统级别的软件的最佳选择。这些类型的应用程序需要执行诸如从配置文件中读取属性或将内存缓存拆分到磁盘等操作,但无服务器功能不允许这样做。无服务器函数是无状态的,因此每当应用程序需要状态时,无服务器函数并不适合。
无服务器服务使应用程序更容易扩展和更快地开发,而无需管理典型的基于服务器的基础设施。开发人员可以更多地关注核心产品,而不是运营服务器。因此,越来越多的组织更喜欢无服务器平台。
审核编辑:郭婷
-
cpu
+关注
关注
68文章
10859浏览量
211700 -
服务器
+关注
关注
12文章
9143浏览量
85387 -
AWS
+关注
关注
0文章
432浏览量
24361
发布评论请先 登录
相关推荐
评论