云计算在小地理区域部署中的优势
我的公司正在部署一个 SaaS 应用程序,该应用程序针对位于特定位置的特定消费者群。
总体而言,该应用程序的定义特征是:
- 用户基数小(与单个或几个关键行业相关 - 数千而不是数百万)
- 地理分布狭窄:仅在城市/省内使用
- 预期使用高峰时间
预计负载峰值有时,我会评估使用负载灵活的云提供商(例如 Amazon EC2)的可能性。然而,由于我只会在用户群相对较小的地区进行部署,所以我想知道云计算提供商是否能为我提供更好的性能和扩展性——而不是我自己的专用硬件(这一切都将在一个单一的硬件上进行)机架空间/位置)
所以本质上我是在问负载扩展灵活性是否比地理可及性更重要。
谢谢,
My company is deploying a SaaS application that is targeted to very specific consumer base, located in a very specific location.
Overall, the defining characteristics of the application are:
- Small user base (tied to a single or a few key indutries - thousands rather than millions)
- Narrow geographical spread: used within city/province only
- Expected peak times for usage
Anticipating significant spikes of load at certain times, I am evaluating the possibily of using a load-flexible cloud provider such as Amazon EC2. However, since I will only be deploying in my region with relatively small user base, I am wondering whether a cloud computing provider would get me better performance and scaling - as opposed to my own dedicated hardware (which is all going to be at a single rackspace/location)
So essentially I am asking if the load scaling flexibility is a more important factor than geographical accessibility.
Thanks,
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用自己的硬件的优点是您可以购买大型机器并对其进行自定义以完美地适应您的应用程序。缺点是您必须预先承担资本成本(或安排自己的租赁计划)、管理服务器并依赖单个数据中心的基础设施。
使用 EC2 等云产品的优势在于,如果您的应用程序可以在多台计算机上轻松扩展,那么您可以随着负载的增加轻松扩展它,并且可以将服务器分布在多个可用区域中。您还可以边使用边付费,这样您就可以将支出与收入相匹配。无需担心长期合同。缺点是您必须构建系统才能跨多个实例部署。使用云时,按计算资源计算的成本可能会更高,但您只需为使用的资源付费,并且永远不必担心从旧硬件上迁移(只要您重新启动 EC2)时有实例)。
请注意,用户群的大小并不重要 - 重要的是应用程序负载的扩展程度。例如,您可能会开发一个离线运行的天气模拟器(在云端......没有双关语 int^H^H^H ok,双关语)。天气模拟器只有一个用户,但您可以使用 1024 个 EC2 节点在合理的时间内完成模拟。在像这样的计算密集型应用程序中,云计算为您提供了另一个巨大的优势 - 您可以复用时间!换句话说,在给定 EC2 实例类型上需要 1024 个计算小时的问题可以在 1024 个实例上运行一小时。这使您可以快速获得结果,无需额外费用。要自己执行此操作,您最终需要构建自己的集群,然后使其在大部分时间保持空闲状态。
The advantage of using your own hardware is that you can buy big machines and customize them to suite your application perfectly. The disadvantage is that you must incur the capital cost up front (or arrange your own lease plan), administer the servers, and rely on the infrastructure at your single data center.
The advantages of using a cloud product like EC2 are that if your application can scale trivially across many machines, you can easily scale it up as load increases and you can distribute your servers across multiple availability zones. You also pay for what you use as you use it, so you can match up your expenses with your income. No long-term contracts to worry about. The disadvantage is that you have to build your system so that it can be deployed across many instances. Your costs on a per-compute-resources basis are probably going to be higher with the cloud, but you will only be paying for what you use, and never have to worry about migrating off of old hardware (as long as you relaunch your EC2 instances from time to time).
Note that the size of your user base doesn't really matter - what matters is how well the load of your application scales. For example, you might develop a weather simulator (in the cloud... no pun int^H^H^H ok, pun intended) that runs offline. The weather simulator has only one user, but you might use 1024 EC2 nodes to complete your simulation in a reasonable amount of time. In computationally intensive applications like this, cloud computing gives you another huge advantage - you can multiplex time! In other words, a problem that takes 1024 compute-hours on a given EC2 instance type could be run in one hour on 1024 instances. This allows you to get your results very quickly at no additional cost. To do this yourself, you'd end up building your own cluster and then keeping it idle most of the time.