SaaS应用程序架构

时间:2016-08-24 09:30:21

标签: saas

任何人都可以了解SaaS通常如何托管应用程序的多个实例?

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

1 个答案:

答案 0 :(得分:0)

大多数SaaS提供商都会遇到关于如何扩展其基础架构的问题。有多种方法可以扩展您的SaaS托管架构。

静态缩放:

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

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

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

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