

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

# 设计内部开发者平台架构
<a name="design-architecture"></a>

下图显示了内部开发者平台的核心组件。



![内部开发者平台的核心组件](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/internal-developer-platform/images/internal-developer-platform-core-components.png)


AWS 建议各组织采用[多账户策略](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/organizing-your-aws-environment.html)来隔离和管理其应用程序和数据。在构建内部开发者平台时，同样的原则也适用。在[共享服务](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/infrastructure-ou-and-accounts.html#shared-service-accounts)或可以访问组织其他账户 AWS 账户 的[工具](https://docs.aws.amazon.com/whitepapers/latest/organizing-your-aws-environment/deployments-ou.html)中部署内部开发者平台。这支持不同的开发团队在其环境中使用不同的 AWS 账户 方法。它还可以集中管理，并为内部开发人员平台管理的所有不同组件提供成本可见性。

内部开发者平台需要协调器来部署其不同的组件。你可以使用[亚马逊弹性容器服务 (Amazon ECS) 或亚马逊](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) [Elastic Kubernetes Service（亚马逊 EK](https://docs.aws.amazon.com/eks/latest/userguide/what-is-eks.html) S）。构建一个托管不同内部开发者平台服务的集群以启用其功能。该架构能够在为更多最终用户提供服务的同时扩展平台基础架构。本指南稍后将提供有关平台功能的更多信息，但总而言之，这些功能需要解决开发人员管理其工作负载所需的功能。示例包括：
+ 工作负载保护的安全性
+ 基础设施即代码，用于管理工作负载基础架构
+ 持续集成和持续部署 (CI/CD) 可自动测试和部署工作负载
+ 安全入口，提供对工作负载服务的访问权限
+ 租赁可隔离不同的团队和工作负载
+ 可观察性，用于处理工作负载及其基础设施的日志、指标、跟踪和警报

[Backstag](https://backstage.io/docs/overview/what-is-backstage) e是将所有这些功能连接在一起的开发者门户。这可以帮助开发人员在一个地方管理所有工作负载。它还可以集中成本，以便您可以查看工作负载使用的所有资源。

有关内部开发者平台的参考架构，请参阅以下内容：
+ [Cloud-native亚马逊 EKS 上的内部开发者平台架构](https://github.com/cnoe-io/reference-implementation-aws)
+ [Harmonix 打开 AWS](https://github.com/awslabs/harmonix)