The JMS Bridge Sample introduces an architecture which allows your to bridge from your existing on-premisses messaging broker (IBM® MQ in our example) to a managed message broker in the cloud (Amazon MQ in our case).
Quite often, these message brokers are interfaced by many applications and customers struggeling how to migrate these applications to the cloud. To reduce the risk, they don't want to migrate in a "big bang" one step szenario, but looking for an architecture which allows a step by migration to move one service after the other to the cloud.
In this sample, we are setting up an environment as below. To simulate the on-premises message broker, we are running IBM® MQ in AWS Fargate. For the managed message broker in the cloud, we are obviously using Amazon MQ. To run the JMS bridge sample to exchange messages between both message broker, we are also using AWS Fargate because we don't want to reduce the time as much as possible, to manage an operate the solution.
To build and run this example, you have to follow 3 steps we will discuss in detail.
-
Step 1: Deploy the on-premises broker - Here, we are creating a Docker image which contains the IBM® MQ broker to have an easy way to run this broker in AWS as Amazon ECS task, managed by AWS Fargate.
-
Step 2: Deploy the Amazon MQ broker - Here, we are provisioning a managed Amazon MQ broker, we are using during this demo.
-
Step 3: Set-up the JMS bridge sample services - Here, we are creating Docker images for all three JMS bridge sample services and uploading these to Amazon ECR, our managed private image repository. This gives as an easy way to run these applications in step 4.
-
Step 4: Deploy the sample service of your choice - Here, we are deploying one of the three JMS bridge samples, we have prepared for you.
-
Step 5: Generate load to see auto-scaling in action - Here, we are generating load to verify, how auto-scaling kicks in and scales our JMS bridge.