Distributed Systems

Modeling and optimization of distributed systems quality attributes. Monitoring, analysis and auto-scaling of Microservice and P2P systems. Performance simulations under dynamic topologies and workloads.

ML/AI

Predictive models in revenue management on transactional and time-series data. Developing white-box model appoximations for deeper human intuition.

ElaClo: A Framework for Optimizing Software Application Topology in the Cloud Environment

Software architecture

Cloud computing

Evolutionary optimization

Application architectures in the cloud employ elastic components, and achieve lower operating costs without sacrificing quality. Software architects strive to provide efficient services by deciding on software topology: a set of structural architectural decisions. For a given application, there can be numerous software topology alternatives creating the need for automated optimization methods. Current optimization approaches rely on experts providing application performance models built upfront, based on their experience and the requirements provided. While such techniques are effective and valuable, they require additional maintenance effort as the software evolves.

Dynamic topology

Exploration of different service topologies through elastic service group that auto-scale.

Topology customization

Usage of heterogeneous cloud resources.

Optimization and analysis

Explore different pareto-optimal solutions. Tune SLA parameters accordingly.

©2019 Nikola Tankovic