Web Applications Scaling in Amazon Cloud

Name
Timur Hassanov
Abstract
The problem which is being tried to solve in current thesis is how to properly scale web applications in Amazon Cloud. Amazon Cloud offers great options for hosting and scaling web applications, but it is quite difficult to find detailed manuals with exhaustive explanation of steps and reasons these steps were taken. One of the goals is to explain all the steps performed in detail, so the reader would not only know how to scale his application, but will understand all the steps. The thesis may be useful to anyone willing to build an application using Amazon Cloud. It often happens that one server is no longer capable of run an application properly. It may happen due to the gradual growth of attention to application, or temporary bursts (eg caused by an article in a magazine). Then one needs to scale his application. Current thesis will help one to solve this problem. It will not only tell how to setup dynamic scaling that depends on server(s) load, but how to setup each server to give close to maximum performance: which software to use (Apache vs lighttpd, nginx, memcached, etc), how to distribute the load between servers, how to use different Amazon Cloud mechanisms to make scaling easier. Taking into account the fact that thesis will help to achieve maximum results from each server, the thesis will help one to minimize the amount of money spent on hosting of web application. Amazon Cloud is rapidly growing set of services, that is why one of the main goals is try to give the most recent overview of services that may be helpful for scaling web application. Current thesis will contain a number of load tests that will produce visualized results that might be helpful to determine one’s own methods of scaling. Amazon Web Services have quite user-friendly GUI, but some specific actions (as setting up dynamic scaling) require usage of console applications and APIs that are poorly documented. Main challenge is to try to collect all the relevant data with detailed explanations into one paper. Another challenge is to run a number of tests that will output the visualized data that will help to determine best options to scale web application. The web application which will be tested in different environments is MediaWiki - a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now used by several other projects of the non-profit Wikimedia Foundation and by many other wikis. MediaWIki is one of the most popular applications for running personal wiki, very powerful, therefore very demanding of resources. At the same time it is easy to scale which is why it makes MediaWiki the ultimate base application for research in terms of the thesis.
Graduation Thesis language
English
Graduation Thesis type
Bachelor - Information Technology
Supervisor(s)
Satish Narayana Srirama
Defence year
2012
 
PDF Extras