Tag: 多租户

PostgreSQL“数据库每客户”云服务的水平缩放

我正在寻找为应用程序层提供数千个PostgreSQL数据库的最佳方法。 每个数据库都用于特定的客户。 目标是: 1.在最less的硬件上提供尽可能多的数据库(降低成本) 2.支持横向扩展(所以随着更多的客户join,我可以添加更多的服务器)。 3.在服务器之间移动数据库以平衡设置。 4.能够根据资源消耗进行计费。 我的想法是: 1.在Docker中运行的专用PostgreSQL服务器中运行每个客户数据库 2.运行单个群集服务多个数据库并使用数据库缩放选项。 如果人们可以分享其他的select或任何经验与上述之一,我会感激。 换句话说,实现上述目标的最好方法是什么?

如何使用docker构build多租户应用程序

我对docker概念非常陌生,并且知道它的基本知识。 我只是想知道如何使用docker构build多租户应用程序。 哪里的容器将使用本地托pipe的数据库与不同的架构。与nginx我们可以做反向代理,但我们如何能够实现它? 因为每个容器都将被localhost:8080访问,我们如何添加上游和服务器部分。 如果有人向我解释,这将是非常有帮助的。

为什么Docker不支持多租户?

我在Docker上观看了这个YouTubevideo。在22:00,演讲者(Docker产品经理)说: “ 你可能认为”Docker不支持多租户“,而且你是对的! 但从来没有任何解释为什么实际给予。 所以我想知道他是什么意思? 为什么Docker不支持多租户? 如果你Google“Docker多租户”,你竟然一无所获!

集装箱作为服务的访问控制

如果我有一个容器作为服务平台,为不同租户的用户提供容器。 一个主机可以托pipe不同租户的容器。 我怎样才能允许通过HTTP访问,同时确保用户只能访问他的租户的容器? Kubernetes解决了吗? 有更轻量级的解决scheme吗?

从另一个容器,dockerpipe理容器

我需要能够部署一个新的容器或从另一个正在运行的Docker容器pipe理在CoreOS中运行的docker容器。 docker版本是1.5.0,coreos版本是647.2.0 现在我部署应用程序的一个新实例的过程是使用一个shell脚本。 它基本上做到: 将node.js应用程序的源代码复制到新文件夹 CD进入它 以分离模式部署一个新的docker容器,将'pwd'设置为-v到工作目录,然后应用程序运行 我在想,如果有可能从容器内部执行shell脚本,以便在coreos中部署一个新的容器,或者有任何替代方法。 另一个目标是能够停止正在运行的容器。 任何意见或build议将不胜感激。

使用Django和Postgresql的多租户平台的解决scheme

我正在用Django开发电子商务平台。 目前正在研究如何实施多租户“每个商家的多店”。 我遇到的方法使我陷入困境,因为解决scheme是不同的,每个方面都有其缺点和优点。 我发现多租户架构,容器和TenantID在所有表中的实现都适用于我的情况。 我唯一关心的是表演。 我知道容器方法(一个应用程序容器+多数据库容器)需要大量的处理能力。 怎么样的多租户模式与租户ID? 谢谢

多租户还是多实例?

我正在尝试构build一个基于Web的SaaS解决scheme,并且我走上了一条不确定使用多租户或多实例的道路。 我会试图描述我想要达到的目标,并且每种方法都有其优点和缺点(根据我的看法,我认为)。 请包括您的build议,以防万一我错过了任何一种方法。 正如我所提到的那样,我正在尝试构build的应用程序是一个SaaS解决scheme,在这个解决scheme中,公司可以创build他们的账户,而每个账户/公司都有自己的用户,客户,产品,服务等等。 每个用户; 谁是公司员工; 与一个帐户/公司相关的用户只能访问其公司客户,产品和服务。 公司可以拥有无​​限数量的客户,产品和服务,因此每个公司都应该拥有自己的数据中心。 为此,我决定创build一个共享数据库(保存用于login的所有用户凭据)和多个数据库共享模式(数据库每个帐户/公司)。 基本上, 多租户 。 然后有人build议使用多实例 ,而每个公司将有自己的应用程序实例(即代码,库,数据库,框架等)与其他公司完全分开。 这听起来更好,因为我不需要照顾额外的层,我需要确保每个租户的用户只能访问其公司的数据。 我认为我很高兴提到我依靠Docker来实现这个方法(我以前从来没有用过),但是我认为它将来还需要一些function(以后会详述)(至less我没有用一点searchfind他们)。 然而,每种方法都有利弊,所以我无法决定采用哪种方法。 这里列出了一个列表,但是由于我缺乏两者的知识,所以可能会有一些我不知道的东西,或者是一个我在网上找不到的问题的解决scheme:[每种方法都有一个有序的清单,我跟着一个一个的比较] 多租户 : 共享主机/硬件,共享代码和多个数据库。 扩展代码的function并修复错误(共享代码) 更容易 。 扩展硬件(可以使用云服务)比较困难 ,或者将个体租户的数据库移动到另一个系统,而无需更改代码。 最重要的是,正如我之前提到的,我需要为系统添加一个额外的层,以确保用户实际上属于他/她的公司,而不是访问其他公司的信息。 多实例 : 共享或非共享主机/硬件,每个实例的代码和每个实例的数据库。 很难扩展function或修复错误(我不确定在Docker中是否有一种方法可以将function/特性添加到一个实例或Docker容器中,并将其部署到其他)。 将整个实例移动到不同的主机/硬件更容易 。 作为实例,我不需要照顾那层,因为每个实例都有自己的数据库。 所有的优点和缺点是多余的,因为我想手动执行任何操作(为每个租户手动创build实例),这就是为什么我怀疑Docker解决scheme,除非有办法解决这个问题,这可能是主要的问题的原因。 如果您能够参考解决scheme回答问题,我将不胜感激,您为什么认为这种方法比其他方法更好? 如果这可能会有帮助(也许?),我们使用Laravel作为后端(所有RESTfully)的主要框架。

作为非root用户在Docker容器中运行不可信代码的潜在安全问题是什么?

到目前为止,我已经看到大量的墨水泄漏了,关于Docker如何没有被隔离到允许任意容器在多租户环境中运行,这是有道理的。 “如果它在Docker的根目录下,请考虑它在主机中的根目录。” 那么非root的呢? 如果我想取一些不可信的代码并在一个容器中运行它,只要容器以非root用户的非sudo用户身份运行,是否可以安全地执行它? 做这样的事情有什么潜在的安全隐患? 我相当确定今天有这样的生产应用程序(CI系统,可运行的pastebins),但他们只是幸运的没有一个确定的攻击者,或者这是一个生产系统的合理的事情?

Elasticsearch多租户SaaS或单实例和代理的Docker?

我正在尝试构build一个Elasticsearch即服务的原型。 我已经想到了两种不同的方法,我希望得到一个或另一个实现的意见 Elasticsearch的单一安装和顶层的一个代理层添加用户validation(http基本authentication+用户帐户来validation使用情况)。 这种方法是比较直接的,主要的挑战是正确configuration集群来处理负载以及权限,这样用户就不会有数据泄漏,从而无法访问集群pipe理API。 使用Docker作为容器,并为每个用户提供一个elasticsearch实例。 在这种情况下,我将通过使用Linux容器(Docker)提供隔离。 我仍然需要pipe理身份validation。 实现这两者可能会很好,玩耍,看看事情的行为。 任何有关每种方法的利弊的意见? 谢谢!