云数据库或身份验证服务是否被视为外部因素? (C4型号)

Is a cloud database or authentication services considered an outside factor? (C4 Model)

这是我的问题:我正在尝试为我的个人项目创建一个 C4 Model,这让我开始思考 MongoDB Atlas 等云数据库或 Auth0 等身份验证服务是否被视为外部因素?我举了个例子:

容器内

容器外(外部因素)

我是否正确地假设这些系统(如云数据库)是我的系统与之交互的外部因素?我没有部署数据库,我正在使用他们的系统,对吗? Auth0 之类的也一样。所以我应该像作者一样把它们放在外面......或者不?

来自 c4model.com 常见问题解答...

Should data storage services be shown as software systems or containers?

A frequently asked question is whether services like Amazon S3, Amazon RDS, Azure SQL Database, content delivery networks, etc should be shown as software systems or containers. After all, these are external services that most of us don’t own or run ourselves.

If you’re building a software system that is using Amazon S3 for storing data, it’s true that you don’t run S3 yourself, but you do have ownership and responsibility for the buckets you are using. Similarly with Amazon RDS, you have (more or less) complete control over any database schemas that you create. For this reason, treat them as containers because they are an integral part of your software architecture, although they are hosted elsewhere.

因此,对于 Atlas,我会将其建模为软件系统中的容器。 Auth0 我通常会建模为外部软件系统。