Building Distributed Cloud Apps With Azure Cloud Services And Azure Service Bus Topic

We have been developing few sample apps for providing guidance on building cloud apps with Microsoft Azure. We release the first sample app for building distributed apps on Microsoft Azure. The guidance app is available on github at https://github.com/AccelNA/azure-guidance.

Here is the infomration about the sample app:

Technologies:

Azure Cloud Services

Web Role

Worker Role

Azure Service Bus Topic

Azure Notification Hub

Azure DocumentDB

Azure Web Sites

Solution Architecture

Problem Domain

Order processing app in a distributed computing environment.

Application logic should be deployed into multiple systems so that individual systems can separately scale-up and scale-down in Cloud.

An order request from customer, should notify to multiple systems – including mobile apps.

Cross platform mobile apps should be able to receive real-time push notifications from Cloud powered systems.

A RESTful API for working as backend for mobile apps.

Solution Workflow

End user submits an order through a web app which hosted in Azure web role.

The Azure web role publishes a message into Azure Service Bus Topic for the subscribers of the system in a distributed computing environment.

A worker processor running in a Azure worker role subscribes the message from Azure Service Bus Topic , then process the order and finally persist the data into a NoSQL Database – Azure DocumentDB.

A notification hub hosted in Azure worker role subscribes the message from Azure Service Bus Topic, then send cross platform, real-time push notifications to mobile apps running in Android, iOS and Windows Phone.

The web app hosted in Azure web role shows the status of orders which is processed in worker processor.