One of the key buzz terms you can’t possibly miss at the current time is ‘Cloud Computing’.
But – what really is ‘cloud‘? It’s been defined by many in the press as a ‘new era’ of computing – but this is almost ironic as it’s seems the perceived solution that most are talking of is much of a resurgence of way back when computing was predominantly mainframes located centrally in a datacenter style setup.
Either way – this new concept is very wide-ranging in its definition, depending on who you speak to or which company or offer you are reading about.
In its simplest form, cloud computing can be defined as “a service being hosted and delivered via the internet to the consumer”. There is clearly much more that can be built on top of this but the essence of it shouldn’t be confusing.
To understand more about the new concepts behind this latest incarnation of computing we need to look at how they help us deliver our solutions and services to consumers.
That’s where the definition of consuming anything ‘as a service’ comes in to play and, given this, you may well have heard of ‘SaaS’ of one of the most widely known ‘as a service’ concepts – ‘Software as a Service’. This is a specific definition for softwarebeing consumed over the internet.
To look in more detail at what we can do to build solutions which are based on these concepts, we need to break them down in to 3 core areas – which I’ll call pillars.
These pillars, which support the concept of cloud computing, are all independent and can support the concept individually. However, full cloud computing would necessitate all three pillars to be in place to some level.
infrastructure as a Service or IaaS.
This is a definition given to the software, hardware and fully managed environment in which a computing infrastructure is contained.
As an example, Hosting companies typically provide servers for customers to host services, websites, exchange, SQL etc upon.
This approach abstracts away from the physical servers and the principle becomes selling the utility of the infrastructure to the customer allowing them to focus entirely upon their service or product.
platform as a Service, PaaS.
Again, this definition is based on abstracting away from physical servers but also abstracting away from the platform – Operating Systems and other platform-oriented technologies like .NET or Java etc.
This would, for example, enable developers to deploy to the cloud and completely remove the considerations of resilience, reliability and scalability by abstracting away from the platform and the underlying physical infrastructure.
software as a Service, SaaS.
As mentioned earlier in the example of what the ‘as a Service’ concept is. It’s worth noting that the end game of the IaaS, PaaS and SaaS pillars is to provide an internet consumable service. As such, SaaS is often the end point for all of these concepts.
So – that all suggests that each pillar mentioned is a pre-requisite of the other and, we’ve already suggested that each pillar also individually supports the concept of ‘Cloud Computing’. So which is it? Do all have to be in place or is one fundamentally core?
Actually – that either all 3 pillars are can be present or just one.
A true end to end cloud computing solution would require abstraction at all layers to provide cloud-like functionality across the board. Equally, cloud-like functionality can be provided by just one of these pillars and that solution would equally be deemed ‘cloud computing’.
What’s clear, however, is that there are 3 key elements of the consumer experience. The cloud offerings IaaS, PaaS & SaaS are essentially the equivalent of physical server, operating system and the software product being consumed respectively.
For any deployed solution, each element does depend on some other process providing the other two and of key importance here is that it doesn’t necessarily have to be an ‘as a service’ / cloud computing process which does this.
leveraging the Microsoft Stack
The great thing about all of this is that it is possible to create the IaaS cloud computing layer out of the core Microsoft stack of products. Below are detailed the key softwares and licenses necessary to produce an IaaS/cloud environment:
- Virtualization technology enabling maximization of usage of physical server resources.
- Key enabler for other technologies in the stack.
- Windows Datacenter Edition per processor license
- Licensing model allows unlimited virtualization rights for anonymous operating system environments on a physical server.
- SMSE – System Center Management Suite Enterprise license
- A compilation of Microsoft licensing enabling management, protection and maintenance of server workloads – specifically targeted to aid virtualized scenarios
- Operations Manager – monitoring
- Configuration Manager -deployment and configuration
- Virtual Machine Manager – management of the virtual environment
- Data Protection Manager – data protection and backup
- Powerful extensible interface to all latest Microsoft applications allows custom code to be developed to automate systems.
UKFast and cloud computing
Leveraging these technologies to produce the next generation of Hosting Platform is one of the key aims of UKFast and there will be developments over the coming months – watch this space!
For more info on PowerShell, see James O’Neill’s blog. For info on the SMSE license, see my previous blog on the topic. Hyper-V and virtualization, see the MS Virtualization team blog or my previous blog on Hyper-V.