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!

any questions?

Made with Slides.com