What is cloud computing?
Go into google right now, type in “What is cloud computing”. You’ll probably end up with a million different definitions, each of them most likely correct in some way. Quite frankly, cloud computing is just one of things that can be difficult to sum up in one simple sentence or phrase. A clear and concise way to define cloud computing would be to say that cloud computing is the use of computing resources over a network (most commonly, the internet) Wikipedia. Ok, simple enough right? But now you wanna know: what exactly do I mean when I say “computing resources”? Well that depends, typically, the use of computing resource can be categorized into three types: use of Infrastructure, use of a platform, and use of software. These different offerings are delivered as a service which is how we come to the different acronyms: IaaS (Infrastructure as a Service), Paas (Platform as a Service), and SaaS (Software as a Service).
Ok so the picture should be a little clearer now, but lets dive a little deeper into the differences between these different Cloud computing services and their individual purposes/benefits. Anybody who knows me, knows I’m a fan of using analogies to assist in my explanation. As I explain the differences between these offerings I will use a car manufacturing company as an analogy (simple enough right).
IaaS (Infrastucture as a Service)
There a reason why I would like to explain IaaS (also referred to as Hardware as a Service or HaaS) first, is because it is the foundation of the computing to begin with. Everything first has to begin with some sort of infrastructure. It may help to first define exactly what infrastructure is. According to dictionary.com, infrastastructure can be defined as “the basic, underlying framework or features of a system or organization.” Lets refer to my car manufacturer analogy. In order have a car manufacturing company you first need land, you need a building or warehouse. In that building you need electricity, power, and other basic elements in order for you to even have a facility in which to manufacturer vehicles. These items make up the infrastructure. Likewise, In Cloud Computing, in order for there to be any “computing”, there is infrastructure needed. Infrastructure in this case would be the physical machine itself being offered as resource. This physical machine ( or virtual machine) would contain some amount CPU power, RAM, Hardisk space, and an Operating System. These elements make up the infrastructure and is offered for usage over a network as a service, and there you have it, Infrastructure as a Service.
Benefits of IaaS:
- Typically follow a “pay per-use” billing model, so you only pay for the amount of resources you use
- Instantly scalable – your resource allocation grows and shrinks automatically according to your usage
- Cost saving since you do not purchase the actual physical machine or additional physical resources
- Less overhead since you do not have to manage and maintain the machine yourself
- Accessible anywhere, anytime as long as you have internet connection
Examples of IaaS service providers:
- Amazon EC2 Cloud
- Rackspace Cloud
- HP Cloud
PaaS (Platform as a Service)
In a sense PaaS and SaaS are very similar. The only difference is that in the PaaS model, the focus is on providing software tools to application developers as opposed to simply an application itself (Saas- we’ll get to this shortly). With these software tools, application developers are able to build and deploy their software applications on the cloud. Back to our car manufacturer example, we already have our building (infrastructure), now you could say that PaaS would be synonamous with the equipment and tools needed to actually put the car together. PaaS offerings become extremely convenient and cost effective for development teams. Generally, the application developer (consumer) would still maintain control to such items like the configuration settings if they so wish, but will be provided with the necessary computing Infrastructure (right, we need this) in addition too their choice of programming language execution environment, version control system, deployment tool, and anything else they require to build and deploy their application. The main goal of the PaaS provider is to take care of all the necessary infrastructure and tools involved in the software development ecosystem allowing the development team focus only on their coding (in most cases), and building their application.
Benefits of PaaS:
In addition to the benefits received from IaaS
- Ability to dedicate resources and focus to meeting business objectives
- Cost savings from overhead of managing software tools
- On demand customizations and configurations
- Test and deployment environments
Examples of PaaS service providers
- Addteq Cloud hosting
- Google App engine
- Cloud Foundry
- Windows Azure
SaaS (Software as a Service)
So now we’re down to the actual car! Once your have your facility (infrastructure) and your equipement/tools (platform) you create can create a car that is delivered to the consumer to use. Tying this back to cloud computing now, SaaS applications can simply be described as applications offered to the consumer over the cloud (or network, usually the internet as we mentioned earlier). With SaaS offerings, everything needed for an end user to begin using the application is provided over a network so that there is no need for the end user to download anything onto their local machine. Many of us use SaaS applications everyday, probably without knowing it. Your email client (Gmail, yahoo, etc), social media sites like Facebook, Twitter, Google+, Dropbox, Salesforce all of these are common SaaS offerings. They’re essentially the car that was built in the infrastructure, using a particular platform, for our use. Only difference is, at this point, all the maintenance, and managing of the app is handled by the provider.
Benefits of SaaS:
- accessible anywhere, anytime as long as you have internet connection
- Does not take up any hardisk space on your local machine
Examples of SaaS:
- Addteq Cloud hosting
Why Cloud Computing?
The huge boom in the popularity of cloud computing really comes at no surprise when you consider the benefits. Some of which include:
- Access anytime anywhere to apps (as long as there in an internet connection)
- No need to purchase hardware equipment
- No need to maintain physical machines yourself
- Instantly scalable to match your usage and needs
- Increased data security (contrary to few myths out there)
Whether you’re in need of infrastructure, a platform, or software, utilizing the cloud is in most cases a no brainer. It’s clear to see the significant benefits that can be taken advantage of as result of moving to the cloud.
Still have questions? Feel free to leave a comment below or contact us with what’s on your mind.