Demystifying Cloud Computing :by Rick McMullin
There has been a lot, some may say too much, of talk and press over the past few years about cloud, cloud development, cloud computing, moving to the cloud, etc. In talking with many of our customers over the past 6 months, it has become clear to me that there is a lot of confusion around what the cloud really means. Having been asked many times to explain the cloud, I decided to write a brief overview.
Part of the reason that the cloud can be so confusing is because there are many different points of view that can be used to describe it. At the very simplest level the cloud, or cloud computing, is really just a web application or some piece of software that is being delivered over the Internet. It’s the idea of a web server sitting somewhere serving up web pages, and potentially some business logic, being used to deliver dynamic content or provide some other form of business function. This can be thought of as the cloud of the 1990′s – or the precursor to cloud computing.
The ideas around
cloud computing have been around for a long time but it wasn’t until high-speed internet services began to appear in the late ‘90′s that cloud computing really started to become a possibility.
Characteristics of Cloud Services
Before getting into the different types of cloud service offerings that are currently available it helps to understand what characteristics are deemed necessary for a service to be considered a cloud service. As defined by the National Institute of Standards and Technology, cloud computing services exhibit the following five characteristics:
- On-demand self-service – The user of the cloud service can self-provision resources on an as needed basis. This is usually done through a web based service portal.
- Broad network access – The capabilities being delivered by the cloud service are done over the network, typically the Internet, but could also be a private network.
- Resource pooling – The cloud service resources are being shared by a number of customers in a multi-tenant model. For example, one physical server could be running multiple VMs, which could each be servicing a different customer.
- Rapid elasticity – The cloud service resources can be quickly and usually automatically scaled to meet the needs of the applications that are running on them at any given time.
- Measured service – Customers of the cloud service are charged for only the resources they use. This could be network bandwidth, hard disk space, CPU time, number of active users, or any combination of these.
From the above characteristics I hope you can start to see the possibilities that cloud computing can offer your business. The dynamic nature and pricing of cloud computing allows you to quickly create and scale new servers in a cost effective way. This has enabled us at bitHeads to get new projects off the ground much more quickly than would have been possible in the past and also to perform levels of load and performance testing that would have been extremely cost prohibitive before this type of option existed.
In the next post we will get into what the different cloud computing service categories that are being offered are as well as some of the more popular examples of each.