“What is cloud computing and how does Hybrid Web Cluster fit in?”
The Infrastructure / Platform / Application model
The model you see represented to the left actually applies to any hosting environment, including those that were in common use before the advent of cloud computing.
In old terms – when we talk about infrastructure we’re talking about the physical servers that your application is hosted on – the CPUs, disks, network interfaces, hubs, routers, racks, power supply and air conditioning, as well as the actual physical space in which to put the servers, all of these things are considered to be infrastructure.
The platform is the software which runs on the infrastructure and provides an environment for your application to run inside of. In a traditional hosting environment the platform includes the server OS (Linux, FreeBSD, Windows etc.), it also includes various pieces of server software such as a web server (Apache or IIS), FTP server and perhaps a mail server. The platform will often also include a programming language like PHP or Python, in which the application is written. The platform may also include some management software and monitoring tools (perhaps in the form of a web control panel) – in the traditional hosting environment this is your web host’s control panel. Essentially the platform is the standard environment which your application will depend upon in order to run.
On top of the platform sits the application – now this could be any number of things, it could be your corporate website, it could be a WordPress blog, it could be your online shop, it could be your ERP or CRM system, or it could even be the next big Web 2.0 hit like Facebook or Twitter, it could be all of the above.
Notice how each layer provides a something for the layer above to rest upon – The infrastructure provides something for the platform to run on, the platform provides something for the application to run on, and the application ultimately provides a service for you or your customers – so you are effectively the top layer, or the person who eats the cake.
So what is Cloud Computing?
Cloud computing is a fundamental change at the infrastructure level – we’re moving away from a model where you would purchase or lease the servers yourself, rent a rack to put them in at a data centre and pay monthly subscription fees to an ISP for a connection to the internet. One of the major problems with the existing infrastructure model is that you have to have a significant amount of spare capacity available at all times to cope with sudden unexpected spikes in demand, this is wasted capacity while it’s not being used. Furthermore, even though you have that spare capacity, you will still occasionally need to provision new servers or decomission old ones as demand rises and falls, in order to maintain a fairly wide margin to cope with peaks in demand, but without having so much spare capacity that you’re needlessly wasting money.
At the core of cloud computing is a solution to this problem; This is achieved by having a large pool of computing resource available to you that you only pay for when you use. Using cutting edge virtualization technology you can effectively commission new servers within seconds, and decommission them just as quickly. This allows you to quickly respond to changing requirements – commissioning a new server to cope with a peak in demand no longer requires a lead-in time while you order the server and wait for it to be delivered.
However, you’re only able to take advantage of this instant scalability if you’re able seamlessly and quickly add new servers to your application. Using existing platforms this is not normally possible – you may be able to commission a server instantly, but you would still have to go through the laborious process of installing the platform and your application upon it, and slotting it into your existing group of servers (either as an additional database server, web server, or whatever your architecture required). In other words, in order to fully take advantage of this instant scalability at the infrastructure level, we need some additional software at the platform level to take care of the business of setting up new servers and sharing load over them in a way that scales to any number of servers – whether that means 2 servers, or 2,000 servers.
How does Hybrid Web Cluster fit in?
Hybrid Web Cluster is a software product that sits on top of the infrastructure level to allow your application to run on the cloud without requiring any changes at the application level. In other words, it’s a cloud computing platform. Our task is to allow you to take advantage of the move to cloud computing without having to rewrite your application or change the way you do development. In essence, we are providing the gooey chocolate goodness that sticks your application to the cloud (that’s why we like using the cake metaphor to describe the Infrastructure / Platform / Application model).
More specifically – Hybrid Web Cluster is a next-generation web cluster – a homogenous distributed system, resistant to failure and instantly scalable. What this really means is that our system will allow you to run your websites and web applications on the cloud, and be incredibly resilient whilst allowing you to scale from one hit a day up to a million hits a day and beyond. If you’d like to take advantage of these incredible redundancy and scalability benefits, contact us to discuss it further, or try a 48-hour no obligation free trial.