Improving Performance of Web Applications Using ...

6 downloads 325129 Views 1MB Size Report
NET templates; in order to illustrate the services and features associated with Microsoft Azure Platform. Keywords— Cloud Computing, Web Hosting, Microsoft ...
Improving Performance of Web Applications Using Cloud Resources Neeraj Mangla1, Jaskirat Singh2, Manpreet Singh3 1

Department of Computer Science & Engineering, M. M. University, Mullana, Ambala, Haryana 1

[email protected]

2,3

Department of Computer Science & Engineering, M. M. University, Sadopur, Ambala, Haryana 2

3

[email protected] [email protected]

Abstract— Cloud computing has emerged as one of the enabling technologies that allows the business and IT world to use computer resource effectively and more efficiently. Microsoft Azure provides a Windows based environment for running applications and storing data on servers in data centers; SQL Azure provides data services in the cloud based on SQL Server; and .NET Services offer distributed infrastructure services to cloud-based and local applications. The main objective of the paper is to outline the steps involved in developing and deploying applications for Microsoft Azure Cloud Platform. It also includes the performance analysis of cloud hosting over traditional web hosting. The sample application is a website, designed using the Microsoft Visual Studio environment and utilizing open source .NET templates; in order to illustrate the services and features associated with Microsoft Azure Platform. Keywords— Cloud Computing, Web Hosting, Microsoft Azure Platform

I. INTRODUCTION In today’s highly competitive business environments, Enterprises have been striving to reduce the amount of capital and time in acquisition and maintenance of computational resources. The emergence of cloud computing [1],[2] is rapidly changing this ownership-based approach to subscription-oriented approach in which everything- from computing power to computing infrastructure, applications, business processes to personal collaboration- is delivered as a service wherever and whenever required [3]. Web hosting is the business of providing server space, web services and file maintenance for websites controlled by companies or individuals that do not have their own web servers [4]. The advancement in Web technology has made it feasible for any user to access the requisite information on the internet. Cloud hosting is about hosting customer application using well monitored virtual servers in the cloud without any physical space limitation and resource usage limit [5]. In cloud hosting, the resources required for maintaining the customer web applications are spread across a number of servers and are rendered as per need basis. In [6], authors presented a discussion on cloud computing and the deployment strategy of two tier web based applications on cloud. Enterprise Content Management (ECM) system helps

978-1-4799-6896-1/14/$31.00 ©2014 IEEE

to capture, store, manage, integrate and deliver all forms of content across the company. Today, decision makers have possibility to move ECM systems to the cloud and take advantages of cloud computing. In [7], authors proposed all possibilities and actions during the implementation of ECM in the cloud. In [8], the challenges before the conventional ERP implementations are analyzed. The research work is aimed at comparing the performance of traditional ERP systems with cloud base ERP architectures. A general development advisor called CloudDia that employs mixed-integer programming and constraint programming techniques to efficiently search the space of possible mapping of application nodes to virtual instances is proposed [9]. In [10], authors presented the detailed execution steps for a computationally expensive application on Microsoft Azure platform and its cost comparison with Amazon web services. In this paper, the services and features of Window Azure platform are demonstrated through the deployment of a web application providing on-line music facility. II. APPLICATION DEVELOPMENT The application developed is a website acting as Online Gurbani music stores based on ASP.NET C# platform. Online Gurbani music store must support the broadest range of users to listen the Kirtan of the Lord’s Praise for the treasure of peace. On this website, users can listen many shabad of Gurbani of their own choice and view daily Hukamnama from Darbar Sahib. Besides this, some YouTube video of shabad moments are also available. A number of media player are created using different scripts of Jquery. The visual appearance of standard media players is still heavily online internet dependent. A.

Key Components of Developed Website

The website is created using Microsoft Visual Studio 11.0 and the following folders are added to it: • • • • •

One for images For Cache layer Controller Data Layer Models

• • • • • B. • • •

• • • • • • •

Views Business layer Shared Partial View Uploaded Music Others Initialization Phase Start Microsoft Visual Studio. Select New Website from Visual Studio File Menu. In the New Website dialog, choose “Visual C#” and “MVC 4.0 based application” as the project type and “Internet website” as the template type.

Company Controller Login Controller Track Controller Wallpaper Controller Entity Controller Index Controller Home Controller

Process to add controller is Right click on Controller folder then add new class C# based and named it _____ Controller.

Automatically login, image, controller and model folder are created. One App Code folder is created which allow classes to be auto compiled and generally consumable within ASP.NET project. C.

Designing of Master Page

If master page is not build automatically then right click on Solution Explorer and select add new item. In the Add new item select “Master Page” and type “Site.master”. Create banner and it looks a gurbani portal view. Drag an ASP.Net image control from toolbox and go to properties window and set the image URL as shown in Fig.1.

Fig. 2 Key Functionalities Available at Gurbani Portal

E.

Fig. 1 View of Gurbani Portal

D.

Controller

For dealing with different tasks, the following controllers are used as shown in Fig. 2. • Album Controller • Artist Controller

Music Player

In this website, Jquery plug-in music player is used with following reference in _layout.cshtml page. In web config file, a connection is established with sql server 2012 by specifying the following connection string:

III. APPLICATION DEPLOYMENT AT CLOUD PLATFORM The following steps are performed to deploy the database pertaining to developed application from SQL server to Microsoft Windows Azure Platform.

STEP 3: Now open Microsoft SQL server as shown in Fig. 5, then right click on Database → Task → Deploy Database to Azure

A. Steps For Deployment of Database From SQL Server To Cloud STEP 1: Sign in to manage.windowsazure.com as shown in Fig.3.

Fig. 5 Interface for Deployment of Database on SQL Azure

STEP 4: Click on connect in server connection in Deployment Settings as shown in Fig. 6. Put Server Name, Password and Server Key (bphlpkbinl.database.windows.net) for SQL Server Authentication. Fig. 3 Microsoft Azure Sign – in Window

STEP 2: Click on SQL Database and create a Server with new Account Name and new Password. Then copy server key (bphlpkbinl.database.windows.net) which connect the database of developed application from Microsoft SQL Server to Window Azure Server as shown in Fig. 4.

Fig. 6 Microsoft SQL Server Authentication on Azure Platform Fig. 4 Interface showing connection between Microsoft SQL Server to Window Azure Server

It takes few minutes then a new database will be created in Window Azure.

B. Steps For Deployment of Website From Visual Studio To Cloud STEP 1: Sign in to manage.windowsazure.com STEP 2: Click on Website → Quick Create, give URL of customer choice (gurshabad) then click on create website as shown in Fig.7.

STEP 4: Right click on the Website application designed in Visual Studio to see its Publish Web property. Click on Publish Web property and import here, the Publish profile downloaded from the dashboard of Azure Platform. STEP 5: Click Validate Connection→ Publish and the website will be deployed on Window Azure Platform. IV. PERFORMANCE ANALYSIS This section highlights the merits of cloud hosting over traditional web hosting with relevant parameters. A. CPU Utilization In windows azure based cloud, there is facility to see CPU utilization at different time intervals i.e. 1 hour, 24 hours or week wise details are available which is a cumbersome approach in normal web hosting.

Fig. 7 Interface for Website creation on Azure Platform

STEP 3: A website is created with URL http://www.gurshabad.auzurewebsite.net, now Download Publish profile from dashboard of this website and it will be imported to the visual studio as shown in Fig. 8.

Fig. 9 CPU Utilization Interface

Fig. 9 shows high CPU utilization on 10th March 2014 between 12:40 pm and 12:45 pm, the rationale behind the steep peak is the testing of deployed website (gurshabad.azurewebsite.net) in terms of handling load during this time interval using loadimpact.com website, where 50 users from different regions in the world are trying to access the deployed website simultaneously. B. Database Unit Expenses The data transfer out facility in azure based cloud gives information regarding the amount of data downloaded from cloud hosted website to the host computer along with the cost associated. Fig. 8 Deploying Website on Azure Platform

and configured. This entire process can take days or weeks depending on the level of complexity. D. Application Response Time Fig. 12 to Fig. 17 depicts the effect on response time of cloud web hosting (www.gurshabad.auzurewebsite.net) and normal web hosting (www.gurshabad.net) due to variation in load. When 30 Clients accessed the cloud based site and normal web site, the average response times are 3.50 sec and 3.89 sec respectively, as shown in Fig. 12 and Fig. 13.

Fig. 10 Data Unit Expenses Interface

Fig. 10 shows that between 12.40 pm and 1:00 pm the data out is high. The advantage of cloud hosting is as and when the data out increases, the cloud provider can increase the allocated bandwidth in accordance with the Service Level Agreements unlike in traditional web hosting.

Fig. 12 Impact of Load on Cloud Based Website (Client =30)

Fig. 11 Database Connectivity Interface

Fig. 11 shows that between 12.00am to 1.00 pm, 6 connections are established with database during access to website. Whenever a user starts running any shabad track on website, the database connection is established. The website owner can use this information to increase the database storage on cloud immediately in order to support more users, a facility difficult to implement in normal web hosting. C. Deployment Time With Azure Based Cloud, a ready-to-use server can be deployed quickly and easily. On the other side, to deploy a new dedicated normal server significant amount of work and time is required. Hardware must be selected, hard drives, memory, and networking equipment must be installed. Individual software applications need to be installed, updated

Fig. 13 Impact of Load on Normal Website (Client =30)

When 50 Clients accessed the cloud based site and normal web site, the average response times are 3.44 sec and 4.55 sec respectively, as shown in Fig. 14 and Fig. 15.

V. CONCLUSION The organizations are rapidly moving to cloud solution for deploying web applications rather than running them locally. Microsoft Window Azure is a cloud platform that provides services for developers to build, deploy and manage applications. In this research work, the services and features of Window Azure platform are demonstrated through the deployment of a web application providing on-line music facility. The future work will be oriented towards the performance comparison of various cloud providers (Microsoft, IBM, Amazon, Google) in terms of providing effective support to the deployed web applications. The existing work can also be extended in determining the security services offered by Window Azure platform. REFERENCES [1] [2] [3] [4] [5] [6]

Fig. 14 Impact of Load on Cloud Based Website (Client =50) [7]

[8]

[9]

[10]

Fig. 15 Impact of Load on Normal Website (Client =50)

Q. Zhang, L. Cheng and R. Boutaba, “Cloud computing: state-of-the art and research challenges,” Journal of Internet Services and Applications, Vol. 1(1), pp. 7-18, 2010. P. Mell and T. Grance. Definition of cloud computing. Technical report, National Institute of Standard and Technology (NIST), July 2009. L. Gonzalez, L. Merino, J. Caceres and M. Lindner, “A Break in the Clouds: Towards a Cloud Definition,” Computer Communication Review, Vol. 39(1), pp. 50-55, 2009. D. Canali, D. Balzarotti and A. Francillon, “The Role of Web Hosting Providers in Detecting Compromised Websites,” International Conference on World Wide Web, pp. 177-187, 2013. D. Sarna, “Implementing and Developing Cloud Computing Applications,” CRC Press, 2010. N. Charan, S. Rao and P. Srinivas, “Deploying an Application on the Cloud”, International Journal of Advanced Computer Science and Applications, Vol. 2(5), 119-125, 2011. J. Klegova and I. Rabova, “Enterprise Content Management In The Cloud”, ACTA UNIVERSITATIS AGRICULTURAE ET SILVICULTURAE MENDELIANAE BRUNENSIS, Vol. 61(1), 22952301, 2013 C. Navaneethakrishnan, “A Comparative Study of Cloud based ERP systems with Traditional ERP and Analysis of Cloud ERP implementation,” International Journal of Engineering and Computer Science, Vol. 2(9), pp. 2866-2869. T. Zou, R. Bras, M. Salles, A. Demers and J. Gehrke, “ClouDiA: a deployment advisor for public clouds,” Proceedings of the 39th International Conference on Very Large Data Bases, pp. 121-132, 2012. Kim, Insik, Jae-Yoon Jung, Todd F. DeLuca, Tristan H. Nelson, and Dennis P. Wall. "Cloud computing for comparative genomics with windows azure platform." Evolutionary bioinformatics online, Vol. 8(1), pp. 527, 2012.