Hosting basics: What is cloud computing?
This is the first in our new Hosting Basics series. The series will explain common hosting concepts and terminology, in straightforward language that everyone can understand. We’re starting off with a quick history lesson about cloud computing. Why not share it with non-technical colleagues?
History of the Cloud Symbol
The “cloud” in cloud computing harks back to the early days of network design. In those days, as today, the role of the network engineer was to design a network that worked properly. A lot of time and energy was spent understanding what devices were on the network, how things are connected, controlled and managed – just about everything you can think of. Some networks, however, hooked to other networks, or the Internet. The network engineers needed to illustrate this connection as part of their design. However, they did not know all the details of these networks that were outside of their domain of knowledge. They needed a way to indicate that there was a network, but also indicate that they aren’t trying to describe it. They landed on the cloud as a symbol of this unknown domain. Since then the cloud has come to represent an unknown network in general.
So the cloud symbol is basically a (global) network that is available to anyone but not under my control. That is true, but only for the symbol of the cloud that is used in network diagrams. The term “cloud” stands today for something different – it stands for Cloud Computing.
Definition of the Term Cloud
The most accepted definition of cloud computing has been defined by the American National Institute of Standards and Technology (NIST). Their special publication “800-145” describes Cloud Computing in only seven pages and is worth reading. Nevertheless I will explain it in slightly different with a less academic approach.
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. In other words it is the renting of IT services under flexible conditions.
Cloud computing means that infrastructure, applications, and business processes can be delivered to you as a service, over the Internet or your own network. I know I promised to be less theoretical, so let’s try again. Cloud computing means that somebody owns and manages IT technology somewhere and offers to rent it out with remote access on a “pay as you go” basis. This renting model is called “as a service”.
Many cloud services come from public providers who offer services based on a shared model. But companies can also build their own private clouds for themselves. Internal consumers (e.g. departments or project groups) consume computing services from the IT department (e.g. a Windows server) who charges a fee for that. The consumption of IT per cost centre becomes transparent and easier to manage.
You think that this is nothing really new? Right, many web mail services have done this for years. Well, it is and it isn’t. The most important new concept of cloud services is to offer complex solutions that traditionally needed to be hosted in your personal environment (inside your local area network or on your server or PC). Super fast networks changed the game fundamentally and provide the same user experience for remote services than for locally hosted services.
Salesforce.com is a good example. Salesforce.com is a solution that manages customer relationships (opportunities, activities, deals, contacts etc.). Customers who use Salesforce.com do not run it on their own servers and maintain the hard- and software. They rent this solution that runs on a shared infrastructure somewhere in the Internet and is managed by Salesforce.com. Customers not only save the effort to manage and run this software, they also appreciate the fact that it is available to their staff from everywhere and provides interfaces to many other service providers and 3rd party software.
Salesforce.com is an example of ‘Software as a Service’. But there are two more service models that cloud can offer.
- Infrastructure as a Service (IaaS)
- Providing computing resources (servers) including storage and networks. IaaS typically offers servers including the operating system and some management and protection software. The installation and management of the solutions that run on these servers are the responsibility of the consumer/customer. IaaS is the bread and butter business for hosting companies like Macquarie Telecom.
- Platform as a Service (PaaS)
- A bit harder to describe and the popular players are companies most people (if they are not nerds) never heard of. Traditionally developers designed and coded new applications using a developer framework (software that makes a nerd’s life easier). Then they tested it in a separate environment. After that the software is installed in a hosted environment (see IaaS) to make it available to the rest of the world. All of these components collectively are called a development platform. PaaS is the “rent it in the Internet” version of it.
- Software as a Service (SaaS)
SaaS providers offer software on demand delivered through the Internet. Software and the data is centrally hosted in the cloud and typically accessed by users using a web browser. Popular examples include SalesForce.com, Microsoft Office365 or Oracle on Demand.