Thick API Gateways

I came across the term 'Overambitious API Gateways' from Thought Works tech radar. The point is, whether is it good or bad to have business logic in the API Gateways? Since the term Gateway is not a functional requirement and serves the purpose of a reverse proxy; it is quite obvious that including business logic … Continue reading Thick API Gateways

Design an online forum application on Azure Table Storage

NoSQL technologies provide solutions for issues that relational databases cannot provide. At the same time, designing an application on top of a NoSQL technology requires specific technology dependent design decisions and architecture. This post addresses the issue and explains how to model a real world problem using Azure Table Storage. This is neither an introduction … Continue reading Design an online forum application on Azure Table Storage

Circuit Breaker Pattern for Cloud based Micro Service Architecture

Modern applications communicate with many external services; these external services could be from third party providers or from the same provider or they are components of the same application. Micro service architecture is a great example for disconnected, individually managed and scalable software components that work together. The communication takes place using simple HTTP endpoints. … Continue reading Circuit Breaker Pattern for Cloud based Micro Service Architecture

Advanced Caching Techniques

These are the techniques, how objects are stored and retrieved from a cache. Read Through Write Through Read Ahead Last week I wrote about Cache-Aside pattern and provided a code sample of a minimal implementation of Cache-Aside pattern to get started with Redis. (intentionally tested using Redis on Azure). The code sample also has a … Continue reading Advanced Caching Techniques

Cached-Aside Pattern using Redis on Azure

Cache-Aside is a common pattern in modern cloud applications. This is a very simple and a straight forward one. The followings are the characteristics of the pattern. When an application needs data, first it looks in the cache. If the data available in the cache, then application will use the data from the cache, otherwise … Continue reading Cached-Aside Pattern using Redis on Azure

Let’s hookup with ASP.NET Webhooks Preview

Webhook – A simple HTTP POST based pub/sub mechanism between web applications or services. This is a very effective that most of the modern web applications use this in order to handle event based pub/sub. ASP.NET WebHooks is a framework which is in the preview release; this eases the task of incorporating webhooks in ASP.NET … Continue reading Let’s hookup with ASP.NET Webhooks Preview

Singleton Pattern

Singleton pattern is a simple design pattern in software practice and sometimes considered as an anti-pattern due its tight coupling nature. A very simple non thread safe implementation of the Singleton pattern would be like this. Singleton non thread safe class Singleton {   privatestatic Singleton _instance;   private Singleton()   {     Console.WriteLine("Singleton instantiated"); … Continue reading Singleton Pattern