From monoliths to microservices
In the fast-paced world of Capital Markets, businesses are always looking for technological trends to help them execute their core competencies better and better.
One trend that has been steadily growing in popularity since 2019 is the deployment of software applications as discrete and independent microservices, coordinated by a container orchestration layer.
Instead of a single monolithic application comprising, for example, a single application package running on a virtual machine (VM) and communicating with a shared database and shared webserver, a microservice architecture involves multiple small services which share as little as possible, and which can be independently deployed, updated and replicated in any environment. Each microservice is typically placed in its own container, which is a package of specific dependencies for each application.
The clusters of containers are managed, configured and orchestrated by innovative open-source technology called Kubernetes, deriving from the Greek term for helmsman.
Describing this trend and how it benefits financial markets, Beeks’ Kubernetes expert and Performance Engineer Mauro Rappa says: “Containerisation enables the software to be dissociated from the underlying infrastructure. Kubernetes then takes responsibility for all the background jobs involved in application deployment, so organisations only need to worry about their code.
“Although virtual machines were a huge improvement on physical servers, even VMs need to run an operating system which requires patching, configuration and security. Nowadays VMs represent much more static, complex and expensive technology in comparison with Kubernetes.”
Impact of Kubernetes technology on Capital Markets DevOps
Kubernetes is integral to the product plans for Beeks’ Group’s Infrastructure-as-a-Service (IaaS) hosting offer, freeing up in-house development teams to build the applications that will deliver the most value to their business without worrying if the infrastructure will support the capability.
“It’s vital that our customers get to develop the software capabilities that make the biggest difference to their trading position,” says Matt Cretney, Beeks’ Head of Product Management.
“With the confidence of the established Beeks environment supporting the Kubernetes layer, our clients can fully unleash the creativity of their development teams.”
Key benefits of Kubernetes
The open-source, provider and platform-agnostic nature of Kubernetes technology brings many benefits to Capital Markets institutions.
Management efficiency
With Kubernetes at the helm of application implementation and updates, any changes to the underlying machine configurations, CPU footprint and memory allocations can be easily managed in one place.
Policies, permissions, workload and batch scheduling can also all be orchestrated through Kubernetes, down to geographical or personnel profiles.
“With containerisation, the setup itself may be complex but once Kubernetes is up and running the management overhead is comparatively low,” says Rappa.
Ease of replication
Production grade deployments need multiple replications, and Beeks’ clients demand speed, flexibility and agility in spinning up trading environments wherever they want.
While new implementations on virtual machines need to take into consideration the code, applications, operating system and necessary libraries to make them work, this is made more straightforward with Kubernetes.
Kubernetes enables applications to be set up once and then replicated across all required platforms, whether on-premise, private cloud, or (increasingly) hybrid cloud with multiple cloud providers across different geographical locations.
Uncompromising security and performance
The introduction of an infrastructural Kubernetes layer in no way hampers the low latency and security Beeks’ customers rely on.
Comparing physical-to-physical connectivity with container-to-container, Beeks have conducted successful tests with customers and other financial market players which satisfactorily demonstrate
there is no adverse impact on performance, either for multicast traffic, total throughput or latency profile.
As Cretney explains: “We leveraged all the Kubernetes features to optimise workloads and achieve predictable performance as fast as possible in latency-sensitive contexts. For example, we showed how the choice and tuning of an underlying operating system for the Kubernetes worker node, combined with careful choice of the appropriate CNI and NICs, can present a consistent latency profile even during high-traffic periods, ensuring performance is the same for all customers.
In addition, security and auditing capabilities are enhanced through automatic tracking of activity within the container cluster. Since Kubernetes can store and manage secrets and credentials, these will not be disclosed outside the container.
Permissions can be more fine-grained also, with greater configuration control over developer access to logs, containers or microservices.
Risk mitigation and disaster recovery
Digital signing of each application provides reassurance that what is being implemented is what the developer built.
If rollouts go wrong the orchestration platform triggers an immediate automatic rollback to the previous version, with Kubernetes also allowing a limit to be set on the percentage of live traffic that passes through a new application version.
“The freedom and safety in deployment this brings is a massive benefit and avoids all the planning, checking and disruption of a Big Bang implementation,” says Rappa.
Technical debt elimination
Since system parameters, addresses and policies are all externally configured in the Kubernetes layer, containerisation introduces a dynamism that demands well-disciplined, dependency-aware software development practices.
“DevOps have to think more broadly and carefully about the context and ‘intelligence’ of the application for it to survive,” explains Rappa, “so weak points such as hard-coded shortcuts are a thing of the past.”
This means future changes can be easily applied without risk of negatively impacting dependent functionality. It also means that development teams spend less time fixing issues, and more time building features.
Colocation, colocation, colocation
Whilst there are numerous public cloud Kubernetes offerings available, the key difference with Beeks’ container hosting platform is that it is already fully integrated into the established co-located infrastructure in Beeks’ financial exchange data centres.
Cretney comments: “Beeks’ colocations have been built up over the last decade to be best-in-class for financial services, and we guarantee the highest quality physical links and network optimisation from exchange to customer servers.
“If your financial application requires all the benefits of network connectivity, security, and extreme low latency compute tailored to Capital Markets requirements, then adopting data centre co-located Kubernetes is a natural progression.
“Although well-optimised, public cloud container orchestration does not have this colocation advantage, which can introduce risks of higher latency and unpredictability,” says Cretney.
“Nevertheless,” he adds, “Beeks colos can take advantage of public cloud visibility and elasticity, for example, accessing market data or low-risk workload scheduling alongside our Kubernetes setup.
“This means we can recruit public cloud instances during peak traffic times, while at quieter times these instances can be turned off. The beauty is that this scheduling can all be configured through Kubernetes.”
How Kubernetes complements Beeks’ IaaS offering
Since 2011 Beeks Group has led the way in co-locating dedicated, virtualised and cloud-enabled architecture to deliver on-demand, ultra-low latency compute, high-performing connectivity, and maximum security in Capital Markets’ trading environments.
Over the years Beeks have made it their business to listen, understand and respond to their financial services customers’ needs and requirements.
Consequently, they have honed their Infrastructure-as-a-Service offering to suit client demand.
CEO Gordon McArthur is steadfast in his vision for Capital Markets technology. He says: “We’ve got a long and unique history of delivering flexible, cost-efficient and on-demand compute in Capital Markets and financial services.
“We guarantee that the financial institutions we host on our platforms can rest easy knowing that the underlying infrastructure is ready and available for them to use to their best advantage.
“Kubernetes is the next evolution in streamlining Capital Markets technology to deliver world-class trading environments. While virtualisation improved on physical servers, it still gave development teams a lot more to think about than they should have to.
“Now Kubernetes means our clients only need care about their application containers rather than having to manage and navigate various Operating Systems. In the same way as the cabling and connectivity, we can now manage the OS environment on their behalf too.
“This is the next logical step in adding value, minimising risk and making commercial sense to our customers.”
beeksgroup.com | hello@beeksgroup.com