云计算:学习自动扩展/缩减服务器
当谈到根据负载扩展和缩减设施的可能性时,我对云计算的强大功能印象深刻。
我如何改变我的范式并学习以这种方式编写我的应用程序?写一次然后忘记(无论未来的负载如何)将是最好的解决方案。
我如何练习该领域的技能? 当我可以通过一些智能算法将另一个虚拟机添加到私有云中(通过命令行?)来设置虚拟化环境以预测一段时间内的负载时?
理想情况下,我想在不购买实际的云计算服务的情况下仅在我的硬件上进行练习。
我在这里唯一想练习的是当当前工作人员队列中有太多作业时应用程序/网络角色和/或消息队列系统的扩展。因此,让我们从问题的目标中排除数据库扩展这个太大的主题。
I'm really impressed with the power of cloud computing when it comes to the possibility to scale up and down your facilities depending on your load.
How can I shift my paradigm and learn to write my applications in that way? Write it once and forget(no matter of the future load) would be the best solution.
How can I practice my skills in that area?
Setup virtualization environment when I can add another VMs into the private cloud(via command line?) on some smart algorithms to foresee the load for some period of time?
Ideally I want to practice it without buying actual Cloud computing services and just on my hardware.
The only thing I want to practice here is app/web role and/or message queue systems scaling when current workers have too many jobs in queue. So let's rule out database scaling from the question's goal as too big topic.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我要放弃的一种选择是使用本机云执行框架。您可以查看CloudIQ Platform。 CloudIQ 引擎是其中一个组件。它允许您使用 C/C++、Java 和 .NET 开发云原生应用程序。只需将工作人员添加到云中即可获得扩展功能。该框架会自动将您的应用程序分发到新计算机,安装后,将开始在收到请求时向它们发送工作。因此,实际上云会为您处理排队问题。
查看下载和社区链接以获取更多信息。
One option I will throw out is to use a native Cloud execution framework. You might look at CloudIQ Platform. One component is CloudIQ Engine. It allows you to develop cloud native apps in C/C++, Java and .NET. You get the capabilities of scale up by simply adding workers to your cloud. The framework automatically distributes your applications to the new machine(s), and once installed, will begin sending work to them as requests come in. So in effect the cloud handles your queueing issue for you.
Check out the Download and Community links for more information.
您应该尝试 AWS - Amazon 提供的免费套餐,为您提供存储、消息传递和微型实例(仅限 Linux)。您可以开始开发小型试用版,而无需付费。编写可扩展的应用程序并不难——尝试将流程分解为小的并发任务。客户端-服务器应用程序甚至更容易 - 使用负载平衡器根据需要启动/终止服务器。
You should try AWS- Amazon's offering a free tier that gives you storage, messaging and micro instances (only linux). you can start developing small try-outs without paying. writing an application that scales isn't that hard- try to break your flow into small, concurrent tasks. client-server applications are even easier- use a load balancer to raise\terminate servers by demand.