Cloud computing is a type of computing that relies on sharing computing resources rather than having local servers or personal devices to handle applications. The aim of cloud computing technology is to apply supercomputing power or high-performance computing power, usually used bydefense and scientific institutions to perform tens of trillions of computations per second, in consumer oriented applications. Such applications include business financial applications like QuickBooks accounting software, tax software, customer relationship management (CRM) software, or any other business utility software. Cloud computing technology is even used to empower massivecomputer games.
Cloud computing comprises of a network of large groups of servers with specialized connections to spread data processing jobs across them. This shared Information Technology infrastructure contains large pools of systems that are linked together. The infrastructure used for connecting the computer systems and the software needed to make cloud computing work are both of robust quality. Virtualization techniques are often deployed to maximize the power output from cloud computing technology.
Cloud computing offers numerous capabilities to its users. Elasticity can be considered as the single most important attribute of the cloud computing technology. You might start running your application on just a single server. But in no time, cloud computing enables you to scale your application to run onhundreds of servers. Once the traffic and usage of your application decreases, you can scale down to tens of servers. All this happens almost instantly, and the best thing is your application and your customers don’t even realize that. This dynamic capability to scale up and scale down on the fly is called Elasticity. Elasticity brings an illusion of infinity. Though nothing is infinite in this world, your application can get any number of resources as it demands.
Elasticity is one of the biggest unique selling points of the Cloud computing technology. In traditional web hosting, when you want to add another server to your web application, your host has to manually provision that for you. Adding additional servers and configuring the network topology introduces additional time lag that your business cannot afford. Most of the Cloud Computing vendors offer an intuitive way of manipulating your server configuration and topology. Elasticity is achieved through virtualization. Scaling up is technically adding more server virtual machines (VMs) to an application and scaling down is detaching the virtual machines or VMs from the application.
Cloud data centers typically run thousands of powerful servers that offer a lot of storage and computing power. You never know which physical server is responsible for running your code and the application. In most of the cases, the application that you deployed may be powered by more than one server running within the same data center. You cannot assume that the same physical server will run the next instances of your application. Servers are treated as a commodity resource to host the virtual machines. There is no affinity between avirtual machine and a physical server. Each server in the cloud data center is optimally utilized as and when needed.