‘Cloud’. To me, this first sounded like a new buzzword. When beginning to read about cloud, my first impression was ‘Huh, it doesn’t seem that much different than outsourced virtualized resources available on demand’. But actually, cloud brings a real pay-as-you-go billing mode and a self-service access that brings true flexibility. Then, with Cloud you really can create or delete virtual servers in several minutes through a simple interface and pay only while you use them ; kind of a dream for IT managers! But this doesn’t come without issues. Let’s take a closer look at Cloud computing and see how to use it. In this first post, I will just introduce the concepts coming with cloud.
What is Cloud Computing
For those who haven’t had the opportunity to learn about cloud yet, Cloud Computing mainly refers to the ability to quickly create virtual servers on a virtualized infrastructure. I really like the following video when it comes to explaining Cloud:
It is generally accepted that the main characteristics of Cloud are:
- virtualization / abstract resources: you don’t know what are the real resources that run your virtual machines
- ability to add or remove virtual servers without limitation (some call this having an elastic system)
- pay-as-you-go billing mode
- a simple self service access (via an internet connection)
As you can see, the goal is to have something really simple to use. Like a service you use when you need it. This is really what you should have in mind. Cloud computing is here to provide what you need when you need it, and you don’t wanna know how it is built. The immediate benefit is that you don’t have to worry about hosting and all its aspects.
Types of cloud
Lets get into more detail ; there is not one single type of cloud. As introduced by the previous video:
- Infrastructure as a Service (aka IaaS): this is what most people mean when they talk about cloud. This relates to the ability to create virtual nodes on a cloud when you need computing power and storage.
- Platform as a Service (aka PaaS): in this type of offering, service providers add the functions of an API or a middleware on top of the infrastructure. For instance, structured storage and data retrieving functions, messaging functions, …
- Software as a Service (SaaS): This last type represents a complete application distribution model. With SaaS you don’t ‘buy’ software licences and install your software the way you did before. You just buy the access to a complete running application hosted by an application provider dealing with the required infrastructure. For instance you can use the CRM application provided by salesforce.com
When talking about IaaS you can find the following:
- Public cloud is the simplest type: You have an access to the servers you create and you can configure their firewall to restrict access from other virtual nodes or from internet. Your virtual nodes are created on the infrastructure of an external provider that deals with hosting and capacity planning issues.
- Private cloud: you create your nodes the same way that you do on a public cloud, but the resources used to run your virtual servers are owned by your company who is in charge of the hosting.
- Hybrid: between public mutualized resources and private ones you can imagine a whole range of hybrid solutions. For instance, Amazon is offering its customers to use a virtual private cloud (you use amazon’s resources to create your nodes, but they are isolated from public ones and you can connect them with your internal network through an IPSec VPN). Other providers offer hosting for yourown dedicated servers plus the capacity to add virtual nodes from their cloud offer.
This note briefly introduced Cloud Computing, in a second one we’ll discuss how cloud can be used.