The word Cloud is being used heavily today in a very confusing way. This is due to the fact that the Cloud encompasses actually many different types of IT related services and does not have a single final definition: the most widely accepted Cloud definition is the one provided by the NIST.
Simply, Cloud Computing is a set of IT related services easily accessible and usually managed through the website of the Cloud provider.
In order to better understand cloud computing, let’s first have an overview of some of the most common type of services provided by a Cloud vendor and how they are usually delivered. A Cloud service provider will basically allow a subscribed user to perform any of the following actions using his website interface:
- Configure and launch/stop one or many servers. The user is able to choose each server specification mainly in terms of memory, processing power (CPU), Operating system (Windows, Linux …), storage. Billing is usually per hour per usage based on each server specification, when a server is stopped nothing gets charged. The user has administrative access to these servers. Internet Bandwidth consumption is usually also chargeable.
- Launch and configure a firewall to protect those servers.
- Acquire space in order to store/retrieve data. Billing is usually per Giga Bytes usage per month.
- Use and configure one or many cloud applications. Many types of applications (email, CRM, project management, etc…) can be provided by the vendor. The user can access any application, purchase licenses for as many users as he wants and configure the application. In this scenario the user does not care nor have access to the underlying IT infrastructure running the application. Billing is per user per month or per year.
- Use an existing development platform. A set of tools in order to develop and deploy application for the cloud is provided by the vendor.
Diverse types of services are thus accessible through Cloud providers. These have been mainly categorized into 3 different models:
- Infrastructure as a Service (IaaS): access to servers, storage, firewalls … (points 1, 2 and 3 above). Instead of purchasing hardware, a company can have its IT infrastructure in the cloud (hosted with a Cloud provider) and access it through the internet.
- Platform as a Service (PaaS): access to a development platform as described in point 5.
- Software as a Service (Saas): applications like email, accounting, project management …, can be configured and used by end users (point 4).
As a first impression, cloud vendors might look very similar to any hosting company, however some essential characteristics make Cloud services different mainly:
- Elasticity: The ability to scale up and down, in some cases automatically, based on demand as if resources are unlimited and available when needed. Examples:
- Imagine your company is running a website similar to Facebook using IaaS: many cloud servers will be active and handling users’ requests. For simplicity, we will suppose that all servers are similar and each one can handle 100 users at the same time and that at off-peak hours 3 servers are always running. The number of users can reach thousands during specific hours, using the cloud the company’s IT expert can automate (through APIs and scripts) the action of adding and removing servers “at will” in order to handle more or less users.
- A company is leasing an application using SaaS. The cloud vendor usually will design the application and its infrastructure in order to handle variable loads: no matter how many new users customers create and/or whatever is the load level, the cloud application should run seamlessly.
- Measured service: Billing is metered based on the type of service and delivered as a utility service (like electricity). Noting that the number of hours per month is 744 and taking the example above (website similar to Facebook), a simplified bill may be:
- On-demand self-service: the ability of a user to acquire a service as needed without interaction with each service provider. Using only the provider’s website and usually a credit card, a user can configure and launch a complete IT infrastructure.
While Cloud services are not till now properly defined and characterized, the main purpose of the adoption of this new model is to simplify access to IT services and make it similar to a utility service like electricity. Cloud advantages and disadvantages will be discussed in another article.Author: Najib Abi Fadel