In the Greek mythology, there is a folklore describing picking up of creatures from the surface of the Earth and embedding them as constellations in the night sky. On the analogy, in the world of Cloud Computing, data and software are being swept up from desktop Personal Computers and server rooms into the computing Cloud. As this migration to the Cloud is progressing rapidly, more and more users and developers are showing their interest to get into the Cloud.
Cloud Computing has been variably described as on-demand computing, software as a service, Internet as platform, etc. When you put software into the Cloud, the components of the software reside on Cloud servers possibly scattered across continents. The focus of innovation, indeed, seems to be ascending into the Cloud. Some substantial fraction of computing activity is migrating away from the desktop and the corporate server room. The change is affecting all levels of the computational ecosystem, from casual user to software developer, IT manager, and even hardware manufacturer.
The major appeal of Cloud Computing is the ability of “liberating” programs and data from the local computing centers. The locus of computation is shifting with functions migrating outward to distant data centers reached through the Internet. Cloud is becoming the primary means of collaboration and sharing.
With traditional computing, total control comes at a hefty price. Software must be installed and configured, then updated with each new release. The computational infrastructure of operating systems and low-level utilities must be maintained. Every update to the operating system sets off a series of subsequent revisions to other programs. Outsourcing computation to a Cloud computing and hosting service provider eliminates nearly all of these concerns. Cloud computing also offers end users advantages in terms of mobility and collaboration.
Software sold or licensed as a product to be installed on the user’s hardware must be able to cope with a baffling variety of operating environments. In contrast, software offered in the cloud is developed, tested, and run on a computing platform of the vendor’s choice. This hastens provisioning of greater number of software programs to larger number of users.
Although the new model of Cloud computing has neither hub nor spokes, it still has a core and a fringe. The aim is to concentrate computation and storage in the core, where high performance machines are linked by high bandwidth connections, and all of these resources are carefully managed. At the fringe are the end users making the requests that initiate computations and who receive the results.
The kinds of productivity applications that first attracted people to personal computers years ago have now appeared as software services through the cloud. MS Office hosting in the cloud is an example. Software for major business applications (such as QuickBooks, ACT!, Peachtree, MS SQL Server, etc.) has generally been run on corporate servers, but several companies now provide it as an on-demand service.
It is very desirable to outsource a well-built data center. Cloud computing vendor offers data storage priced by the gigabyte-month and computing capacity by the CPU-hour. Both kinds of resources expand and contract according to need. For most Cloud computing applications, the entire user interface resides inside a single window in a Web browser. For those deploying software out in the cloud, scalability is a major benefit. Cloud computing vendor provides resources in such a way that a program continues running smoothly even as the number of users grows. Cloud servers respond to hundreds or thousands of requests per second and coordinate information coming from multiple sources. The pattern of communication is many-to-many, with each server talking to multiple clients and each client invoking programs on multiple servers.