The cloud - was there before. What's different?
Join the DZone community and get the full member experience.Join For Free
Cloud technologies are now everywhere. Companies that offer cloud services are considered innovative and providing revolutionary new services. But is the cloud really something new? A lot of people don't fully understand the fact that the cloud was there ever since Internet was invented. It was never named like that but it's basic idea is still there.
That being said, let's look at the definition Wikipedia provides for cloud computing:
Cloud computing is Internet-based computing, whereby shared servers provide resources, software, and data to computers and other devices on demand, as with the electricity grid.
So what about web applications? You are basically consuming services provided by applications that you don't have installed on your local machine, but you can access them from anywhere. Facebook? Twitter? Email services? It's the same idea with a different name. It evolves further today and you get new options. And that is exactly what differentiates today's cloud from what we had in the past. There are three key elements that define the cloud that we can use today.
One of the main cloud capabilities is scalability. By using cloud services, people don't really depend on a fixed amount on computing resources provided by regular hosting providers. For example, self-scalable computing resources provided by Windows Azure or Amazon EC2. If the service or application you are running decides to consume more resources, this can be addressed really quickly, minimizing the possible downtime because of server overload.
This makes the service usage more efficient since you are paying only for the resources you are using and there is no overpaying because of unused resources. This doesn't necessarily apply to computing resources that increase performance, but also to such components as storage elements. Amazon S3 is exactly this. It's even called "infinite storage" because you can use as much storage as you want, as long as you are able to pay for it.
You don't care about scaling the system. Not directly.
You care about your application and service. People who decide to host their services and applications in the cloud are no longer directly responsible for the process of upscaling (or downscaling, depending on the situation). The system is automated and if there are problems, the system can easily be swapped without the customer even knowing this. This reduces the maintenance costs compared to having your application or services hosted on a dedicated server. Although it still depends on the situation, having something stored in the cloud makes you more of an administrator of the app itself rather than the system it is running on.
Considering that regular dedicated hosting in most cases require you to also manage the host system - updates, proper reboots (and we all know that from time to time there will be reboots) and so on. This is no longer a poblem with having working units hosted in the cloud.
Data won't necessarily be hosted on a single server. With the help of a virtualized envirnment, your applications and services can be accesible to you as a single unit, but at the same time can be hosted on separate servers. Same applies to regular storage. This is also one of the properties that radically reduces the potential downtime - the applications and services can remain available even if part of the sustaining infrastructure goes down.
Decentralization is also closely tied to the ability of the system to be scalable, since resources from different physical machines can be used to perform operations concentrated in one single application or service.
That being said, you should be aware that cloud benefits are really tied to your needs. For example, you don't necessarily need to host your website in the cloud if you don't plan to have huge overloads because of high traffic. At the same time, if you are planning on having an e-commerce website, you might want to consider a system that can be scaled-up once you hit the critical traffic point. Don't go after the cloud because of its commercialization, but rather because you need it.
Opinions expressed by DZone contributors are their own.