The goal of this thesis was to research technologies that support real-time communication in web applications and, in particular, implications on scalability and high availability. The thesis proposes an alternative approach to improving scalability and high availability by using Erlang, a highly concurrent programming language. The first part of the thesis researches existing technologies used for developing real-time web applications and explains the scalability and high availability requirements. In the second part of the thesis, four client-side prototypes and two server-side prototypes are built and several test scenarios are performed using automated scripts and cloud-based distributed load testing architecture. From the collected results it can be concluded that the server’s underlying technology stack, most of all the programming language, can significantly impact the resource allocation and therefore consecutively improve scalability and high availability of the solution.
|