云架构图
最近我看到很多关于云架构图的讨论,大家都在问如何创建云架构图、使用哪些工具以及从哪里获取图标集。我在网上看到的很多云架构图示例都比较通用,看起来都像这样。
这张图显示了正在使用的多个 AWS 服务,包括 Route 53、Elastic Load Balancer、EC2(启用自动扩展)和 RDS 上的 MySQL。它看起来不错,色彩丰富,并且使用了 AWS 图标集中的相应图标。作为初步尝试,它还算可以,因为它有助于突出显示正在使用的 AWS 服务。但这同时也是最大的问题——它只是一张“基础设施图”,只展示了部分信息。了解正在使用哪些 AWS 服务固然重要,但我更想知道你们是如何使用这些服务的。
部署图
大多数软件开发团队最好创建“部署图”,它展示了可部署对象(例如应用程序和数据存储)与基础设施环境中现有对象的映射关系。UML 提供了部署图,可以展示可部署工件到设备节点和执行环境的映射关系。C4 模型也提供了部署图,它展示了 C4 模型容器(同样是应用程序和数据存储)到基础设施环境中现有对象(我称之为“部署节点”)的映射关系。以下是一个示例。
此图再次展示了正在使用的 AWS 服务,并通过包含 Web 应用程序和数据库,展示了它们的用途。当然,您可以根据需要添加更多细节,例如 VPC、VLAN、防火墙、IP 地址、实例数量、扩展限制等。值得注意的是,同样的建议也适用于绘制 Docker 和 Kubernetes 环境图——记得要显示您自己的应用程序和数据存储。
概括
网上很多云架构图示例都是很好的起点,但它们只展现了部分情况。为了更全面地了解云架构,建议优先使用部署图而非基础设施图。

