patterns for scalability and
play

Patterns for scalability and availability in (trading) systems Michel - PowerPoint PPT Presentation

Patterns for scalability and availability in (trading) systems Michel Andr CTO Saxo Bank October 6, 2014 Saxo Bank introduction Global online investment bank facilitator/broker setup - offices in 25 countries clients in 180


  1. Patterns for scalability and availability in (trading) systems Michel André – CTO – Saxo Bank October 6, 2014

  2. Saxo Bank – introduction  Global online investment bank – facilitator/broker setup - offices in 25 countries clients in 180 countries  Specialises in online trading and investment, servicing retail clients, corporations and financial institutions  A leading presence in online trading due to client service, competitive pricing and industry-leading trading platforms.  Enables private investors and institutional clients to trade FX, CFDs, ETFs, Stocks, Futures, Options and other derivatives via multi-award winning online trading platform.  3 rd generation technical platform and evolving – Microsoft based, mostly custom developed in house  10 of thousands of concurrent users, 100 of thousands of price updates/sec, very high transaction peaks around numbers and market state changes. 2

  3. Core Business Model Cloud based – Platform as service – White label 3

  4. Truly multi-asset / single account Forex FX Options  40+ crosses  160+ crosses  Tradable quotes  Tradable quotes  Broad coverage 1d-1y  Request for quotes OTC  Vanilla, binary touch  Margin CFD Bonds  8700+ stocks, 22 index trackers,20  Wide range sovereign, government, commodities corporate bonds  Tradable quotes, extensive liquidity  Offline traded  Algorithmic orders/Smart order  Collateral routing/DMA Stocks ETFs & ETCs Exchange Traded  2270+ exchange traded funds (ETF),  18400+ equities commodities (ETC)  33 exchanges  Algorithmic orders/Smart order  Listed, traded and settled as stocks routing/DMA Futures Contract options  230+ base contracts  66+ base contracts (stock indicies, commodities, interest rates, forex)  22 exchanges  Margin  17 exchanges  Margin (SPAN/Portfolio) 4

  5. Workflow/service requirements Trading & Order handling Risk Price/instruments Content execution Order Pre trade/pre Tradable quotes Price formation Charts management order risk checks Request for Margining Order routing Price distribution News Quotes Credits DMA Access Order execution Account summary Reference data Analysis/research Settings Authentication Authorization Subscriptions Profiles (SSO) Claims Configuration 5

  6. The numbers … Over 13,000 concurrent online clients - operational and open 5.5 days * 24 hours 6

  7. Business challenges Unified and compelling Cost-efficiency client experience • Technology sharing • Reuse • Across devices/platforms • Avoid duplication and • Across products proliferation • Across segments • Across geographies Faster time to market Compliance and and flexibility regulation • New products • Regulated in many geographies direct/indirect • Features/sophistication • New geographies 7

  8. Critical business flows – where milliseconds matter Price formation Feed Handler Price Price Price Price IN Connectivity Aggregation Distribution OUT e H d g e Liquidity H Clients Margin e check d g e Flow Exposure Trade handling calculation capture Trade processing 8

  9. Challenge - Business growth – with corresponding data growth 9

  10. Trading systems are ” Reactive systems” - at heart … … core design principles mapped to tenets of reactive Message Responsive Elastic Resilient Driven • Casual/eventual • Scale out on • Redundancy • Event driven / consistency commodity (active/active) Message based guarantee hardware • No single points of • Losely coupled • Horizontal • Horizontal failure through topic scaling/partitioning scaling/partitioning based pub/sub • Automated of work sets of work sets (location seamless failover independent) • Asynchrounous/fire • Swift capacity • Survive with and forget growth by reduced service a interaction where horizontal scaling datacenter it can be supported failure/outage • Very high • State replication throughput and tight latency requirements http://www.reactivemanifesto.org/ 10

  11. Technical Environment Microsoft through and through • Windows 2008/2012 servers • SQL Server 2012 Middleware/Messaging • 29West / Informatica (Multicast messaging and persistence) • WCF • MS Biztalk (Integration backoffice/enterprise) • Plain old sockets Standard Windows Services (.NET C#, C++, IIS 7.5) Shared in process components for business logic and caching Monitoring, instrumentation & tracing • Velocimetrics • SCOM • Standard Windows performance counters • Eventlog and Logfiles Cisco infrastructure • ISP Grade • MPLS 11

  12. Target architecure – front office REST based Open API with streaming over websockets for services Presentation layer for different clients and front ends. Scales horisontally. Sticky sessions. Front loading of business logic. High performance messaging middleware with horisontally Open API scalable persistence (Prices, Trades, Orders) Back end, infrastructure services, horisontally partitioned and fault tolerant (redundant) Data store running mirroring/HA. Single instance. Active/active MESH Large grained shared segmenting/partioning of components encapsulating in- workloads along some axis process buslogic and in 12 memory data

  13. Interesting patterns Scalable session managment shared streaming channel among service groups, pluggable servic groups Asynchrous transaction logging backed by messaging system Open API Meshes of partioned servers executing realtime automated business processes and actions Witness server to acheive seamless failover (active/active) Monitoring/Tracking 13

  14. Traditional architecture – start state Throughput bottleneck. Polling latency Polling latency • Long latency • Database bottleneck • Capped throughput (by DB) 14

  15. Asynchronous Transaction Registrations – Target state (3 gen) Blotters and Transaction fully aggregate views verified and accepted updated immediately • Scalable • Resilient • High throughput • Low latency • Event driven • Long latency • Database bottleneck • Capped throughput (by DB) Transaction message Transaction picked persisted in memory in 2 up and processed, machines of 3 (Quorom) aggregate sent out for resilience, replay Transaction asynchrounously written to DB 15

  16. Asynchrounous Transaction Registrations – Final Twist (fully active) Transaction published as a persitent message Transaction received by logger 2 Transaction received by logger 1 Transaction fails gracefully by logger 2 Transaction booked by logger 1 • Simple • Robust • Failure code path always executed • No failover logic Trading DB (Mirror) Trading DB (Principal) 16

  17. Its not all architecture and technology • Hire the best • Performance culture People • Cultivate engineering mindset and agility • Supporting management • Change/Release • Test/quality Process • Incident management • Monitoring • Close cooperation • Agile methodology Business • Change managment • Hamper complexity 17

  18. Learning points - liabilities  Architecture needs resilience, scalability, monitoring, supportability built in and taken care from the start due to complexity and number of nodes/ci  Synchronize projects and implementation with infrastructure (machine rooms, firewalls, network segmentation - is also part of the solution)  Do gradual rollout and provide rollback and backwards compatibility to decrease operational risk of large architectural impacting changes.  This comes at a cost both in development and phasing out of old style clients  Test and verify thoroughly  Your architects might get skinny and loose some hair 18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend