

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 简化操作
<a name="simplyfing-operations"></a>

 为了进一步简化运行、维护和监控微服务所需的运营工作，我们可以使用完全无服务器的架构。

## 部署基于 Lambda 的应用程序
<a name="deploying-lambda-based-applications"></a>

 您可以通过上传`zip`文件存档来部署 Lambda 代码，也可以使用有效的 Amazon ECR 映像 URI 通过控制台用户界面创建和上传容器映像。但是，当 Lambda 函数变得复杂（这意味着它具有层、依赖关系和权限）时，通过用户界面上传可能会因为代码更改而变得笨拙。

 使用AWS CloudFormation 和 AWS Serverless Application Model ([AWS SAM](https://github.com/awslabs/serverless-application-model)) AWS Cloud Development Kit (AWS CDK)、或 Terraform 可以简化定义无服务器应用程序的过程。 AWS SAM 原生支持 CloudFormation，它提供了一种用于指定无服务器资源的简化语法。AWS Lambda 层可帮助管理多个 Lambda 函数之间的共享库，最大限度地减少函数占用空间，集中租户感知库并改善开发者体验。Lambda f SnapStart or Java 增强了延迟敏感型应用程序的启动性能。

 要进行部署，请在 CloudFormation 模板中指定资源和权限策略，打包部署对象，然后部署模板。SAM Local 是一种 AWS CLI 工具，允许在上传到 Lambda 之前对无服务器应用程序进行本地开发、测试和分析。

 与 AWS Cloud9 IDE、、等工具集成 AWS CodeBuild AWS CodeDeploy， AWS CodePipeline 简化了基于 SAM 的应用程序的创作、测试、调试和部署。

 下图显示了使用 CloudFormation 和 C AWS I/CD 工具部署 AWS Serverless Application Model 资源。

![显示的示意图 AWS Serverless Application Model (AWS SAM)](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/microservices-on-aws/images/aws-sam.png)


## 抽象多租户的复杂性
<a name="abstracting-multi-tenancy-complexities"></a>

 在像 SaaS 平台这样的多租户环境中，简化与多租户相关的复杂性，让开发人员腾出时间专注于功能和功能开发至关重要。这可以通过诸如L [AWS Lambda ay](https://docs.aws.amazon.com/lambda/latest/dg/chapter-layers.html) ers之类的工具来实现，这些工具提供了用于解决跨领域问题的共享库。 这种方法背后的基本原理是，如果使用得当，共享库和工具可以有效地管理租户上下文。  

 但是，由于它们可能带来的复杂性和风险，它们不应扩展到封装业务逻辑。共享库的一个基本问题是更新的复杂性增加，与标准代码复制相比，更新更难管理。因此，在寻求最有效的抽象时，必须在使用共享库和重复之间取得平衡。

## API 管理
<a name="api-management"></a>

 管理 APIs 可能很耗时，尤其是在考虑多个版本、开发周期的各个阶段、授权以及其他功能（例如限制和缓存）时。除了 [API Gatew](https://aws.amazon.com/api-gateway/) ay 之外，一些客户还使用 ALB（应用程序负载均衡器）或 NLB（网络负载均衡器）进行 API 管理。Amazon API Gateway 有助于降低创建和维护的操作复杂性 RESTful APIs。它允许您以 APIs 编程方式创建，充当访问后端服务、授权和访问控制、速率限制、缓存、监控和流量管理中的数据、业务逻辑或功能的 “前门”，并且 APIs 无需管理服务器即可运行。

 图 3 说明了 API Gateway 如何处理 API 调用以及如何与其他组件交互。来自移动设备、网站或其他后端服务的请求会被路由到最近的接入 CloudFront 点 (PoP)，以减少延迟并提供最佳的用户体验。

![显示了 API Gateway 调用流程的示意图](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/microservices-on-aws/images/api-gateway-call-flow.png)
