在切实可行的情况下,尽可能采用云原生托管服务 - AWS Prescriptive Guidance

在切实可行的情况下,尽可能采用云原生托管服务

当您最初考虑如何利用云服务时,使用团队熟悉的基础设施服务和开发工具似乎是最佳前进路径。但是,选择云原生托管服务,尤其是无服务器选项,可以显著降低成本、工作量和复杂性。

云原生托管服务消除了许多无差异化 IT 任务,这些任务需要员工付出时间和精力,使其无法更好地专注于以任务为中心的活动。此外,随着提供商提升其服务能力,您的解决方案会自然继承效率、安全性、韧性、性能和其他特征方面的渐进改进。例如,完全托管的数据库服务是一个功能丰富的关系数据库管理系统,但您不必预调配和管理运行数据库的底层服务器和操作系统。这样可以省去您在自己的数据中心或在云中预调配的自托管虚拟服务器上维护关系数据库时通常需要执行的管理任务。下图展示了这种差异。

自托管和完全托管数据库服务的责任比较

将任何云原生托管服务与类似的自托管方法进行比较时,取消基础设施管理的优势便显而易见。因此,每当您需要部署将在其上运行已购买或自定义开发应用程序的组件时,都应使用云原生托管服务,以减少所需的时间和精力。

当您的团队负责在云构建、部署或管理解决方案时,请使用云原生托管服务,以充分利用云提供商的差异化功能和创新。该策略使您能够选择、集成和部署云服务,从而减少这些项目所需的时间和精力,同时提高其韧性和安全性。要成功制定云策略,请在将自定义解决方案迁移到云、在云开发新解决方案或在云部署许可软件时考虑采用这些云原生构建数据块。在评估云原生托管服务的选项时,请考虑以下关键问题。

  • 您是否需要将更多员工时间和精力集中投入到教育使命的核心功能上?

    管理服务器(即使是虚拟服务器)也需要时间和精力,以确保其与系统软件升级和补丁保持同步。使用为您处理这些任务的托管服务,可以让 IT 员工将时间用于更直接符合机构使命的活动。例如,如果您需要部署容器,可以考虑使用 AWS Fargate 等无服务器托管服务,这样就无需配置和维护服务器了。通过消除采购、预调配和管理底层基础设施的需求,您可以专注于提供新功能、优化性能和改善用户体验。在根据自托管选项评估托管服务时,请考虑这一优势。

  • 您的团队需要完成哪些工作才能采用云原生托管服务?

    使用云原生托管服务设计和实施解决方案可能会存在学习曲线,但是这些投入将通过在解决方案的生命周期内降低成本、缩短时间和减少复杂性获得回报。由于云计算具有按需、按实际使用量付费的性质,因此云原生服务使您能够以更敏捷的方式快速迭代和实验,同时避免前期投资。这将增加创新,并缩短项目周期。但是,要有效实现这些优势,请考虑采用和使用该服务必要的条件,例如对员工进行有关最佳使用模式的培训,以及进行代码重构以适应服务特定的 API。即使该服务使用行业标准或开源 API,您也可能需要重构或配置应用程序才能处理功能差异或版本不匹配问题。

  • 您目前如何部署和管理基础设施? 是否需要保持该控制水平?

    在云托管和管理基础设施的方式多种多样,包括使用裸机主机、虚拟机、托管容器服务和无服务器产品。即使您目前在本地环境中使用虚拟机或容器等类似的基础设施,也要考虑是否有其他方法适合某些工作负载。例如,与其在虚拟机上运行所有应用程序,不如考虑容器化应用程序,并利用 Amazon Elastic Container Service(Amazon ECS)等托管容器服务。这可能需要重构,但您可以使用 AWS App2Container 等工具来简化和协助容器化。更进一步,与其为所有组件部署服务器或容器,不如考虑完全无服务器的选项。无服务器技术提供自动扩展、内置高可用性并采用即用即付计费模式,可提高灵活性并优化成本。同时,其无需管理服务器和规划容量。AWS Lambda 等无服务器计算服务是无服务器架构的核心。Lambda 支持常见的编程语言,允许开发人员专注于应用程序代码,而不是管理基础设施。探索每种工作负载的这些选项,并考虑学习曲线、管理开销、成本和许可等因素。

  • 是否必须为任何许可软件部署和管理基础设施?

    部署和管理独立软件供应商(ISV)的许可软件时,使用云基础设施来模仿本地部署似乎是合乎逻辑的。例如,您可考虑将本地虚拟机替换为云托管的虚拟机。尽管这是一个可行的选择,但请考虑是否可以将架构的任何组件替换为云原生托管服务。例如,您可以将自托管数据库服务器替换为完全托管的数据库服务,从而在运行相同的数据库引擎时减轻管理负担。许多 ISV 已经在使用利用托管服务的云架构,甚至可能提供预构建的模板来简化部署。您应该尽可能优先选择为云部署提供规范指引和支持的 ISV。在将许可软件部署到云之前,请务必咨询您的 ISV,以了解云环境许可与本地许可有何不同。

  • 您是否担心使用托管服务可能会导致供应商锁定?

    许多云原生托管服务都是为支持常见的行业标准和 API 而构建的。例如,AWS GlueAmazon EMR 等分析服务基于 Apache Spark 和 Apache Parquet 等行业标准处理和存储框架构建。AWS Lambda 原生支持 Java、Go、Microsoft PowerShell、Node.js、C#、Python 和 Ruby 代码。Amazon Relational Database Service(Amazon RDS)支持多种版本的常用数据库引擎,包括 SQL Server、Oracle、PostgreSQL 和 MySQL。当服务具有专有 API 时,可以使用原生或合作伙伴解决方案,通过通用、与云无关的协议与 API 进行交互。例如,Amazon Simple Storage Service(Amazon S3)拥有直接集成的服务特定 API,但您也可以在使用 AWS Storage Gateway 时通过网络文件系统(NFS)、服务器消息块(SMB)和互联网小型计算机系统接口(iSCSI)等标准存储协议与其交互。您仍应专注于选择最符合自身需求的云原生托管服务,同时最大限度地降低运营开销,但您可能更愿意使用或提供通用行业标准和协议的服务。