Cluster environments are well utilized unlike Grid environments. Grids, however, benefit from the fact that they are heterogeneous in nature. You may have nodes that are a few years old, and you may have nodes that are brand new. It is up to the resource manager, which we will discuss at a later article, to take advantage and find the best fit for a given request. The main point of Grid is to create a single system image (SSI) with the nodes that it has access to. From a client's perspective, they are accessing a single node; a single image which is all powerful. This makes the resource manager's job very challenging, and one of the main reasons that Grid nodes go underutilized for much of their life span.
This underutilization forces us to consider other possibilities such as VM's and shared infrastructures. If we are unable to fully utilize a node, why can't we only pay for the time that we use? This is the premises of Cloud: pay-per-use. In my previous article, (http://www.devx.com/webdev/Article/45486?trk=DXRSS_arch
) I talked about the real cost of Cloud, and that should be taken into consideration.
Cloud environments are usually very large and made out of bunch of VM's that are assigned to a given user on demand, and removed when the user is done using them. The main issue with Cloud is the inability to guarantee any sort of SLA as the public internet is used to access the cloud environment. With the advances in networking, that issue may soon be moot, but it does exist today and you must be aware of it.
If you are as confused now as you were when you started reading this article, that's good! There is no silver bullet; you may have or want a mix and match attributes to build your environment and that's OK. I gave an outline of a typical scenario. This industry is changing fast, and what I typical today is atypical tomorrow. Here are some guidelines:
* Network is king: take care of your network as your infrastructure will be as fast as your network.
* Build multiple environments: mix and match: You may need a Cluster for one portion of your job and the rest can be shipped off to a cloud somewhere.
* Take of security issues early on: don't be ready only to find out that the security team will not approve your cloud strategy.
Read my next article in which I will give you a developer perspective to these environments.
Keep on reading …