具有多个版本的应用程序:一个或多个实例
app with multiple versions: one or more instances
我想知道销售给多个客户的应用程序的最佳设计是什么(每个客户端应用程序之间的差异很小:一些 css,auth 方法)。
我认为我们的应用程序的多个实例(前端+后端+数据库),每个客户端一个是更好的设计,但我找不到在线资源。
多实例的优点:
- robust +++: 部署好像比较容易,我们可以一步步来
- 敏捷+++:易于为特定客户端部署
- gdpr 兼容 ++:数据库由客户端拆分,没有机会弄乱客户端数据(您会在下面找到来自 gdpr guideline 的引述)
缺点:
- 新版本发布后需要为所有客户端重新部署
我是不是漏掉了什么?
gdpr 准则:
Effectiveness is at the heart of the concept of data protection by design. The requirement to implement the principles in an effective manner means that controllers must be able to demonstrate that they have implemented dedicated measures to protect these principles, and that they have integrated specific safeguards that are necessary to secure the rights and freedoms of data subjects. It istherefore not enough to implement generic measures solely to document DPbDD-compliance; each implemented measure must have an actual effect. This observation has two consequences.
我认为这个问题主要会吸引自以为是的答案,如果不深入了解您的案例,就很难声称其中任何一个是适用的。但是,我想添加更多要点以考虑您选择的方法的缺点:
- 与一个多租户数据库相比,维护多个数据库的开销更大(想想 RAM、磁盘、CPU、单独的缓存等)
- 部署过程变得更加复杂 - 它需要对同一个包进行多次部署才能修复 bugs/add 通用功能
- 如果您发现需要尽快为所有人修补的严重错误,上述内容可能会变得特别痛苦
- 假设一些客户将比其他客户更频繁地使用该应用程序,那么预测和平衡您的应用程序和数据库服务器之间的负载会变得更加困难(您要么过度配置全部,要么冒着错过特别热门的用户高峰的风险)
这个software engineering SE thread表达的好点比较多。
我想知道销售给多个客户的应用程序的最佳设计是什么(每个客户端应用程序之间的差异很小:一些 css,auth 方法)。
我认为我们的应用程序的多个实例(前端+后端+数据库),每个客户端一个是更好的设计,但我找不到在线资源。
多实例的优点:
- robust +++: 部署好像比较容易,我们可以一步步来
- 敏捷+++:易于为特定客户端部署
- gdpr 兼容 ++:数据库由客户端拆分,没有机会弄乱客户端数据(您会在下面找到来自 gdpr guideline 的引述)
缺点:
- 新版本发布后需要为所有客户端重新部署
我是不是漏掉了什么?
gdpr 准则:
Effectiveness is at the heart of the concept of data protection by design. The requirement to implement the principles in an effective manner means that controllers must be able to demonstrate that they have implemented dedicated measures to protect these principles, and that they have integrated specific safeguards that are necessary to secure the rights and freedoms of data subjects. It istherefore not enough to implement generic measures solely to document DPbDD-compliance; each implemented measure must have an actual effect. This observation has two consequences.
我认为这个问题主要会吸引自以为是的答案,如果不深入了解您的案例,就很难声称其中任何一个是适用的。但是,我想添加更多要点以考虑您选择的方法的缺点:
- 与一个多租户数据库相比,维护多个数据库的开销更大(想想 RAM、磁盘、CPU、单独的缓存等)
- 部署过程变得更加复杂 - 它需要对同一个包进行多次部署才能修复 bugs/add 通用功能
- 如果您发现需要尽快为所有人修补的严重错误,上述内容可能会变得特别痛苦
- 假设一些客户将比其他客户更频繁地使用该应用程序,那么预测和平衡您的应用程序和数据库服务器之间的负载会变得更加困难(您要么过度配置全部,要么冒着错过特别热门的用户高峰的风险)
这个software engineering SE thread表达的好点比较多。