Scalability and Performance Management of Internet Applications in the Cloud

Scalability and Performance Management of Internet Applications in the Cloud

Wesam Dawoud (University of Potsdam, Germany), Ibrahim Takouna (University of Potsdam, Germany) and Christoph Meinel (University of Potsdam, Germany)
Copyright: © 2014 |Pages: 31
DOI: 10.4018/978-1-4666-4522-6.ch019
OnDemand PDF Download:
No Current Special Offers


Elasticity and on-demand are significant characteristics that attract many customers to host their Internet applications in the cloud. They allow quick reacting to changing application needs by adding or releasing resources responding to the actual rather than to the projected demand. Nevertheless, neglecting the overhead of acquiring resources, which mainly is attributed to networking overhead, can result in periods of under-provisioning, leading to degrading the application performance. In this chapter, the authors study the possibility of mitigating the impact of resource provisioning overhead. They direct the study to an Infrastructure as a Service (IaaS) provisioning model where application scalability is the customer’s responsibility. The research shows that understanding the application utilization models and a proper tuning of the scalability parameters can optimize the total cost and mitigate the impact of the overhead of acquiring resources on-demand.
Chapter Preview

1. Introduction

With virtually limitless on-demand resources, cloud offers a scalable and fault tolerant architectures that enable the hosted Internet application to cope with unpredicted spikes in workload. In the current cloud world, Software as a Service (SaaS) and Platform as a Service (PaaS) scalability is the provider responsibility. On the other hand, Infrastructure as a Service (IaaS), which offers more flexible environment, delegates the scalability management to the customers. In this chapter we dedicate our analysis to scalability of Infrastructure as a Service (IaaS) layer; therefore we define the entities that are involved in our study as follows:

  • Internet Application: An Internet application, sometimes called an Internet service, is an application delivered to users from a server over the Internet (Urgaonkar, 2005). Examples of Web applications are wikis, discussion forums, blogs, online retails, and news Websites. The number of users of these applications varies according to the time of the day and rises sharply on occasions. For example, video games discussion forums endure a cyclical demand variation, depending on the day or night times hours, but experience high traffic with each release of a new game. Similarly, online retail faces a daily cyclical variation in demand and high spikes at special occasions such as Christmas. In fact, these applications existed even before the cloud emergence. However, the cloud infrastructure provides elastic environment for these applications to scale up and down according to workload variation.

  • Internet Application’s User: An Internet application’s user is a user who interacts with the Internet application through a Web browser. The interaction may include browsing, submitting text, or uploading files.

  • Internet Application’s Provider: Typically, Internet application’s providers are a company or organization that runs the Internet application for profit purposes, such as online retails, or non-profit purposes, such as Wikipedia. In this chapter, we assume that the Internet application is hosted in the cloud infrastructure; therefore, we refer to the owner as the cloud customer.

  • Cloud Provider: A cloud provider is the company that offers the Infrastructure and the tools for the cloud customers to host and maintain the performance of their applications in the cloud (e.g., Amazon EC2).

Typically, Internet applications are implemented as a multi-tier architecture as seen in Figure 1. However, in some applications, the business logic (i.e., application tier) and the data representation (i.e., Web tier) are merged into one tier. In fact, multi-tier implementation enables simpler scalability for Internet applications especially for the Web tier and the application tier. The scalability of the database tier is not as simple as Web and application tier. However, it also can be scaled out into many instances using the Master/Slave architecture as we discuss in Section 3.2.

Figure 1.

A detailed multi-tier scalable architecture


Complete Chapter List

Search this Book: