Article Preview
Top1. Introduction
Web applications have evolved over the past two decades from static content files to the dynamically-generated user-interactive web pages. Traditional Web 1.0 applications had several limitations including static, read-only files that only supported passive, one-way communication between a website and its clients. Web 1.0 applications also had limited scalability capabilities; therefore, as the number of clients requesting data from a website increased, the response time – the time required for the client to receive data from the website – increased; resulting in a decrease in the website’s performance and causing communication delays. Conversely, Web 2.0 applications allow users to interact with the content of a web page rather than simply consuming the content. Such dynamic applications provide important features such as a rich user interface and active, two-way communication that supports collaboration amongst the application and its users. The social networking services Facebook and Twitter are two examples of popular Web 2.0 applications (Helmy, 2013).
As Web 2.0 applications became an integral part of the daily activities of people throughout the world, providers migrated their applications to large-scale distributed computing platforms capable of supporting the increasing demand for online services. One such distributed platform is the Cloud, which is emerging as the dominant computing platform for Web 2.0 applications. Cloud computing provides a number of benefits to providers, as well as their customers, that make it a better choice over other distributed computing platforms (Goundar, 2012). One benefit of cloud computing is that the bulk of the data associated with an application and its customers resides in the cloud, which means customers can access their data regardless of their location or the device with which they connect. Another benefit of cloud computing is that policy can be established to maintain acceptable levels of load and latency as the demand on the system fluctuates. A final, but likely the most important, benefit of cloud computing is that it provides scalability, which allows the resources, assigned to an application to expand and contract as the number of concurrent users fluctuates.
As cloud computing has emerged as the dominant platform for Web 2.0 applications, researchers have begun to study public cloud services to help application developers choose the cloud service that best supports their applications. This study provides measurements such as the number of concurrent users (scalability), response time and throughput (performance), and total cost for various virtual machine instances on the Amazon EC2 and HP Cloud Infrastructure as a Service (IaaS) providers. The CloudStone web application benchmarking tool is used to capture and measure the scalability and performance of the tested cloud service providers and instances.