【问题标题】:Is a cloud database or authentication services considered an outside factor? (C4 Model)云数据库或身份验证服务是否被视为外部因素? (C4 型号)
【发布时间】:2021-05-29 21:04:35
【问题描述】:
这是我的问题:我正在尝试为我的个人项目创建一个C4 Model,这让我开始思考,MongoDB Atlas 等云数据库或 Auth0 等身份验证服务是否被视为外部因素?我举了个例子:
容器内
容器外(外部因素)
我是否正确假设这些系统(如云数据库)是我的系统与之交互的外部因素?我没有部署数据库,我使用的是他们的系统,对吗? Auth0 和其他东西也是如此。所以我应该把它们放在外面,就像作者一样……或者不?
【问题讨论】:
标签:
database
authentication
documentation
diagram
【解决方案1】:
来自 c4model.com 常见问题解答...
数据存储服务应该显示为软件系统还是容器?
一个常见问题是,Amazon S3、Amazon RDS、Azure SQL 数据库、内容交付网络等服务是否应显示为软件系统或容器。毕竟,这些是我们大多数人不拥有或自己运行的外部服务。
如果您正在构建一个使用 Amazon S3 来存储数据的软件系统,那么您确实不会自己运行 S3,但您确实对所使用的存储桶拥有所有权和责任。与 Amazon RDS 类似,您可以(或多或少)完全控制您创建的任何数据库架构。出于这个原因,将它们视为容器,因为它们是您的软件架构不可分割的一部分,尽管它们托管在其他地方。
因此,对于 Atlas,我会将其建模为您的软件系统中的一个容器。 Auth0 我通常会建模为外部软件系统。