In our days public clouds are getting more common, thanks to the comfort they
provide by taking over the management and maintenance tasks of the complex
infrastructure, which is necessary to operate an IT service. Furthermore, in certain
execution modes – particularly on the PaaS or Platform as a Service level – they also
provide a number of useful features that can help building efficient and scalable
However, to be able to fully utilize the advantages of the PaaS environment, an
application should also be correctly prepared for its special nature. There are cases when
an application which could be easily implemented in a regular environment needs to be
redesigned or extended significantly to properly fit in the cloud.
In this thesis I will describe the most important steps of building a web based,
real-time chat application which can run on Microsoft's Azure platform, utilizing the
advantages of the PaaS concept.
In this case the difficulties are caused by the default Round-Robin behavior of
the built-in Azure load balancer, which eliminates any possibility of using the Reverse
AJAX technique, which could deliver real-time notifications to a web based client.
To get around the issue I employed an Azure feature called InstanceInput
endpoint, which allowed me to implement some sort of affinity (or sticky) load
balancing, bypassing the default load balancer.
In this paper I will first briefly review the utilized technologies, and then show
the detailed architecture of the complete program and parts of its implementation.
Finally, I will examine the scalability of the given application by taking it under a
simpler load test.