Tag: Deployment Architecture

nginx

Nginx Reverse Proxying and Load Balancing with Keepalived

Nginx is one of the most famous web servers in the today’s market which provides a set of features that the Enterprise can utilize to scale out the infrastructure. Today, we are going to focus on installing Nginx on Ubuntu, setting it up as a reverse proxy and to load balance (high availability) with Keepalived. I have done a similar article for HAProxy some time back (if you are interested check this link). Without further ado let’s jump into the installation of Nginx. In order to complete the following tutorial, you will need two servers/nodes and a floating IP/virtual IP. Further, if you don’t intend to set up a HA cluster you can direct yourself to part 02 of the tutorial.

Part 01 : Load Balancing

Step 01: Install Nginx

SSH to the node 01 and get root access or go with sudo. The below command will get an update of the packages. Read more here.

Let’s install Nginx now.

Now you have a Nginx server up and running. Go to the browser and type your IP and see. You should get the below output.

nginx node 01

– Read More –

High Availability Deployment Architecture

What’s High Availability

High availability is a critical success factor for any given enterprise application. Today we’ll go through how to design and deploy an application with high availability. First things first. Let’s see what’s high availability.

High availability is a characteristic of a system, which describes the duration (length of time) for which the system is operational. – Wikipedia

In simple words high availability can be defined as running a system 24*7 without a downtime even if there are hardware and software failures. In other way a fault tolerance application. This helps ensure uninterrupted use of the application for it’s intended users. If you need more information you can read this article. Also you might be thinking when is the right time to introduce high availability in your application? The answer is here.

Following is an architecture that supports high availability. It’s the minimal requirement to implement high availability in your application(Note that in the database cluster you can have master-slave instead of master-master depending on your requirement).

High Availablity Deployment Architecture

High Availablity Deployment Architecture

– Read More –