【问题标题】:SaaS application architectureSaaS应用架构
【发布时间】:2016-08-24 09:30:20
【问题描述】:

谁能解释一下 SaaS 通常如何托管应用程序的多个实例?

例如 Gamepedia(一个根据需要创建不同 Wiki 的网站),他们是否启动了一个 docker 容器来运行 Mediawiki 的新实例(Gamepedia 运行的包),或者虚拟机场上的一个单独的虚拟目录等?

【问题讨论】:

    标签: saas


    【解决方案1】:

    大多数 SaaS 提供商都会遇到这个问题,即我们如何扩展他们的基础架构。有多种方法可以扩展您的 SaaS 托管架构。

    静态缩放:

    1. 由于 SaaS 适用于订阅,因此扩展规则可以根据订阅大小或内存消耗或 CPU 使用率或存储大小等参数(维度)设置上限。 例如, 如果用户群超过 10K 用户,我将部署另一个实例。这种容量调整有助于我们及时添加早期 SaaS 所需的资源。

    动态缩放:

    1. 利用 AWSAzure 等托管云,并将配置选项设置为自动缩放。 例如,如果您的数据存储大小超过 X GB,您可以配置向您的 elasticsearch 集群添加额外的节点。
    2. 根据您的用例,您可以考虑使用无状态架构,例如lambda
    3. 容器化(如 docker)是另一种启动资源的绝佳方式。您绝对可以将其插入swarmmesos 以自动管理资源。如果虚拟化增加了开销

    4. 有些应用需要垂直扩展(更大的存储空间或更大的处理器或更大的内存),而有些则需要水平扩展(添加更多实例)。由于成本效益,趋势正在支持横向扩展。了解扩展的性质有助于您将该方面构建到您的应用程序和部署架构中。

    5. 如果无法使用像 capistrano 这样的轻量级部署管理工具(警告:这是针对 RoR),您可以考虑使用像 chefpuppet 这样的平台

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-07
      • 2019-03-02
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      • 2018-10-20
      • 2012-05-28
      • 1970-01-01
      相关资源
      最近更新 更多