Technical Specifications
Tahoe Analytics is a high-performance calculation engine for investment portfolio analytics. This page explains some of the technical details so that the DevOps engineers in your organization can evaluate the hosting and running options.
|
Harness the Power of Node.js and V8
Due to the performance characteristics of modern JavaScript engines such as Google's V8, we were able to write the Tahoe Analytics calculation engine in pure JavaScript and yet rival the performance of more traditional languages such as C or C++. This means that the engine can be hosted anywhere where Node.js is available, which is essentially everywhere. In fact, since the implementation is pure JavaScript, the software runs not only under Node.js, but wherever a JavaScript engine such as V8 or Chakra is accessible, like inside a Web browser.
|
We currently host the Tahoe Analytics engine on Amazon AWS, using API Gateway as the web server and Lambda as the backend. This setup provides excellent scaling, load balancing, and security. We give you a URL and an API key, you make HTTPS POST requests in JSON format as per our documentation, and we send back the results in JSON format, as documented by us.
|
The Tahoe Analytics calculation engine is a single JavaScript file, ranging from approximately 120k to 170k depending on how many statistics you want. There are no external dependencies. Therefore, the only requirement on your server or cloud hosting platform is that the backend supports Node.js. In particular, you can avail yourself of the automatic scaling and load balancing capabilities of platforms such as Amazon Lambda + API Gateway, Amazon Elastic Beanstalk, Google AppEngine, or Heroku dynos, to name a few.
|
JavaScript is eating the world. A growing number of companies, such as Netflix, Paypal, and Uber, to name a few, are writing much or all of their server backend software in JavaScript and run it under Node.js. If that's you, then you can use the Tahoe Analytics calculation engine directly as a Node.js module, with no further dependencies, bypassing the HTTP requests to a server.
|
The Tahoe Analytics engine is designed from the ground up to run in a Web browser just as easily as under Node.js, without the use of bundlers such as Browserify. With a footprint of around 150k, the impact on your client side code is small. If you are planning on using the engine to power charts in your website or web app, performing the calculations in the browser may be interesting because it allows for smooth interactive charts.
|