Anyone who has ever popped open the hood of someone else’s code has noticed the same thing: software is getting really complicated. Even with the growing prevalence of low-code options, some seasoned programmers would rather build everything from the ground up than use coding with build-in limitations. While this may mean that your bit of code works precisely how you want it to work, your coworkers can’t make of heads nor tales of it.
You’ve probably heard a lot about microservices recently from blogs, podcasts, and social media. You may have also read our own blog about the “LEGO approach” to microservices that outlines how building applications by chaining microservices together can feel just like the sensation of constructing LEGO towers as a child. Microservices have significantly simplified development, deployment, maintenance, scaling, and migration. When you are focusing on fixing bugs in one microservice, you don’t need to take into account the other microservices in use for the specific workflow or the business process. Similarly a specific node or the microservice can be scaled on individually among the chain of microservices without affecting other nodes and offering superior performance efficiencies. Similarly, migrating a microservice from one server to another is just a simple one-line command and can let you run components across the datacenters and clouds.
It is true that starting from scratch to build an application now seems so more simple with microservices. But how can you apply this architecture on your one million lines of legacy code that has already been running for years? The common answer would be to change the API so that it can be compatible to other microservices. However, the cost of this approach can be prohibitive and could discourage developers.
Thanks to protocol agnostic messaging oriented middleware, RoboMQ, you can handle this situation elegantly. With RoboMQ you can choose one of the two options to breathe the life back into your old application without digging into its archive of the code. “ThingsConnect” is our suite of connectors and adapters for IoT devices, enterprise systems, and SaaS applications supporting all industry standard data integration protocols. It is more than likely that ThingsConnect can talk to your application as of today. Since we cover most of the common application protocols, ThingsConnect can act as a Bluetooth dongle for your grandfather’s PC, a Wi-Fi controller for your three dollar light bulb, or a touchscreen control panel for your thermostat.
Option 1: Go Fully Microservice
If suitable, we recommend to convert the application itself into a microservice. Simply build a Docker image that contains the application and ThingsConnect connectors of your choosing. In this approach, developers look at the application in a new light, as illustrated below:
Fig 1: Dockerizing a legacy application
Option 2: Deploy ThingsConnect connectors as API gateway
Not everything is suitable for a container, in some situation, it might be a better choice to leave the application as it is but put ThingsConnect connectors as its API wrappers. Our connectors are highly portable units and are designed to run both on-premises and in the cloud, so you have the freedom to deploy them anywhere you want.
Fig 2: Wrap API gateway around legacy applications
By transforming the legacy application into a microservice, you also unlock many of the advanced features that RoboMQ provides, such as:
- Guaranteed delivery that ensures that you never lose a single transaction.
- Monitoring and analyzing the data traffic.
- Receiving alerts triggered by customized events.
- Designing and deploying new workflows without programming using the Flow Designer.
You could now build your business workflows using a collection of legacy applications and new microservices chained using RoboMQ integration middleware in highly scalable and truly distributed fashion.
A move to microservices can simplify many of the technical issues faced by older systems as well as leverage the wonderful advantages of ThingsConnect and the RoboMQ platform.
Interested in jumping into the microservices world? Get in touch with us at sales@robomq.io and let us show you how we can give your application a boost.
For more details on Microservice based architecture, please checkout out the microservices page on our website.