Cloud Computing provides us means by which we can access the applications as utilities over the internet. It allows us to create, configure, and customize the business applications online.
Cloud computing is an approach enabling convenient and on-demand access through the Internet to resources such as networks, servers, storage, applications, and services.
Cloud computing evolved from a concept called virtualization. Virtualization is the process of creating a virtual version of an operating system (OS), a server, or network resources. Using virtualization, you can host multiple OSes at the same time on a single machine.
A traditional application server may have just 5-10% utilization, whereas virtualized servers can reach 50-80% utilization. By hosting more virtualized instances on fewer physical servers, you can lower costs for hardware acquisition, maintenance, energy, and cooling system usage.
Although virtualization offers many benefits, it was not enough because companies began to have many new needs such as on-demand scalability, zero capital expenditure, usage of software as a service, and so forth. Moreover, managing large numbers of virtual machines posed problems. Added to this were the issues of disaster management and data recovery.
Companies often cannot predict whether their customer base is going to grow or shrink. If they map their infrastructure to a large potential customer base but the growth does not reach that level, then the huge infrastructure is a waste. On the other hand, if companies underestimate their growth an plan for a small infrastructure, they could lose potential customers. What is required in such scenarios is the capability to scale the infrastructure up or down depending on the demand of the hour. This capability is called elasticity and is one of the biggest advantages of cloud computing.
Another key advantage of cloud computing is that of failover capabilities. Failover is a mechanism in which tasks from a primary system are automatically offloaded to a secondary standby during system failure or pre-planned downtime.