Shiju Varghese's Blog

Cloud First and Mobile First

  • Microsoft MVP For Sixth Time

    I am delighted to announce that I have been awarded Microsoft Most Valuable Professional 2015 award in Microsoft Azure.This is my sixth Microsoft MVP award in a row (2010 - 2015). 

  • Using Azure Event Hubs As A Message Hub For IoT Scenarios

     When we build apps for larger IoT scenarios or working on Big Data solutions, one major challenge would be to handle millions of messages received from hundreds of systems where these messages will be subscribed by hundreds of other systems. To handle this kind of problem using our traditional enterprise messaging systems and publish-subscribe message brokers would be really a challenge as we need to handle massive amount of stream of data in a second, in which we may need to process the data and events in near real-time. Our most of the existing publish-subscribe message brokers would be failed when we deal with millions of messages in a second. Technologies like Apache Kafka solves this problem by providing a high-throughput distributed messaging system with a distributed commit log. Kafka is designed for cluster-centric design where you may need to leverage distributed coordination tools such as Apache ZooKeeper for coordinating and synchronizing the cluster nodes. This may leads to lot of operational complexity when working with larger distributed systems.

  • Building Distributed Cloud Apps With Azure WebSites, WebJobs And Azure Service Bus Topic

    In my previous blog post, Building Distributed Cloud Apps With Azure Cloud Services And Azure Service Bus Topic, I have introduced a reference Azure app for developing multi-tiered distributed apps using Azure Cloud services and Azure Service Bus Topic. In that app, we have used two Azure worker roles for running a background processing system and a Notification Hub. This app is same like the previous one, the only difference here is that we are replacing two Azure worker roles with two WebJobs and running in a Azure  WebSite. In the previous system, we have used a one Azure web role and two Azure worker roles for an ordr processing demo app. Here we replace these three systems with one WebSite, which is also working as the host for two WebJobs. In short, we replace the worker role with WebJobs. The extra functionality which we have added in this version is the distributed caching with Azure Redis cache.

  • DocumentDB - NoSQL Database As A Service On Azure

    Microsoft Azure team has announced a new NoSQL database named "DocumentDB". DocumentDB is a fully managed, massively scalable, NoSQL database as a service on the Microsoft Azure cloud platform. This is a right movement from Microsoft as the existing Table storage was not effcient comparing to other NoSQL databases available in the market. In my initial evalution, DocumentDB is the most feature rich NoSQL databse comparing to many popular NoSQL database.  In DocumentDB, we can write Trigger, Stored Procedure and User Defined Function (UDF) in JavaScript. 

  • Sample App With ASP.NET Web API and ReactJS

    We have just started a sample app for demonstrate building apps with ReactJS and ASP.NET Web API.  An early version of the app can available on github at . Please note that the ReactJS version of the app is not a final version, but it is an early version which will continuously refactor with a proper Flux architecture. The RESTful API written with ASP.NET Web API 2.

  • Microsoft MVP On Microsoft Azure

    I am delighted to announce that I have been awarded Microsoft Most Valuable Professional 2014 award in Microsoft Azure.This is my fifth Microsoft MVP award in a row. Last four years, I was received Microsoft MVP award for my contributions to ASP.NET, but this time I am honoured with Microsoft Azure MVP award.

  • Using Azure Redis Cache As A Persistent Storage For ASP.NET Session State

    In this post, I will demonstrate how to use Azure Redis Cache for storing ASP.NET session state. In Azure, In-Proc session mode does not work as our application will be working with sticky sessions on a load balancing scenario. In this context, ASP.NET  session state and caching do not work so that we have to put ASP.NET state information on a persistent storage. And it is very important that we should develop the cloud apps in stateless manner so that we can easily scale our apps. In Azure, we can leverage the following storage options as a persistent storage for storing ASP.NET state information.

  • Pub/Sub In Node.js Apps Using Azure Service Bus Topics

    In my previous post Building Distributed Node.js Apps with Azure Service Bus Queue, we have discussed how we can design distributed apps in Node.js by leveraging Microsoft Azure Service Bus Queues. Service Bus Queue provides brokered communication between apps regardless of whether hosted on Cloud or on-premises server. Service Bus Queue is designed for delivering the brokered messages to single consumer or an app. We can say that Service Bus Queue is providing a one-to-one communication infrastructure. But, in many scenarios, we may need to deliver the brokered messages to multiple consumers or apps, where we can use Azure Service Bus Topics and Subscriptions which provides a one-to-many communication with a publish/subscribe pattern. Service Bus Topics are built on the top of Service Bus Queues for working with publish/subscribe scenarios. In this post, I will take a look at Azure Service Bus Topics and Subscriptions for implementing publish/subscribe pattern in Node.js apps.