Technology

Is your legacy eTrading infrastructure slow and inflexible?
Ours isn't.

All of our technology is built in house.

We use several technologies and methodologies to provide the highest performance for eTrading:

Continuos Delivery

What is Continuous Delivery?

Its aim is to satisfy the customer through early and Continuous Delivery of valuable software. It is the first principle of the Agile Manifesto - done means released. Continuous Delivery creates a repeatable, reliable process for releasing software

How do we create a repeatable/reliable process?

  • Build pipeline
  • Everything in version control
  • Every commit creates a release candidate
  • Executable Spec – ATDD
  • Build quality In
  • Automate almost everything
  • Keep mainline always releasable

Why Continuous Delivery?

We use Continuous Delivery so that we can release to production weekly. We can build software quicker and respond to changing customer requirements

Acceptance Test Driven Development

  • Integration and Unit tests to evaluate components of code
  • Tests are running continuously
  • If Acceptance tests fail the production line stops!
  • Acceptance Tests against stub
  • Compatibility Tests against venue UAT environment
  • Single Source Tree
  • Release to production every 2 weeks

What is Aeron?
A fast, efficient, reliable UDP message transport

What does Aeron do?
Very fast market data throughput via UDP but also adds some features of TCP, like Ordering, Reliability and Flow Control

How Fast is Aeron?
20 Million messages/sec

Why Aeron?
Whilst reliable, TCP is slower. UDP is fast but not reliable. Aeron provides Fast and Reliable messaging.

What is Aeron Cluster?

Aeron Cluster provides fault tolerance for stateful applications by sequencing client messages and replicating them to multiple redundant servers.

What is Aeron Archive?

High performance record and replay of Aeron Streams to durable storage.

What is SBE?
A standard for encoding and decoding FIX and other application protocols in Binary format.

What does SBE do?

  • Fast encoding /decoding of messages at presentation layer
  • Makes use of native CPU level instructions
  • Precision of Decimal numbers/time stamps in native binary format
  • Differentiates fixed length character arrays from variable length strings
  • Preference for fixed position/fixed length fields

How Fast is SBE?
30 Million + messages encoded/decoded on a single thread per second

Average Latency?
30 nanoS per message

What is a Nano Second?
1 billionth of a second
= 0.000 000 001 seconds

Why SBE?

  • Encoding/Decoding messages often uses more CPU time than business logic
  • FIX requires the management of a significant volume of variable length elements which must be sequentially processed
  • SBE’s fixed length fields can be processed much faster
  • Using binary also keeps bandwidth down when sending messages over a WAN