Every time you search Google, you take advantage of cloud computing. Many of us use Gmail or other Google applications like Google docs and Google sites. These wonderful applications are a result of Google’s cloud computing infrastructure.
Before I write more about cloud computing, let me provide a perspective on what are web based applications and how they work:
Any program which is used over the internet through a web browser is termed as web application. Most commonly used web applications are Facebook, Google, Yahoo, Twitter etc. According to internet experts, in the next 10 years, 80% software will be used over the web.
A web application functions in a completely different way than your desktop software. With web application, information is processed and stored on the Web Server which runs the application.
When you send request to a Web Server it processes your request and returns appropriate result on your web browser. Therefore, your personal computer is free from the burden of storing and processing information, since all the action happens on the Web Server.
Despite the fact that using web application is fun and extremely productive, it also invites problems such as availability and reliability. With increase in the number of users, the number of requests a Web Server has to process also increases exponentially. If the number of request a server receives, increases than its capacity, it crashes. That’s when we see errors such as ‘Server down’ or ‘Server inaccessible’.
You must be wondering how all this is related to Cloud computing. So let me tell you the story of Google and how they solved similar problems faced by their web application (in this case their search engine).
In late 90’s when Google was gaining huge popularity world-wide, one of the biggest challenges they faced was scaling their Web Server to handle millions of requests. In order to ramp up their capacity, they vociferously installed hundreds and thousands of web servers at various locations across the globe. This capacity built up was done at an investment of millions of dollars. A similar problem was faced by other internet companies like Amazon.com and they did the same with their own infrastructure. With the capacity ramp up, they were able to handle large number of user requests very efficiently.
However, they faced another problem after doing this ramp up. They realized that the processing and storage capacity of these servers were not fully utilized all the time. They discovered that other than peak loads, most of their servers resources were utilized only up to 50%. A large pool of server resources was lying underutilized.
During this period, the concept of Virtualization had started gaining momentum. Virtual Servers are similar to a physical server in terms of performance and availability but the biggest difference is in the fact that a Virtual Server in itself does not posses processing or storage capability; but it utilizes the underlying hardware to store and process the information.
With the advancement in Virtualization technology, companies like Amazon and Google started thinking about their Server as a piece of software that provides necessary resources (like processing power, memory and storage) to run a web application. Instead of web application being directly installed on the physical hardware server, they inserted an intermediate piece of software on the physical servers which would provide processing, storage and memory to the web application. Gradually these companies realized that by using the Virtualization technology, they can combine the processing power of thousands of server into a big Virtual Server which can be used to distribute computing capabilities to a variety of web applications. This was the birth of Cloud computing. Cloud computing allows resources needed by a web application to be virtualized by using an intermediate software layer called Virtual Server.
Friday, 4 March 2011
Cloud Computing And Software-As-A-Service : The Future Of Software
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment