AWS 无服务器计算服务允许在 AWS 云上构建和部署应用程序,而无需管理服务器。AWS 无服务器平台使供应商能够部署云解决方案,而无需服务器预置、部署、维护和监控应用程序、数据库或存储服务器。它包含自定义配置、易于维护、强大的安全性、可扩展性、高可用性、监控等功能。
什么是无服务器平台?
无服务器并不意味着在没有服务器的情况下执行应用程序。它是云提供商遵循的模型,其中提供商在自己的基础架构上管理机器和资源,并通过动态分配机器和资源来构建和运行应用程序和服务,这被称为“BaaS”(业务即服务)或“FaaS”(功能即服务),其中代码在临时容器中执行。定价基于执行任务期间消耗的资源。
AWS 无服务器平台的功能
云逻辑层
AWS Lambda 可以充当所有容器化和微服务应用程序的逻辑层
编排管理
使用 AWS Step 函数协调和管理无服务器应用程序的每个分布式组件的状态
应用程序生命周期管理
使用 AWS CodePipeline 等生命周期管理工具持续交付无服务器应用程序
安全性和访问控制
使用 AWS IAM (身份和访问管理) 和 Amazon VPC(虚拟私有云)保护整个环境和 AWS 资源
可靠性和性能
AWS 以更低的成本提供高度可用、可扩展且安全的服务
全球扩展和覆盖范围
AWS 提供了广泛的全球产品。大多数情况下,所有无服务器服务在多个 AWS 区域中都可用
无服务器应用程序用例
网络应用程序
构建无服务器 Web 应用程序,这些应用程序可自动扩展和缩减,并在多个可用 AWS 区域中以高可用性配置运行,无需任何基础设施工作即可使用 Amazon S3、Amazon API Gateway、AWS Lambda 和 Amazon DynamoDB。
实时文件处理
在 Amazon S3 中上传数据后,S3 能够触发 AWS Lambda 即时处理数据。AWS Lambda 可用于生成缩略图图像、转码视频、索引文件、处理日志、验证内容、实时聚合和筛选数据。
实时流处理
可以通过 AWS Kinesis 和 AWS Lambda 在 AWS 中处理实时流数据。流数据源可以是应用程序活动跟踪、数据清理、日志筛选、索引、社交媒体分析、正在处理的事务以及 IoT 设备数据遥测和计量。
移动后端
构建后端以通过 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 服务器的完全访问权限。
访问文件系统级别 — 对于需要访问文件系统或操作系统级别的软件,无服务器架构不是最佳选择。这些类型的应用程序需要执行一些操作,例如从配置文件读取属性或将内存中的缓存拆分到磁盘,但无服务器函数不允许这样做。无服务器函数是无状态的,因此每当应用程序需要状态时,无服务器函数都不适合。
无服务器服务使应用程序更易于扩展和开发,而无需管理典型的基于服务器的基础结构。开发人员可以更多地关注核心产品,而不是操作服务器。因此,越来越多的组织更喜欢无服务器平台。
审核编辑:郭婷
全部0条评论
快来发表一下你的评论吧 !