In this blog post, we are going to focus on microservices – what they are, what benefits they can provide for your organisation, and how they can not only provide immediate improvements in trading system performance but also help future-proof trading systems when it comes to technology evolution and adaptation (such as cloud migrations).
Microservices are an architectural paradigm that combines many different concepts and best practices, including domain-driven design, continuous delivery, platform and infrastructure automation, scalable systems, polyglot programming, and persistence[1]. They represent a practical implementation of Robert C Martin’s single-responsibility principle, which essentially states that things that change for the same reason should be grouped together, while things that change for different reasons should be separated. Applied in practice, applications can be split out into a set of distinct and separate microservices that can be combined and reused as required, but can also be developed, deployed, and maintained independently.
The Perks of Microservices
In short, microservices enable you to break up your problem into smaller, more manageable components. This in turn can enable better functionalisation and regional distribution of application development and support teams. Microservices also enable a better spread of knowledge across your organisation – if you can break a problem down into discrete, simplified units, it becomes easier to understand and manage. They’re also easier to maintain and make systems easier to maintain, as individual components can be upgraded or replaced separately, without affecting the functioning of the application as a whole. If a certain microservice requires upgrades for performance or other non-functional enhancements, this can be applied without impacting the rest of the application or its overall functionality.
This is also great when it comes to future-proofing your trading system; individual microservices can be upgraded to leverage new and emerging technologies, without having to change the entire system. An example is cloud migrations. These are typically multi-year programmes that can be quite costly and potentially disruptive. Due to project plans and dependencies, this may also mean that core trading system upgrades are deprioritised until the migration is complete, which can impact performance and competitiveness against other market participants. We’ve worked with some of our banking clients to help them implement a two-stage process for managing cloud migrations of essential trading systems. The first step is to break down their monolithic trading systems into microservices. These can then be migrated incrementally to the cloud, with minimal disruption.
Coordination Introduces Latency
There is a downside to using microservices, and that comes in the form of added latency. Microservice-based architectures require an additional layer of infrastructure to bring together all the components, and for trading systems, this can end up adding as much as 2000 microseconds between microservices through messaging latency. Chronicle’s Platform and its microservice-based architecture utilise a very low-latency persistent messaging framework between microservices, that adds orders of magnitude less latency.
Chronicle Services to the Rescue
Using microservice-based architectures, as we’ve seen, has a whole host of benefits. It enables better teamwork, on a more distributed basis – a trend that has been emerging over the past decade but has been rapidly accelerated in the course of the Covid-19 pandemic. Ultimately, it allows organisations to better have better control over their technology strategy and infrastructure.
Chronicle has implemented microservice-based architectures in a number of financial institutions, both sell-side and buy-side, including tier-1 banks, asset managers and hedge funds, and ranging from off-the-shelf to more customised solutions depending on the client’s unique requirement.
Here are some examples of the deliverables:
- Chronicle EFX is a multi-asset trading solution used globally by many major banks and hedge funds. Chronicle EFX is based on the Chronicles Microservices framework and utilises Chronicle Queue to provide ultra-low-latency inter-process communications, delivering a simple, elegant solution for all your trading needs.
- Chronicle FIX is a performance optimised, full-featured, asset class agnostic FIX Engine. The FIX engine seamlessly integrates with Chronicle’s Microservices including our EFX components, Matching Engine, and custom Microservices. Using this as a starting point, Chronicle has developed tailored solutions for individual firms, providing low-latency pricing, auto hedging, order management, and market connectivity.
- A leading Tier 1 FX trading operation was using an FX pricing and trading solution that was limiting the business opportunity in both trading strategy and execution. Chronicle worked with the client to deliver a bespoke Java-based FX Pricing, Trading, and Auto Hedger. This was built and deployed within six months, utilising standard components including Chronicle Queue and Chronicle Map, in conjunction with a team of experienced consultants.
[1] This definition was taken from Jetinder Singh’s very useful article on the “The What, Why and How of a Microservices Architecture: 8 Keys to Help You Get Started Today”