我是一名软件开发人员,有为小型应用程序设置托管环境的经验,并且每天的点击量不超过 5k 次。我刚刚构建了一个 SaaS 应用程序,我想知道如何设置和规划我的服务器配置,以便随着业务的扩展和发展。我想从一开始就做到这一点,所以我需要有关如何正确设置和托管 SaaS Web 应用程序的建议。
信息:
SaaS 网站应用程序将成为企业的主要网站,因此它需要处理此类流量。
每个站点都有单独且独立的数据库。(由于特定原因,所有站点没有使用同一个数据库)
我的想法:
- 可以在最大的 AWS 服务器上设置并在单个实例上托管数百个站点吗?如果是这样,我应该使用最大内存的服务器还是 CPU?我正在缓存大量数据,所以我倾向于考虑内存。
- 是否可以设置 Amazon AWS 较小的服务器并在整个堆栈中进行负载平衡?
- 我应该在实际的网络服务器上设置数据库还是应该在 RDS 上设置?
- 我还应该使用亚马逊吗?
感谢您的时间和帮助。
答案1
不。
最大的 AWS 服务器有点奇怪,奇怪又昂贵。
你想做什么(或者更确切地说,如果我处于你的位置我会做什么)......
将您的应用程序分解为服务,然后启动服务器来运行这些服务。
服务应该能够通过某种可扩展的通信总线与其他服务进行通信。HTTP 是一个不错的选择,RabbitMQ 也是一个替代方案。
然后,您可以从许多小型服务器(t1.micro 或 m2.small)开始,然后查看应用程序的性能。当您遇到瓶颈时,您将能够看到问题所在,因为您拥有更大的可视性,而不能只是说“嗯,它在这个巨大的、摇摆不定的时间流逝的东西中”
RDS 可能是一个明智的选择,至少一开始是这样。您可能会发现它的扩展性不佳,此时您可以重新考虑该决定并尝试其他方法。
亚马逊 Web 服务是一个很好的选择,可能拥有最好的社区和最浅的学习曲线。
你应该完全看一眼AWS OpsWorks用于管理您的服务器堆栈和环境。
噢,从一开始就做对这件事是不可能的。