I have never touched cloud based services before. Could you conceivably use cluster in the same manner as you would a dedicated? For example, a separate db server and still have good performance? I would use LiquidWeb/Storm as an example.
The reason I ask is a friend is starting a social networking site and a cloud make sense to start out with since we have no idea how quickly it would take off and expand.
As far as I understand.
With a cloud solution ( Like the EC2 cloud )
You could have one instance and that would do.
You coudl expand it as and when you needed, More CPU more RAM etc..
EVEN move it around the globe following the sun to keep your server nearer users who are up and using the site the most.
If you're going to use LiquidWeb/Storm as an example, you might as well think of them as a standard VPS. Of course, moving your DB off your frontend server would likely improve things as long as the interconnect between them is fast. If you have to bridge out across availability zones or data centers, then you'll suffer a penalty. That's one thing to keep an eye on for multi-DC cloud providers.
As your needs grow, you'll still have to contend with setting up the SQL servers properly in their own cluster arrangement for read/writes. A cloud really doesn't make a difference here.
Its still not something you can spool up on a whim or even CONSIDER moving it around the globe following the sun.
Why cloud? Your advantage will be the dynamic number of front-ends you can spool up behind your load balancers. On both ends of that pool, they're relatively fixed resources.
You can use cloud EXACTLY for what you describe, and we do it for many of the larger customers we host.
Applogic is great for this as a cloud platform because it allows you set these different virtual servers up as a grouped "application" and specifically run all of them on any of the physical servers in your cluster or split them up, you chose.
But, previous tu buy two or three servers to create a cluster, try with a only 1 server, but hosted in a SSD disk. SSD server will provide you better performance comparing with a cluster with SATA disks.
If you are interested, I'm able to create for you a vps server hosted in a SSD disks, and try the SQL performance... Contact me if you want.
In general, it is a clustering of multiple servers together with the goal of offering:
1) High Availability - if one server goes down, there is little to no down time for the customers on that server because their data is replicated on another machine and the "spare" machine in the cloud picks up where the dead machine left off.
2) FailOver - This is related to HA, meaning that the process of the spare server, or node as they are often called, picks up automatically without user or administrator intervention.
Beyond those two KEY components, you will see a lot of arguing as to what constitutes cloud. Some people stop the definition of just having a VPS (Virtual Private Server) running on the above setup. Others say that you need fully distributed applications (i.e. groups of multiple VPS's that are interconnected) that are designed in a way to prevent the end user (customer of the customer) from noticing if there were ever a hardware failure.
Many companies provide the underlying Platform for cloud, and all have their own different feature-set.
Among them are:
CA 3Tera AppLogic
As you can tell, our preference has been for CA 3Tera AppLogic. We consider it to be years ahead of the other platforms because it allows for a VERY VERY rapid deployment by even end users of the technology (see the above video in one of my previous posts for insight into the GUI).
Quite literally, we were at Cloud Computing Expo 2010 watching VMWare demo their Cloud solutions and their roadmap, when most of the stuff they were talking about was 2-3 years out. They were invited over to the CA 3Tera booth and looked at AppLogic and you could see this sinking feeling on their faces. All of the features they were touting as new and up-coming for the next 2-3 years had already been implemented.
█ Brent Presley - [email protected]
█ Innovative Scaling Technologies Inc. - Enterprise Cloud Hosting and Support
█ 24/7 Dedicated Support, Call us @ 1-888-722-8515
█ www.innoscale.net - Ashburn - Dallas - Seattle - Santa Clara - Chicago - Amsterdam