Showing posts from February, 2019

Azure Chronicles - Scaling Mule

Overview In the previous post , we saw how to install and test Mule run time on a standalone VM in Azure. In this post, we will take it a step further to scale out the Mule run time. There are several ways one could scale a Mule runtime. They are - Anypoint Cloudhub Anypoint Runtime Fabric (internally uses Docker and Kubernetes at the moment) Container as a Service provided by multiple cloud vendors - Google Container Engine, Amazon Container Service, Azure Container Service etc. Build your own cluster with containers As we go down the above list, the level of details we need to get into is more. So, this post will get into explain how to implement option 4 above. We will make use of various technologies and Azure components such as - Docker, Containers and Azure VM Scale Set to achieve it. For those of you are new to these concepts, we will go through each of the steps in detail. Application Let's use the same Mule API that was created in the previous post.

Azure Chronicles - Mule

Overview Continuing from the previous post , I now move to the other end of the spectrum, from Raspberry Pi to the cloud. Microsoft Azure cloud has been making impressive strides in the cloud space, especially among the enterprises. This is an experiment of running the same Mule run time in an Azure cloud server. The server is created in the East US Azure location. I created an A series server (Extra Small) in Azure using the ARM templates. An A series Extra Small server has 1 CPU core and 07.GB RAM. On this server, the Mule run time is on a JVM with 256 MB heap size. Then, I then ran some scripts to perform the following -  Install Oracle JDK 8 Configure the Mule run time (version 3.9) Deploy a simple REST based API in Mule Objective The purpose of this experiment is to test how much load can a very simple REST API in Mule handle, while running on a very low specification server in Azure. I wanted to see how the Mule run time would perform from a performance per