Skip to main content

Performance and reliability

A surefire way of connecting retail clients with primary market offers in a dynamic, digital-first ecosystem, is adopting a scalable and highly-performant API.

To ensure the process is as efficient and future-proof as possible, the PrimaryBid Connect API architecture is simple, secure, reliable, and designed with high availability in mind.

Most importantly, we designed it to help our Partners maximise the synergies between scalability and performance.

  • Scalability is the ability to support simultaneous requests without a negative impact on performance.
  • Performance is the speed at which the API can process requests and interact with other services.

Enterprise-grade scalability

A truly scalable API infrastructure supports significant volumes of traffic and exponential demand growth. To reduce complexity and provide faster response, PrimaryBid Connect API employs the best industry practices.

Methods we employ to optimise API scalability

REST architecture

Our API follows the Representational State Transfer (REST) software architectural style. REST allows a separation between the server and the client, making data routing more simple, fast, flexible, and scalable. Being a RESTful application, the PrimaryBid Connect API:

  • Is much simpler to integrate than, for instance, a SOAP API.
  • Interacts via ubiquitous standards like the HTTP protocol and JSON.
  • Offers a layered system whose components are easier to upgrade.
  • Provides a uniform, easy-to-follow interface whose logic is familiar to developers.

Stateless interactions

To optimise the efficiency and the load to our servers, our API is stateless, which means it doesn’t need data from previous sessions to fulfil requests. Eliminating this dependency translates into the following benefits:

  • Each API call is treated independently.
  • The API can be deployed to multiple servers.
  • Many users can call the endpoints at the same time.

Gateways

For highly-scalable API deployment, security and routing, our architectural pattern uses gateways. An API gateway is a single entry point for all users that directs each request to the appropriate backend service. The advantages of an API gateway include the following:

  • Reduces the number of API requests by aggregating responses from multiple services and sending them back as a single response.
  • Provides an optimal API experience for each API end user.
  • Serves as a security barrier against deliberate or accidental API misuse.

Cloud-native connectivity

To connect microservices and gateways, we use an advanced autonomic system designed to solve the problems of scalability, availability and performance while having a high throughput. Its fire-and-forget messaging pattern with built-in queue handling across replica sets has a minimal footprint. Its simplicity and fault tolerance are enhanced by:

  • Native clustering.
  • Simple, text-based protocol.
  • The ability to expand the architecture without affecting running services.

Load balancing

While API gateways balance the number of requests, our API calls are also naturally load-balanced to account for network traffic. Our application is configured to dynamically scale with spikes in demand and also be pre-scale for larger volume offers ahead of schedule.

To handle heavy loads, the PrimaryBid platform is intrinsically built to scale out, once it’s triggered by key indicators such as:

  • CPU utilisation (based on max request i.e. 80% utilised of 1 vCPU).
  • Memory utilisation (based on max request i.e. 75% utilised of 512Mb).

Status checks

To allow Partners to monitor our API in a scalable way, we introduced a GET/healthcheck endpoint. This fast, standardised diagnostic tool can be periodically used to:

  • Verify the operational status of the PrimaryBid Connect API service.
  • Check the application’s health and ability to connect to dependencies.
  • Proactively monitor and identify issues instead of relying on user reporting.

Webhooks

Webhooks are a valuable and widespread way to achieve seamless integration between various applications for time-sensitive events such as offer notifications. To deliver an almost instantaneous PrimaryBid Connect API experience, we use three types of webhooks:

  • Offer open.
  • Offer closed.
  • Allocations available.

Webhooks eliminate the need for time-consuming “manual” polling. By automatically pushing deal-related notifications in real time, API users receive the information they need the moment an important event takes place, for instance, the launch of an IPO.

Continuous monitoring

We constantly monitor and improve our API performance to ensure it’s aligned with the highest expectations. By carrying out periodic load testing across the platform, our teams can promptly identify and eliminate bottlenecks.

To further provide full test coverage, from start to end, we automate end-to-end (E2E) testing right into the continuous integration/delivery (CI/CD) pipelines. Also, our static analysis tooling and unit tests check every feature and every line of code. To create confidence across all system components and dependencies, we:

  • Simulate complete API user journey scenarios.
  • Run tests through multiple user groups and applications.
  • Check how different types of users interact with the API.
  • Ensure that each step of the process is completed before moving to the next.
  • Make sure the processes still work as expected whenever we make changes.

Alerts

Instant notifications are in place which our on-call teams monitor 24/7 to ensure we handle incidents in a timely manner. The engineering department within PrimaryBid receives alerts that allow us to fix issues quickly and efficiently, maintaining the Mean Time to Recovery at minimum levels.

PrimaryBid also monitors the health of 3rd party dependencies, so in case major global outages occur, we can mitigate the risks and notify the affected parties as soon as possible.

API performance metrics

An indicator of the magnitude of our API scalability is Requests Per Second (RPS). It shows the maximum number of API calls one user can make without compromising the API performance. The current limit of 150 RPS delivers a highly-performant API experience that is flexible enough to sustain business growth. (more information on the Rate Limits page).