EasyEquities Blog

The Evolution of the EasyEquities Platform

Written by TeamEasy | Feb 28, 2023 7:36:00 AM
The EasyEquities platform has proven to be both stable and efficient over the past several years, despite triple-digit year-on-year growth across metrics since 2019.

Our Chief Technology Officer, Paul Jansen van Vuuren, shares some of the latest statistics, enhancements, and modernizations made to the platform to cater to this growth:

The biggest challenge we faced was in March 2020 when we experienced a sudden and unprecedented increase in demand from retail customers for access to the platform. This capacity issue was quickly fixed through high availability configurations of data storage, increased caching through a partnership with Synatic, and increased server capacity through the introduction of additional load balancing capabilities on both the front- and back-end servers.

These figures show the average number of transactions per month:

  • 2019: 200,000
  • 2020: 820,000 (>300% growth)
  • 2021-2023: 1,000,000

However, transaction count alone doesn’t reflect the amount of data entries handled by the platform. Consider the average volume of accounting entries the platform handled per month:

  • Full-year 2020: 5 million
  • Full-year 2021: 10.8 million
  • Full-year 2022: 11.7 million
  • January 2023: 13.2 million

Customer activity in South Africa and Australia increased significantly as well. In 2019, we averaged 25 logins per minute. In 2020, this increased six-fold to 152 logins per minute. This put a lot of pressure on our systems and our team had to increase capacity very quickly to stabilize platform availability. The number of logins per minute almost doubled in 2021 and has remained steady since then.

We recently ran a platform modernization programme that has set us up for our present requirements and into the future. We have deployed APIs to enable distribution channels through partnerships with Capitec, Discovery Bank, and Telkom. We also modernized our platform components to take full advantage of containerization and orchestration platforms through the Amazon Elastic Container Services and Kubernetes clusters in our virtual private cloud environments.

One of the challenges of growing the business through partner distribution is that your maintenance windows are reduced considerably. We needed to change how we did things when we entered into these partnerships.

The modernization has assisted us by allowing our engineering team to roll out changes without disruption to the platform. These technologies and techniques are commonplace in businesses that have had the luxury of designing with a cloud-first strategy whereas we have needed to pivot from monolithic application architecture to a cloud-first or cloud-native architecture, all while keeping the lights on.

To do this, we introduced standards-based authentication and authorization using Open ID Connect to enable Single Sign-On across our products. We also introduced data streaming capabilities to enable an event-driven architecture. More than 25% of our components have been upgraded to take advantage of this technology.

Furthermore, we have partnered with LSD to further improve our platform capabilities in the public cloud.

Switching to a distributed, event-driven architecture means that sometimes things might get out of sync. We have had to deal with a number of challenges in this regard, some of which we are still facing. Switching all processes and internal systems to use the same methodology is a lengthy process and our approach has been to improve the most critical components systematically.

Dealing with exponential growth

As part of our planning to grow the business globally, we have identified further areas of improvement. Our focus in 2022 was primarily on:

  • Deploying our technology stack to public cloud infrastructure and taking advantage of, specifically the AWS EKS and RDS to scale our back-end components. We coupled this with Confluent Cloud Kafka for event streaming and removed any remaining bottlenecks in our messaging infrastructure.
  • Moving our APIs to the AWS API-Gateway and ECS
  • Conducting extensive performance testing to identify any unforeseen bottlenecks with the change to infrastructure. Especially of concern to us was how our databases would perform within the RDS environment. Some improvements that we made during this testing are highlighted below:
    • Transactions per second (tps) were capped by an older message queueing technology at 17 tps. Switching to the Kafka-based event streaming allowed us to increase to over 60 tps, an almost 300% improvement, with a minor change. We are confident that our choices will allow us to grow well into the future.
    • Logins per minute were tested up to 1 303 instances. To put that into context, it is 250% more logins per minute than our current peak.
    • The current trades per second in our current deployment is approximately 1 to 1.2 per second at peak. Our performance testing within the AWS environment yielded in excess of 31 trades per second.
  • We also made advances in the auto-scaling and auto-healing capabilities within this environment.

Uptime stats

EasyEquities has a publicly accessible status board showing platform uptime. This board is available at: https://status.easyequities.co.za/.

Here are the uptime statistics for the app and the website:

  • App (we split how we host the app from the website version in 2020)
    Mar 2021 to Feb 2022 – 99.626%
    Jan 2022 to Feb 2023 – 99.941%
  • Website
    Mar 2021 to Feb 2022 – 99.677%
    Jan 2022 to Feb 2023 - 99.940%

Change and improvement cadence

We have intentionally slowed down our delivery cadence to focus on improving our delivery pipelines. It is important for us to ensure consistency in our deployments. Modern technologies make this process easier, but we still require time to increase confidence in the process, and importantly ensure repeatability in the process.

As our manifesto states, we drive fast, but safe. We want to create an environment that is conducive to rapid innovation cycles at much higher cadences than we’ve operated in before.