Microservices Architecture

Microservices has been a buzzword in software engineering recently. Everyone wants to build their application around Microservices architecture. Before you jump onto the bandwagon, let’s do a critical review of Microservices. We will look at the cases where it is appropriate along with  advantages and disadvantages. Before we proceed let us look at how to…

Building Scalable Applications Part 1: Handling Transient Failures in Cloud Applications

While there are numerous advantages of deploying on the cloud, there are no guarantees that the cloud platform services will respond successfully every time. In a cloud environment periodic transient failures should be expected. The approach should be to minimize the impact of such failures on the application execution by anticipating and proactively handling failures.…

Building Scalable Applications Part 2: Design for the cloud

In the previous post, we covered the benefits of moving to the cloud for scale. In this post, we will look at some best practices to build applications for the cloud. 1. Use messaging to decouple components One of the important principles of scalable application design is to implement asynchronous communication between components. To start…