Increasing demand for computing resources and widespread adaption of service-oriented architecture has made cloud as a new IT delivery mechanism. Number of cloud providers offer computing resources in the form of virtual machines to the cloud customers based on business requirements. Load experienced by the present business applications hosted in cloud are dynamic in nature. This creates a need for a mechanism which allocates resources dynamically to the applications in order to minimize performance degradations. This paper presents a mechanism which dynamically allocates the resources based on load of the application using vertical and horizontal scaling. Cloud environment is set up using Xen cloud platform and multi-tier web application is deployed on virtual machines. Experimental study conducted for various loads show that proposed mechanism ensures the response time is within the acceptable range.