The way of building & creating real-world cloud application with Azure2 Dec 2014
Software of information technology developers, particularly .NET developers are curious as to developing for the cloud, with the consideration of moving towards the computing technology or are new to the development. Those who are already developing for it could learn more ideas that would help them be more successful in the process.
In the process, the Fix It app home page is a sample app which is a simple work item ticketing system. When something has to be fixed, one could create a ticket and assign it to someone and others could log in and view the assigned tickets and mark them as completed when the work is accomplished. It is a standard Visual Studio web project and built on the ASP.NET MVC using an SQL Server database. It could locally run in IIS Express and may be deployed to a Windows Azure site to run in the cloud. Log in could be done by using forms authentication and a local database or through using a social provider like Google.
The moment one logs in, he or she could create a ticket, assign it to someone and upload an image of what one wants to be fixed. The next step is to create a Fix It task for tracking the progress of works created, view the tickets assigned, view its details and mark items as completed. The environment cloud used for this application is a service of the Azure platform that is called websites. The service is a way to host ones own web app in the platform without the need to build VMs and keep them updated, installed and configured IIS and many more.
Behind the scenes Azure sites service offers many architectural features and components that one has to build if hosting a website using IIS on ones own VMs. One component is the deployment end point that configures IIS automatically and installs an application on as much VMs as needed to run the site on. When a user hits the site, they do not directly hit the IIS VMs but instead they go through the ARR or Application Request Routing load balancers. These could be used with own servers. Nevertheless, the benefit here is that they are set up automatically. They utilize a smart heuristic that take into consideration factors like queue depth in IIS, session affinity and CPU use on every machine for directing traffic to the VMs that are hosting the site. When a machine goes down, Azure pulls it automatically from the rotation, spins a new VM instance and begins directing traffic towards a new instance, all without downtime for the app.
All this takes places automatically and all that is needed is to build a site and deploy an app to it using Windows Power-Shell, Windows Azure management portal or Visual Studio. One of the biggest advantages of developing applications in and for the cloud is that it is easy for automating repetitive development jobs like making a test environment and deploying the code to it.