(我找不到类似的问题,但已经回答了,但由于我是法国学生,所以也许我不使用好话;))
我要寻找的最接近的答案是:可扩展Web应用程序硬件拓扑最佳实践,但不能解决所有问题
我建立了一个小型私有云(Openstack),我可以在其中运行KVM VM,大多数情况下是为我的数十个网站以及某些客户端运行每个域/网站一个VM。
我计划测试是否可以演变为“混合云”,使某些事物在我的云中运行,而另一些事物在EC2上运行,因此我想确定我的“做事方式”是否最适合我的使用。
这些VM运行CoreOS,然后运行不同的Docker服务(一个用于Nginx的容器,一个用于pgsql的容器,等等)。如果一项服务在某些方面太“短”了,那么我要么创建一个更大的VM,将旧的VM复制到更大的VM并删除旧的VM,要么我为需要的服务创建一个专用的VM(例如,第二个专用于Nginx的VM,以处理更多连接。
但是,我想知道自己是否做错了事。
我之所以选择使用此“模型”,是因为我希望在不同的域/客户端之间建立强烈的隔离,因为我想回想起过去并逐渐习惯Docker,并且因为我发现Docker是最有效的方法之一快速部署服务。
我是否应该只使用每个服务具有一个VM(而不是每个域一个VM)的VM(因此没有容器)?
还是应该只使用容器来分隔不同的服务,然后在节点中将所有服务混合在一起运行?就像数十个容器,它们分别提供不同的服务和不同的客户?然后,如何有效隔离不同的域/客户端?然后如何扩展这些服务?仅添加更多节点?
还是我应该创建一个由大型VM或裸机组成的集群,然后使用它们来创建一个大型CoreOS集群,该集群应该能够通过向其添加更多裸机节点来进行扩展?然后适用于容器的相同问题。
抱歉,如果我的问题看起来太愚蠢,新手或不合适,但我宁愿现在问,而不是什么时候退后一步;)
任何建议欢迎:)
ÿ