Case Study: Migration of an enterprise product to AWS Cloud – Part 3

This blog comprises of 4 parts: Part 1 – Choosing the cloud provider Part 2 – Challenges Part 3 – (This entry) Roadmap to migration Part 4 – Learnings We hope you find this blog useful as you plan migrations to cloud from in-premise and vice-versa. Do reach out to us at info@indexnine.com to help…

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, lets 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…

Apache Kafka: What sets it Apart?

Each day, large amounts of data and metrics are collected from real time activity streams, performance metrics, application logs, web activity tracking and much more. Modern scalable applications need a messaging bus that can collect this massive continuous stream of data without sacrificing good performance and scalability. Apache Kafka is built ground up to solve…

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.The…

Building Scalable Applications Part 3 : Cloud features that help you scale

In previous posts, we covered the benefits of moving to the cloud for scale and the design principles of building scalable applications. In this post, we will look at a typical reference architecture for a cloud based scalable application and cloud features that help your application scale.Architecture The below listed figure illustrates a reference architecture…

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 with…