Cloud cloud cloud umm what?
There are so many cloud options today it can be baffling. So over the next few pages were going to try and break it down a bit to explain what the different options are, and help with the decision process for each option.
Infrastructure as a service (IaaS)
IaaS is typically subdivided into two clear components; Private Cloud and Public Cloud. We have an overview of IaaS and Private Cloud here.
The elevator pitch is Infrastructure as a Service enables the automatic provisioning of operating systems onto physical or virtual hardware by Orchestration Software. Private Cloud uses infrastructure within an organisations data centre. Public cloud uses the infrastructure in a provider’s data centre. And Hybrid Cloud deploys some systems locally, and some in the public cloud. Decisions on location will be driven by internal security policies, external regulations and technology constraints such as application latency requirements
IaaS also provides the option of self-service allowing users to request their own infrastructure without IT admins lifting a finger. And it has the option to charge back individual business units or cost centres for what they are using
The key benefit of cloud technologies is around doing things in a new and different way. Being blunt, Infrastructure as a Service is the lowest common denominator. It lets you do the stuff you’ve always done in more efficient and flexible ways. However as our intro to Infrastructure as a Service highlights, cloud isn’t just a technology change but a people and process change as well. As such it has other benefits in terms of getting an organisation better prepared for the other cloud options.
Platform as a service (PaaS)
Here the provider will provide additional components on top of the operating system. So for example Azure has Azure websites and Azure Cloud Services. Here you don’t need to install the Web Server role into IIS. All you need to do is create your code and Microsoft does the rest. The flipside of this is that Microsoft specify what they support. The supported languages for Azure Websites are .Net, Java, PHP Node.JS and Python. Want to code in Perl? Ruby? Go? You’re out of luck. You’re also restricted by the versions of languages supported
But that’s not necessarily a bad thing. It lets developers focus on developing code and removes the concerns about scaling infrastructure, patching infrastructure and software and lets things happen faster with less intervention
Software as a service (SaaS)
SaaS is the last model for Cloud. Here all your paying for is a license to use the software. That usually (but not exclusively) means accessing that software through a web browser. Typically cited examples are Salesforce.com, Gmail, Dropbox, etc. Here you have a generic service that’s the same for everybody. Good candidates for SaaS are functions where your company adds no value. Salesforce is a great example here because the CRM functions within organisations aren’t where they add value. Managing sales, managing customers, that’s a relatively generic process. By selecting SaaS products organisations are able to focus their IT resources on the activities
Which one do I want
In this diagram you have the components of an IT system.
It’s very high level but you can see
- Facilities – the building your equipment is hosted in
- The racks, power, cooling and supporting networking infrastructure the server needs
- The server itself
- The operating system
- The software
- Users accessing that software
Each of those components has a cost associated with it’s complexity. Remember back to the SaaS description where the use case for SaaS is to pick something generic that isn’t unique to your organisation? That’s the key decision point as to how you should host your technology. Infrastructure as a service sounds like a low rent commodity option. However there may well be unique parts of the product your organisation sells that won’t fit neatly into a Platform as a Service model. It need specific coding languages, specific configuration on the server to deliver whatever it does. The further up stack you go, the more personalisation you lose. Conceptually the technology products that are unique to your organisation are probably better suited to IaaS. Systems you need to keep your business going but are something everyone uses (email, CRM, etc) are better options for SaaS. And PaaS sits somewhere in the middle.
Also think about the industry sector you work in. There may be regulations about where you host your data so checking out where the cloud provider has their datacentre’s is important. Or more likely that becomes a decision point on whether to go public or private cloud.
Investigate application complexity. If a legacy application has been coded with the expectation it’s on a high speed LAN, then moving the servers out onto the internet probably isn’t a good idea.
Hopefully now you’ve got a better idea of what the different cloud technologies are and which might be suitable for your workloads. There isn’t a one size fits all and a lot of the decisions still require judgement. However you’ve got the guidelines here on how things work and that should influence your thinking on how you start planning the deployment of your systems going forward.
Remember, the cloud is just someone else’s computer.