托pipe多个Python或Djangonetworking应用程序 – 在服务器上需要build议strucutre / architechture

我们有很多networking应用程序/网站。 有些相当复杂,但其中很多是简单的网站。 目前我们使用nginxuwsgi在单个专用服务器上托pipe10个站点。 虽然这是非常符合成本效益和维护费用less(因为我们需要每10个站点维护1台服务器),但它有一些我不喜欢的问题包括:

  1. 升级 – 说如果我想升级Postgres我需要担心10个网站,以及他们的configuration。 这使任何依赖性升级以及操作系统升级非常危险和复杂。
  2. Python 3 – 我需要升级一个项目到Python 3.虽然virtualenv可能允许我升级而不影响系统的其余部分,但我不确定非python依赖关系。
  3. 操作系统问题 – 有时会出现奇怪的操作系统问题。 如果说有一个网站正在运行,我可以使用负载平衡器将stream量路由到单独的服务器,并在此处修复问题。 现在有10个站点,这也耗费时间。

所以我正在考虑如何解决这些问题。 我正在考虑的几个选项。

  1. AWS – 在不同的实例上运行复杂的应用程序,使用RDS作为数据库。 通过这种方式,我们也可以单独扩展(或扩展)应用程序,而无需担心其他应用程序。 简单的网站可以托pipe在EC2或任何其他服务器上,因为它们很简单,不需要定期更新。

  2. 使用Docker在当前专用服务器中托pipe这些应用程序/站点以避免上述问题。 我是docker工人,因此我不能完全确定是否能解决上述问题。

AWS和Docker托pipePythonnetworking应用的经验是什么? 你如何主办大量的应用程序/网站(我相信机构和自由职业者的典型案例)?

AWS在这种情况下是正确的答案!

如果您认为这些实例将在同一时间更新,则可以为同一实例上的简单网站/应用启动一个小EC2实例。

而且每个更复杂的网站/应用程序需要单独维护/更新的更大实例。