“Cloud Hosting” is possibly one of the most used, but yet also most misunderstood terms in current use across the Internet.
Cloud means many things to many people, yet has the ability to generate images of limitless potential & strictly imposed limitations – all at the same time.
Among those who have not really used cloud based services in anger for anything substantial, there seems to be a common set of misconceptions that you can’t run “proper” line-of-business applications in the cloud. A phrase that gets bounced around far too often only serves to reinforce this – “cloud – isn’t it just for all that web stuff ?”.
Justification for this comment seems to always run along the lines of not being able to provision large storage capacities, not being able to scale up/down to meet demand, inflexibility in terms of network configuration or performance, or most amusingly, not being able to quickly add new servers when you need them.
In the world of “cloud”, some of these misconceptions are true if you use one of the multitude of vendors offering “cloud web hosting” or “cloud” virtual servers, as 9 times out of 10 purchasing a “virtual private server” (VPS) to host a website tends to buy you a fixed amount of resources provisioned on a chunk of hardware residing in someone’s datacentre. If you’re lucky, the hosting company is doing a decent job and supports their VPS host servers with reliable primary storage provisioned from high performance SANs with plenty of underlying disks. If you’re not so lucky, you’ll soon find a world of limits and poor performance which only comes clear when you discover that the hosting outfit is running a collection of individual VPS host servers, running as many individual VPSs as they can cram onto a machine from a pair of (hopefully mirrored) disks resident in the host hardware. Between these two extremes lie a multitude of other options & models, some of which are better than others.
To get a feel for the market as a whole a great place to start is the Cloud forums over at WebHostingTalk. Virtual Private Servers / VPSs are also discussed at length on WHT with many reviews & comparisons posted from those who have experienced good or indeed not so good service from their chosen host.
Scenarios such as the above tend to form the initial view of “cloud” for many people, as unfortunately the majority of low-end / budget VPS / Cloud web hosts tend to fall somewhere towards the lower end of the quality vs price range; offering a thin slice of a server’s resource for a few £ per month or year.
While under some situations these budget VPSs can provide more than enough resource to run a personal website, as soon as you start needing better performance or more disk space etc you tend to quickly reach its limits and inevitably subsequently start shopping around for a new host. At this point, the difference between budget & high-end services tends to quickly become clear as higher end services can nearly always offer you the option of increasing your allocated CPU, memory or disk resources; giving you a larger slice of the underlying host in exchange for more cash.
At the other extreme, services like Amazon’s Elastic Compute Cloud (EC2), GoGrid or Rackspace Cloud offer a different type of solution; providing you with an Infrastructure as a Service (IaaS) environment, allowing you to build out any combination of server resources to meet your exact needs. While several other (IaaS style) cloud hosts provide a similar capablity, Amazon takes it one step further by separating storage resources away from server instances, meaning that you can easily scale storage for your servers up (and down) when you need it; rather than being tied into renting a server with xGb month on month.
Want to run a large Oracle database server with 30Gb ram & 12TB storage? Not a problem. Want to run a little personal webserver with 1 CPU core & 613Mb ? No issue; Might even be free if you qualify for Amazon’s free usage tier in your first year. Need 2 of those Oracle servers & 20 4-core 16Gb applications servers? Go launch them – and for many enterprises, more importantly launching them doesn’t need any capital expenditure or come with lengthy lead times to procure machines, scale storage infrastructure etc.
For many companies, Amazon Web Services (AWS) provides them with somewhere to experiment; trying out new software or services in a self-contained environment which is completely separate to their business-critical production systems.
A new breed of business is emerging however who take a different view.
Rather than being a plaything or testing platform, AWS is their production platform. They run little or no on-site traditional server/application hosting infrastructure of their own instead using AWS to run everything from web hosting to HR/Payroll systems.
Many Internet-scale organisations for example rely on AWS for their mission-critical operations, running a minimum of supporting infrastructure on-site and virtually everything else in the cloud from Internet-scale file storage through to database environments, application & web severs and edge-caching harnessing technologies such as Varnish.
Clearly between the two extremes there are a multitude of other options – running a mixture of cloud & on-site service, or perhaps looking at cloud as the ultimate disaster recovery environment.
It’s the subject of a future post, but cloud is also an ideal environment for disaster recovery.
If your organisation does not wish to or cannot justify the expenditure of establishing a traditional DR environent in an alternative data centre, prior to the advent of IaaS environments DR would have been firmly off the agenda.
All in, if you’ve not yet explored what cloud could do for your business one thought to keep in mind is that your competitors probably have….