云管理中使用多少个数据库实例?何时切换到容器服务

88次阅读
没有评论

问题描述

想了解关于云管理的一些见解。他想知道以下主题的一些通用信息和资源:
1. 何时使用容器服务,如Fargate、ACI、App Service?如果项目规模不够大,从更传统的方法(使用在VM实例中运行的docker-compose)迁移到容器服务是否值得?
2. 托管的数据库 – 用户理解它们的优势并且是一个忠实的粉丝。但是它们很昂贵。应该部署多少个实例?假设用户有5个独立的项目,每个项目都有dev/staging/prod环境。用户应该运行15个数据库服务器(实例)吗?还是可以从一个数据库实例中为dev/staging环境提供服务,并保持prod环境分开?重要的是,这里指的是数据库服务器实例,而不是数据库。

用户已经尝试在网上找到一些信息,但大多数文档都没有提供太多细节。用户希望能够获得关于如何运行这种类型基础架构的更多见解。请注意,这些项目规模不大,数据库的大小为1-2GB(dev/staging数据库要小得多)。您会选择哪种方法?为什么?

解决方案

请注意以下操作注意版本差异及修改前做好备份。

何时使用容器服务

对于何时使用容器服务,需要根据项目的规模和需求进行评估。以下是一些考虑因素:
– 项目规模:如果项目规模较小,传统的方法可能已经足够满足需求。使用VM实例和docker-compose可以提供更灵活的控制和定制化。
– 管理成本:容器服务提供了更高级别的管理和自动化,但相应地也会增加成本。如果项目的规模不大,使用容器服务可能会增加不必要的开销。
– 部署和维护:使用容器服务可以简化部署和维护过程,但也需要学习和适应新的工具和平台。

综上所述,当项目规模较小且传统方法已经满足需求时,迁移到容器服务可能不是必要的。但如果项目规模较大或需要更高级别的管理和自动化,则可以考虑使用容器服务。

托管的数据库实例数量

对于托管的数据库实例数量,需要根据项目的需求和资源限制进行评估。以下是一些建议:
– 单个数据库实例:对于每个环境(dev/staging/prod),可以考虑使用单个数据库实例。这样可以减少成本和管理复杂性。
– 逻辑数据库:每个微服务应该有自己的逻辑数据库,通常是实例中的一个schema或逻辑数据库。这样可以隔离不同的微服务,并提供更好的可维护性和扩展性。
– 数据库用户:每个微服务应该有自己的专用数据库用户。这样可以限制对数据库的访问权限,并提高安全性。

综上所述,对于每个环境,可以考虑使用单个数据库实例,并为每个微服务提供独立的逻辑数据库和数据库用户。

请注意,以上建议是一般性的指导,具体的决策应根据项目的需求和资源限制进行评估。

正文完