Introduction
The article is an entry to Windows Azure Developer Challenge, addressing both practical and didactic aspects of Azure project development:
- First Challenge: Getting Started. Done
- Second Challenge: Build a website. Done (link)
- Third Challenge: Using SQL on Azure. Work in progress
- Fourth Challenge: Virtual Machines. On schedule
- Fifth Challenge: Mobile access. On schedule
The main goal of this Azure challenge project is to upgrade the application backend to run on more powerful SQL engine (expecting better scalability/responsiveness) and migrate the app to Azure cloud platform (expecting simplified application maintenance, monitoring and change management).
BENEFITS FROM MIGRATION TO AZURE
- From a Web developer perspective, it's like a web hosting service, but a really good one. I found web deployment and change management to be rather straightforward and reliable process.
- Scalability would be another potential benefit of migration to Azure cloud.
- Intrinsic modularity of Azure platform is adding huge value to web development, and future project enhancements/upscaling.
- Multiple web project integration on Azure seems to be relatively easy process due to modularity (mentioned in the previous line item 3) and efficient resource sharing.
- Data Layer is of particular interest to me. There has been an issue with my current host service provider when I tried to find reliable/simple SQL server backup/restore/migration procedure pertinent to my multiple remote DB. I hope that Azure team has properly addressed that quintessential issue. In particular, I would like to have installed multiple file-based DB (like "good-old" Microsoft Access .mdb, or the latest newcomer SQL Server 2012 Express edition .mdf files), which I can simply copy-paste to another web app upon necessity with minimal DB-connectivity headache.
In the meantime I am rather satisfied by my practical experience of creating the first fully-functional web application (algorithm-centric online Engineering Calculator VOLTA [5]), and now am in a process of creating this essentially data-centric app on Azure platform.
Background
Existing app (NY Trivia Quiz) is currently implemented as ASP.NET/HTML5 web application powered by synergetic technology set: ASP.NET, C#, ADO.NET, SQL, CSS3, Ajax and jQuery (see the sample screenshots, linked to the fully-functional web application):
Fig. 1. NY online trivia-quiz, updated daily (sample screenshot)
Fig. 2. NY online trivia-quiz, updated daily (sample screenshot)
Fig. 3. NY online trivia-quiz, updated daily (sample screenshot)
Fig. 4. NY online trivia-quiz, updated daily (sample screenshot)
Application content (continuously updating) has been created by author and shortly after its first introduction became rather popular among fellow New Yorkers, and also nationwide [3,4].
Using the code
Coding technique pertinent to this project was partially discussed on Codeproject [1,2,].
More code snippets will be added as the work progressing.
Points of Interest
A minor side issue has been resolved in a context of this project, namely: conversion from the Microsoft Access (.mdb) to SQL Server Express (.mdf) file. There are (at least) two options available:
- Database Tools (upsize wizard) included in MS Access (I am using Office 2010)
- Import and Export tool in SQL Server (I am using SQL Server 2012 Express edition)
I had previous experience with bot of them, and do prefer the latter for this job.
History
- 04/26/2013: Existing Quiz engine was encapsulated in .ascx for better modularity
- 04/29/2013: Microsoft Access database converted to SQL Server Express edition (.mdf file)
- 05/04/2013: Dedicated web site has been added to Azure account ("nyc")
- 05/08/2013 Azure Storage account was created to hold .bacpac file
References
- Click/select Row in ASP.NET GridView or HTML Table
- HTML5 Tables formatting: alternate rows, color gradients, shadows
- How well do you know New York City: pop-quiz 1
- How well do you know New York City: pop-quiz 3
- Hello, Azure-Volta Calculator! Oh, joy of dividing by 0
- Windows Azure Quiz Engine