Update: Revamping of core API infrastructure

Kailash
Kailash edited December 2016 in General
Dear developers,
A few months ago, I'd made a detailed post describing our plans to rebuild the core APIs from scratch (replacing our vendor TR's solutions with our own). We've been hard at work at this, and I'm pleased to announce that we have made significant progress and have achieved impressive results.

In our benchmarks, the API connectors we're building outperform our vendor's by several orders of magnitude. For example, we're able to serve a fairly large order book (~100 orders) over HTTP in under 50ms. Our solution is also able to handle 20 to 30x more requests per second with a single process on a single server without any latency penalties or timeouts. In addition, the new architecture is also highly scalable and fault tolerant.

Over the next several weeks, we hope to replace our vendor's connectors with our own, in a phased manner. So, very soon, the Kite Connect APIs (and the Kite trading platforms) should become noticeably faster, stable, and highly reliable. This has become possible only because of the unprecedented low-level access to the OMS TR has given us, which we previously, never had.

Once this deployment is complete, we'll start releasing several enhancements we've been planning for the Kite Connect APIs.

In addition to this, Zerodha is making major investments in creating a new disaster-scenario setup (geographically separate data centre) as a contingency plan to be prepared for unlikely, but possible disaster events.

Thank you for your continued support.

Kailash
  • maravinthkumar
    Great and appreciated very much.
  • pivottrading.net
    Superb . Great news. Keep it up Great work guys !!!!
    Will await final release.
  • Raj-Tech
    @Kailash Happy to know that! I cant't wait for the release!
  • botany02
    @Kailash
    Great Work...!!! Keep doing....!!!

    Could You Pls confirm the below...?
    1. Present Setup
    Kite Client --> Kite Server --> TR OMS --> Exchange

    2.Future Release
    Kite Client --> Kite Server --> Exchange

    If second one is the case then, it is really awesome, this will beat the Pi/Nest Trader as those are still rely on TR. Please give more weightage to Scalability since most of the problem with TR is that it is not scalable during peak time and stuck when it receives more request.

    Many Brokers have large client base, But Only Zerodha has Large Active Client Base which results in large number of order request hitting OMS.

    Congrats Once Again...!!!
  • Vivek
    @botany02 The future setup will still be using core TR OMS which is pretty solid as per our test but the issue we had till now was the XML api layer they had written top of the OMS which was a huge bottleneck for our current setup. As per our early tests we achieved at least 10x improvement in the speed and more stability.
  • botany02
    @vivek
    Thanks for the Clarifications.
    So TR OMS is stable but only their API's (XML,COM(Used by Pi) etc) having issues,
    Kite Connect will use own XML API instead of what provided by TR.
    Is there any progress going on COM API also...?
  • Kailash
    @botany02 Yes. We're completely ditching the high level TR-OMS APIs and building our own low-level connectors directly into the TR-OMS.
  • itsram90
    Amazing news, keep up good work guys, Merry Christmas and best wishes for new year.
  • sudhirshettyk
    Great achievement in such a short span of time .
  • dummydost
    dummydost edited January 2017
    @Kailash @vivek Are there any other surprises from Zerodha for 2017?
  • malay
    Great!!!
    Keep up the good work!!!
  • MAG
    MAG edited January 2017
    "For example, we're able to serve a fairly large order book (~100 orders) over HTTP in under 50ms."
    Does that mean that there could be an option to get more orderbook (market depth) data?
  • Kailash
    @MAG We already stream live market depth data (5 levels) over the WebSocket API.
  • Vijaykrsingh
    Great work, keep enhancing.
  • yar.srikanth
    great news.. Zerodha should be aspire for market leader position now. All the best..
  • sabyasm
    @Kailash @vivek

    With the speed up in latency and more volume handle capability, would you consider increasing the api call limitation (3/sec) to something more flexible like 5/sec?

    Also - would it be possible for you to add a features in api calls to accept list wherever applicable instead of single order_id? For example kite.orders() to take list of orderids? It used to be slow and cause failure for large orderbook. However, I hope this will be improved a lot with the new setup in place.

    Another feature request: kite.order_cancel is one of the api call which would be a big beneficiary in case of a) several orderids are passed in a single call b) increased request/second threashold.

  • sujith
    @sabyasm,
    Please create new thread for queries as it can help others also who are looking for the same query.
  • malay
    @Kailash @vivek @sujith
    As you guys already tempted us with news about the update; and it's already near march end; can you guys give us any updates regarding the same?
  • Vivek
    @malay Around 60% our API is already moved to the new system. Calls like orderbook, holdings and positions are now served from our new API and in a month or so it will be migrated completely.
  • bingo
    @Kailash That's great news.
    This has become possible only because of the unprecedented low-level access to the OMS TR has given us, which we previously, never had.
    What's OMS TR?
  • bingo
    @Kailash That's great news.
    This has become possible only because of the unprecedented low-level access to the OMS TR has given us, which we previously, never had.
    What's OMS TR?
  • malay
    @Kailash Thanks for the great news & such a quick response.
  • sujith
    @bingo,
    OMS - Order management system which connects broker to exchange.
    TR - Thomson Reuters is our OMS vendor.
Sign In or Register to comment.