The term of “cloud computing” is rather new, although it has been nearly a decade since cloud computing services were first used. The fact is that only few years ago the potential of this area was realized and suitable name found by IT specialists. Nevertheless this expression still says nothing for a decent user. The easiest way to understand the essence of this powerful conception is to explain both of the words separately. For a long time, the word “cloud” has been used as the synonym of Internet, especially in flowcharts or diagrams. Meanwhile, the word “computing” is usually associated with all kind of activities on computer. By coupling these two terms together we get a cloud computing, which, according to previous explanations, stands for computing through internet and is very close to actual meaning.
In general, the essence of cloud computing is the way of keeping information. In traditional computing, we store all data and programs on our PCs and normally we can access them only through the same computer unless you allow remote access. Whereas in cloud computing all necessary data and programs are stored in the service provider’s information centre and thereof they can be accessed from any PC with an Internet connection. In many cases you don’t even have to download and install any applications to your computer, because they are already in the “cloud”.
The illustration of cloud computingAt this point it is very important to understand the differences between classic client-service model and cloud computing as these concepts may look similar to someone. There are three distinct characteristics which should be discussed in this case: elasticity, flexibility and maintenance. For example, when you buy a traditional web hosting service, all the details are defined in advance: the amount of space for your website bandwidth size, the number of databases you are able to configure and so on. However, when you order a similar service from the “cloud”, you can use as much or as little space and resources as you need at that moment – it is elastic. Moreover, you pay only for the actual consumption of services (it is like on demand self-service) and you don’t have to care neither about maintenance nor about tools for using it – the service is fully managed by the provider. All you need is computer with sufficient Internet connection.
In addition, the cloud computing model is broadly divided into two deployment models (private or public) and three service models:
Infrastructure-as-a-Service (IaaS),
Platform-as-a-Service (PaaS) and
Software-as-a-Service (SaaS).
A private cloud supplies hosted services to particular organization or limited number of people and can be managed by them or a third party. A public cloud is available to anyone on the Internet or a large industry group and is owned by a service provider (for example, Amazon Web Services). Sometimes, when an organization, which sells cloud services, creates its own private cloud from public cloud resources, the result is called a virtual private cloud. However, despite of the deployment model, the goal of cloud computing is still the same – to ensure convenient and secure access to massive computing resources and endless scalability.
Infrastructure-as-a-Service (IaaS), as the name implies, provides infrastructure or actual servers and storage to a buyer. This means that consumers are able to use as much capacity as they need, however the responsibility for installing operating system and all the required applications should be taken by themselves. One of the best examples of this cloud model is Amazon Web Services (AWS), which allows accessing and configuring their virtual servers and storage. IaaS supports the PaaS and SaaS layers. This provides a high degree of autonomy but increases complexity.
Platform-as-a-Service (PaaS) provides the same services like Infrastructure-as-a-Service (IaaS), but in addition installs the platforms on top of the hardware and takes care of maintaining them. Please note that the main difference between IaaS and PaaS is the amount of control over the system available to users of the services. IaaS provides total control, PaaS typically provides no control. This enables consumers to create or acquire applications by using software and product development tools over the Internet. However, it should be taken into account, that question of standards for interoperability or data portability in the cloud is still open, and therefore some cloud service providers may not allow moving created software out of his platform. The examples of PaaS are GoogleApps and Force.com.
Software-as-a-Service (SaaS) is similar to Platform-as-a-Service (PaaS), but has even more limitations. SaaS provides access to various kinds of software managed by vendor and interacts with the consumer though a front-end portal. Of course, the software may intern according to the company needs or activities and can be reached from anywhere in the world simply by Internet. For this reason, SaaS is a very broad market with many capabilities. Some of the best known examples of SaaS are Web-based emails (Gmail, Yahoo Mail, Hotmail, etc.) and Google Docs.
Although these three service models of cloud computing, which were described above, are still relevant, some experts presumes that very soon everything will be offered as a single package with the possibility to choose what end-user really needs. Whether these predictions will come true or not, one thing can be said for sure – a cloud computing will play more and more important role in meeting the needs of organizations and private customers.