Brussels / 4 & 5 February 2017

schedule

Alyvix: Under the hood

Visual synthetic monitoring of network applications that work through proprietary protocols


The open-source software Alyvix is a synthetic monitoring system, based on computer vision. It automates any application, interacting with GUIs exactly as a human would do. In this way, Alyvix can check the availability and can measure the responsiveness of applications. From a computer science point of view, Alyvix is an open-source Python-based software, which can be deployed on Windows 64-bit machines as a part of an open-stack of libraries. Alyvix mainly relies on the following open-source software projects: RobotFramework for desktop automation, OpenCV and Pillow for image processing, TesseractOCR for text recognition and PyQt for GUI programming. Francesco Melchiori, as Alyvix product manager, will explain how Alyvix works leveraging on the aforementioned packages, what software design choices have been taken. Finally, he will show how this computer vision solution solves the need of an effective visual synthetic monitoring of proprietary network applications. This aims to suggest other use cases with the Alyvix API.

The open-source software Alyvix is a synthetic monitoring system, based on computer vision. It automates any application, interacting with GUIs exactly as a human would do. In this way, Alyvix can check the availability and can measure the responsiveness of applications. Network applications suffer of latencies, or even downtimes, because of many factors having to deal with the complexity of data communications, for example client software, protocols, telecommunication channels, backend hardware resources, etc. Monitoring application performances from the end user perspective is the first step for keeping high the quality of the provided services. Alyvix provides GUI tools to reproduce user interaction flows on any application, interacting through mouse clicking, text typing or shortcut sending. Alyvix is not hardwired to application APIs but acts like a human user sitting in front of the monitor. Therefore, it is able to automate every on-premise or cloud application after having built so-called test cases. Alyvix checks the availability of network applications and measures their responsiveness. Hence, it outputs how long transactions take to be accomplished and reports the corresponding performance data in HTML pages. In case of test failures, these reports will show an animation of the broken transaction visually describing what has gone wrong. Through the integration with any monitoring system, for example Nagios or Icinga, performance time series charts can be created to recognize latency spikes and service downtimes. Alyvix certifies the ongoing quality of service and highlights when and in which location it is higher or lower than expected. Thanks to these insights, IT operations teams can modulate infrastructure resources and IT clients can check their SLA with providers. From a computer science point of view, Alyvix is an open-source Python-based software, which can be deployed on Windows 64-bit machines as a part of an open-stack of libraries. Alyvix mainly relies on the following open-source software projects: RobotFramework for desktop automation, OpenCV and Pillow for image processing, TesseractOCR for text recognition and PyQt for GUI programming. Francesco Melchiori, as Alyvix product manager, will explain how Alyvix works leveraging on the aforementioned packages, what software design choices have been taken. Finally, he will show how this computer vision solution solves the need of an effective visual synthetic monitoring of proprietary network applications. This aims to suggest other use cases with the Alyvix API.

Speakers

Photo of Francesco Melchiori Francesco Melchiori

Links