Challenge Overview
Styx Dashboard aggregates and presents metrics from multiple instances (typically 12 or less) of specific software residing on multiple physical servers. The purpose of this architecture challenge is to design the system so that it can be implemented. The major tasks of this challenge includes:
- Oracle 10g / MS SQL database schema to support the application, in particular pay attention to a) performance/responsiveness of UX; b) flexibility to add new metrics; c) size/growth over time.
- Design a robust protocol for a daemon process to collect/aggregate/push metrics into the dashboard. The protocol needs to account for failure on both ends. Leveraging a mature library/technology is encouraged.
- Design JSON API to be used by dashboard front end, which will potentially have desktop and mobile variations. The API calls need to be efficient so that we don't need to make many calls in order to render a screen refresh. It is not required to design caching behind the API but the design needs to be flexible to accommodate that in the future.
- Identify and categorize each metric and its corresponding source.
This contest is responsible for implementing the DAOs in the provided architecture.
Final Submission Guidelines
Submission Deliverable
- Source Code
- Deployment Guide