Skip to content

A place to drop things while I'm learning about the stack that is used at Man AHL

Notifications You must be signed in to change notification settings

VikSil/Reengineering_Man_AHL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Reengineering_Man_AHL

Background

In July 2024 I was contacted by a headhunter looking to hire a Python Engineer for the Man Group. In order to prepare for an interview I spent a few days studying the tech stack that was listed in the job description [3]. Nothing really came of the interview, but I did come up with a possible overall architecture diagram (see below) and found out that Man AHL are largely open source. This repo is a place to put stuff as I learn more about their tech stack.

Architecture Components

The folowing technologies have been mentioned in connection to Man Group in various open sources:

Component Source Description Logo Notes
ENVIRONMENT
Bare Metal 2. Hardware

Server

Linux 5. OS

Linux

OpenStack 5. Cloud IaaS. Basically, soft for provisioning bare metal into cloud resources

openstack

Prometheus 5. Server monitoring soft

prometheus

Mentioned in close association with Grafana in source 1.
Grafana 5. Data visualisation soft

grafana

Mentioned in close association with Prometheus in source 1. Probably used to visualise output from Prometheus for continuous server monitoring
INFRASTRUCTURE
Docker 5. Containerisation soft, allows to deploy standardised images of other softs hardware agnostically

docker

Kubernetes 5. Container management soft

kubernetes

Ansible 5. Infra as code, provisioning soft

ansible

DATASOURCE
RMDS/TREP 1. Reuters Mentioned in close association with Kafka in source 1.
Kafka 5. Event logger

apachekafka

Mentioned in close association with RMDS/TREP in source 1. Probably used to log tick data into files
STORAGE
ArcticDB 4. Man's in-house open source data storage solution

arcticdb

Mentioned in close association with MongoDB in source 1.
MongoDB 5. File based DB

mongodb

Mentioned in close association with ArcticDB in source 1.
Oracle 5. Relational DB

oracle

MINING
Elasticsearch Indexing/search engine

elasticsearch

Infering that Man uses this from ELKDocker, as it looks like a fitting solution to index datafiles in Mongo
Spark 1. Analytics engine for large-scale data

apachespark

Probably both Apache Spark and PySpark
Airflow 5. Workflow management soft for data engineering pipelines

apacheairflow

PROGRAMMING
Python3 - numpy 5. Array maths library

numpy

Python3 - scipy 5. Scientific computing library

scipy

Python3 - pandas 5. Dataframe manipulation library

pandas

Python3 - scikit-learn 5. Machine learning library

scikitlearn

Python3 - TensorFlow 5. Machine learning library

tensorflow

Java 5. General purpose programming language

java

C/C++ 1. General purpose programming languages

cplusplus

Bash General purpose scripting languages

bash

Unconfirmed, but Airfow uses bash to integrate with non-python scripts and source 4. mentions scirpting
CI/CD
Jenkins 5. Development pipeline automation soft

jenkins

Bitbucket 5. Repository

bitbucket

Jira Issue management soft

jira

Unconfirmed, but BitBucket has tight integration with Jira and source 4. mentions agile
TBD
ELKDocker 1. Is this deviantony/docker-elk ?

Speculative Architecture Diagram

Architecture Diagram

Learning Resources

In order to get a better grasp on the technologies listed above, I have compiled a list of learning resources, available here.

Sources

  1. JD – Python Engineer – Market Data Platform.pdf (non-public)
  2. PyData: James Blackburn - Python and MongoDB as a Platform for Financial Market Data, last accessed 2024-06-15, https://www.youtube.com/watch?v=FVyIxdxsyok
  3. LinedIn_Ad_15-06-2024 14-09-47.png
  4. ArcticDB homepage, last accessed 2024-06-15, https://arcticdb.io/
  5. LinedIn_Ad_19-06-2024 20-39-27.png

About

A place to drop things while I'm learning about the stack that is used at Man AHL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages