4. What is Ducksboard?
●
it's a web-based dashboard...
●
to display SaaS / your own metrics...
5. What is Ducksboard?
●
it's a web-based dashboard...
●
to display SaaS / your own metrics...
●
with heavy focus on UX...
6. What is Ducksboard?
●
it's a web-based dashboard...
●
to display SaaS / your own metrics...
●
with heavy focus on UX...
●
huge bet on REAL real-time updates...
7. What is Ducksboard?
●
it's a web-based dashboard...
●
to display SaaS / your own metrics...
●
with heavy focus on UX...
●
huge bet on REAL real-time updates...
●
and much more in the near future!
16. Architecture Concepts
●
Back-end (Twisted)
●
Parser: obtains data from external services
●
Gateway: stores data
17. Architecture Concepts
●
Back-end (Twisted)
●
Parser: obtains data from external services
●
Gateway: stores data
●
API: provides read access to stored data
34. Backend Components: Parser
●
a parser per service and user
●
many API models supported (RT preferred)
●
configuration stored in the DB
35. Backend Components: Parser
●
a parser per service and user
●
many API models supported (RT preferred)
●
configuration stored in the DB
●
obtained data sent to the gateway for storage
39. Backend Components: Gateway
●
stores data in the DB for persistence
●
pushes data to the queue for RT notifications
●
receives updates from all the parsers
40. Backend Components: Gateway
●
stores data in the DB for persistence
●
pushes data to the queue for RT notifications
●
receives updates from all the parsers
●
exposes webservice for custom metrics
44. Backend Components: API
●
gets historic data from the DB and ...
●
… RT updates from the queue
●
exposes HTTP interface for data retrieval
45. Backend Components: API
●
gets historic data from the DB and ...
●
… RT updates from the queue
●
exposes HTTP interface for data retrieval
●
exposes Websocket server for RT updates
53. Frontend Components: WebApp
●
Backbone.js empowers the UI
●
Raphaël draws the widgets
●
a little bit of jQuery everywhere :)
54. Frontend Components: WebApp
●
Backbone.js empowers the UI
●
Raphaël draws the widgets
●
a little bit of jQuery everywhere :)
●
Websocket or Flash fallback for RT updates
57. Scale (or die trying)
●
every component is standalone (no code deps)
58. Scale (or die trying)
●
every component is standalone (no code deps)
●
components talk using HTTP (Nginx + DNS win!)
59. Scale (or die trying)
●
every component is standalone (no code deps)
●
components talk using HTTP (Nginx + DNS win!)
●
RabbitMQ allows m-gateways / n-apis scenarios