Remote Configuration Management
of Machine Clusters through a Web Application
using Elektra
Daniel Bugl
Bachelor Thesis
Problem Statement
-
Existing tree views for configuration simple and static
- easy to make mistakes (without validation)
- bad discoverability
- complex trees can get confusing
-
Cluster configuration of anything
- Currently no (graphical) remote configuration in Elektra
Solution
elektra-web
-
Interactive tree views
- special fields created from metadata
- validation of input
- visualization of configuration options
-
tooltips with description
-
Standardized configuration interface via elektra
- Remote configuration via elektra-web
Solution
elektra-web
server/cluster overview
Solution
elektra-web
instance creation
Solution
elektra-web
cluster creation
Solution
elektra-web
configuration tree view (work in progress)
Implementation Details
elektra-web
Implementation Details
elektra-web
-
elektrad serves api for remote access to kdb
-
clusterd maintains multiple elektrad instances and serves the client (web UI)
- client web UI that communicates with clusterd
Implementation Details
client
based on
React a JavaScript library for building user interfaces
-
Virtual DOM (Document Object Model)
-
React component: pure render() function
-
Change of input variables (properties)
- --> call render() again and diff the virtual DOM
- --> re-render parts of the UI that changed
Implementation Details
client
vs
Implementation Details
client
based on
Redux a predictable state container for JavaScript apps
-
Makes use of Functional Programming principles
-
reduce(previousValue, currentValue) => result
-
-
reducer(previousState, action) => newState
Implementation Details
client
based on
React + Redux
- Redux: action --> reducer() --> new state
- React: new state --> render() --> updated UI
Research Question
-
Usefulness via survey
-
Efficiency & Effectiveness via usability test
- Satisfaction via questionnaire (UEQ)
Does the developed web user interface have a high usability?
(with focus on the interactive tree view)
Research Question
- Does the interactive tree view lead to better discoverability compared to generic configuration editors (like the Windows Registry Editor)?
- Do the special fields in the tree view reduce the amount of errors a user makes while configuring an application?
- Does the user interface improve the user experience, according to the User Experience Questionnaire?
Methodology
- Survey and definition of user personas
- Iterative design with usability tests
- User experience via questionnaire (UEQ)
Thanks for listening!
elektrad api: docs.elektrad.apiary.io
clusterd api: docs.clusterd.apiary.io
elektra-web: git.libelektra.org/tree/master/src/tools/web/
any questions?
Remote Configuration Management
By omnidan
Remote Configuration Management
- 2,790