If you have been living under a rock for the past year, you wouldn't have heard about cloud computing. Cloud computing is a loose term that describes anything that is hosted in data centers and accessed via the internet. It is normally associated with developers who draw clouds in diagrams indicating where services or how systems communicate with each other. Cloud computing also incorporates such well-known trends as Web 2.0 and Software as a Service (SaaS) and more recently Infrastructure as a Service (IaaS) and Platform as a Service (PaaS). Its aim is to change the way we compute, moving from traditional desktop and on-premises servers to services and resources that are hosted in the cloud.
Benefits of Cloud Computing
There are clearly benefits in building applications using cloud computing, some of which are listed here:
Zero up- front investment:
Delivering a large-scale system costs a fortune in both time and money. Often IT departments are split into hardware/network and software services. The hardware team provisions servers and so forth under the requirements of the
software team. Often the hardware team has a different budget that requires approval. Although hardware and software management are two separate disciplines, sometimes what happens is developers are given the task to estimate CPU cycles, disk space, and so forth, which ends up in underutilized servers.
Usage-based costing:
You pay for what you use, no more, no less, because you never actually own the server. This is similar to car leasing, where in the long run you get
a new car every three years and maintenance is never a worry.
Potential for shrinking the processing time:
If processes are split over multiple machines, parallel processing is performed, which decreases processing time.
More office space:
Walk into most offices, and guaranteed you will find a medium- sized room dedicated to servers.
Efficient resource utilization:
The resource utilization is handed by a centralized cloud administrator who is in charge of deciding exactly the right amount of resources for a system. This takes the task away from local administrators, who have to regularly
monitor these servers.
Just-in-time infrastructure:
If your system is a success and needs to scale to meet demand, this can cause further time delays or a slow- performing service. Cloud computing
solves this because you can add more resources at any time.
Lower environmental impact:
If servers are centralized, potentially an environment initiative is more likely to succeed. As an example, if servers are placed in sunny or windy parts of the world, then why not use these resources to power those servers?
Lower costs:
Unfortunately, this is one point that administrators will not like. If you have people administrating your e-mail server and network along with support staff doing other cloud-based tasks, this workforce can be reduced. This saves costs, though
it also reduces jobs.