Zoom is a platform created by Spot Trading to manage real-time application startup, configuration and dependency management. Zoom provides a server-side agent and front-end web interface to allow for easy administration of our software infrastructure.
- Describe the backend Zookeeper agent.
- Describe the web front end.
- Describe the technologies used (i.e. Apache Zookeeper, Tornado, web frameworks/JavaScript libraries).
Zoom's web front-end is powered by Tornado Web's Tornado web server. Our web interface was designed using Twitter's Bootstrap framework. In implementing Zoom's front-end, we used a handful of open-source JavaScript libraries. We simplified the inclusion and handling of these modules using jrburke's RequireJS library. To support real-time updates to Zoom's web portal, we used the Sammy.js, Knockout, and jQuery libraries. We implemented dependency visualization using mbostock's D3.js library, and we provide users with formatted XML in our server configuration tool using vkiryukhin's elegant vkBeautify formatter.
It's assumed that you are familiar with Apache's ZooKeeper and the basics of administering it. Lots of useful information regarding ZooKeeper can be found in the ZooKeeper Administrator's Guide.
To use Zoom, you must have Python installed. For your convenience, we have provided a bootstrap.sh
file in sentinel/agent/scripts/
which uses Python's easy_install
module to include the python-ldap
, tornado
, kazoo
, setproctitle
, requests
, and pyodbc
Python packages.
Why are we open-sourcing? Read about at Spot's engineering blog here.