I have just had to write the first in what may be a series of articles introducing cloud computing. This is a very high level and simple overview so may be too simple for most readers of this blog, but I thought I would share it for anyone that is interested or who has to write something similar. Also worth noting this had to be brief, with a maximum of around 1000 words so is by no means an exhaustive introduction.
Upcoming articles in the series will likely cover what has enabled cloud now, the benefits cloud can bring, and security and regulatory concerns of moving to the cloud.
Introduction to Cloud Computing
Cloud Computing is one of the current buzz terms that everyone, in IT circles at least ,seems to be aware of and talking about. In this brief introduction I’ll cover off;
– Just what is cloud computing?
Follow on articles will, assuming there is interest, cover off areas such as;
– How is cloud computing similar or different from other computing models?
– What benefits can cloud computing bring?
– What are the risks / issues?
– Regulatory and security concerns along with mitigating factors
– Further details on cloud models and how they could be used by businesses
Please note that as this is a single article of around 800 words, this is a high level and non exhaustive overview.
Just what is Cloud computing?
Cloud computing is in a nutshell the delivery of compute / applications / storage as a service to consumers of the service. The term cloud comes from the fact a cloud like symbol is often used to denote cloud services as per the diagram above. The users / consumers of the service at a high level only need to know how to connect to the service, they do not need to have any knowledge of what underpins or provides the service in order to use it.
While the term ‘cloud computing’ may be relatively new, we have all been using cloud based services for many years, the most common example of this being online email services such as Hotmail and Gmail. Hotmail has been operating as an online email cloud service since the mid 1990s.
Cloud computing is usually split into one of three different ‘flavours’;
- Infrastructure as a Service (IaaS)
- Platform as a Service (PaaS)
- Software as a Service (SaaS)
IaaS is the provision of raw compute power to customers; it is likely that you may even need to install your own operating system onto virtual machines in an IaaS model. This is the closest model to the traditional co-location type model where the cloud provider basically looks after the servers / storage and all supporting hardware for you and you are still responsible for O/S (Operating System) and application installation and management. This is the most flexible and configurable cloud service option, but conversely requires the most effort to manage and support from a consumer perspective. Amazon Web Services would be an example of IaaS.
PaaS is effectively the next level up, this is the provision of platform level services such as databases or application containers. Here the provider manages and maintains all the underlying hardware, operating system and the container / platform itself. The customer purchases the required space / power and in the database example would create their own DBs, configure user permissions, table structure etc. and upload the data. PaaS is less configurable than IaaS, but provides a fully managed platform such as the Database engine so requires less management and effort to set-up / configure than IaaS. An example of this would be the Microsoft Azure Database and web sites platforms.
SaaS is where software applications are provisioned to customers from a cloud based service, in this instance the entire application is hosted in the ‘cloud’ and the customers access it and only have to manage things like user permissions and some application configuration, the hardware, O/S, platform and application hosting are all managed by the cloud provider. Examples of this would be the Salesforce application, Microsoft Office 365, and pretty much any online email service.
The different cloud ‘flavours’ in which cloud services can be consumed, as described above, are depicted in the below diagram;
In addition to the IaaS / PaaS / SaaS models you will also likely here the terms Public, Private, Community and Hybrid in relation to cloud services, so what do these terms mean?
– A Public Cloud is one that is entirely hosted by a vendor on shared hardware / systems. This does not mean your systems or data are accessible to anyone other than your business, just that they are hosted on shared ‘cloud’ infrastructure. This is probably the version of cloud computing that most people think of when they hear the cloud term. Public clouds can be IaaS, PaaS or SaaS.
– A private cloud can mean one of two things –
- Usually it refers to a cloud hosted entirely internally by a company. This is usually only relatively large businesses, and is when someone creates an internal cloud service that is accessible to the whole organisation, but is hosted and run internally and only accessible to that specific company
- Sometimes vendors may sell ‘private’ cloud services where you can purchase cloud based solutions that are hosted on dedicated and segregated rather than shared systems. This can end up much more like a more traditional co-location model and may negate some of the benefits you can realise from cloud computing (more on that in a later article)
– A community cloud is effectively a public cloud that is aimed at a specific community. In this sense community refers to a group of very similar companies that share a similar way of working. An example is the community cloud shared by some legal firms. A community cloud can be thought of as a ‘targeted’ public cloud.
– A Hybrid cloud solution is one that makes use of both internal resources and external ones. An example may be an internal system that has capacity for normal use, but has known periods of high usage such as during month or quarter end processing. Rather than purchase and host enough capacity for the brief periods of high use, the business only hosts pays for and hosts enough capacity for normal use. During periods of high use the system ‘bursts’ out into the cloud service and makes use of the vendors resource for extra processing power. In this way you only pay for what you use, when you use it, while not having to migrate entirely to the cloud if the business is not yet ready for that step.
So to summarise, cloud computing can be infrastructure, platform or software provided as a service, it is elastic in that you only pay for what you use and the resource you use can go up and down as required. Just what has enabled cloud computing now, how is it different from other existing computing models, and what are the potential benefits? Watch this space..