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