1

Background: I am developing a scheduler for a system in Service Oriented Architecture (SOA) with a framework similar to Internet Communications Engine(ICE) .

Services in the system run on multiple machines depending on their workloads. For example, service A will run on 10 machines when workload is 1000/second and on 100 machines when workload is 10000/second.

In the system, one service calls other services, too. As a result, the response time of service A not only depends on workload on every machine, but also depends on response times of service B,C,D which are called by service A. If service B goes wrong, service A goes wrong, too. When the service-calling network is complicated, a lot of service go wrong when one service starts to go wrong. It is hard to determine which service should have more machines.

Because of system performance reasons, we cannot have a whole picture of all services when scheduling. As a result, we need to make decision based on local information of service A.

The question is can we model service A to predict performance of service A given circumstances of service A (current workload of service A, current performance of service B, C, D and current resource utilization on the machines).

Purpose: we can use the model to find which factor causes the performance degradation of service A (Performance degradation of service B/C/D or resource limitation?).

Given: Training data can be historical performance (average response time, workload) of service A, B, C, D and resource utilization on machines where service A runs.

Robert
  • 21
  • 3
  • 2
    Question is quite broad; not suitable for this site. But I will say that you want to search for "Micro Services Architecture" to see what a lot of companies, especially those in the Cloud, are leaning towards. Also, this is a good link to explain the overall basics - http://martinfowler.com/articles/microservices.html – Matt Apr 16 '15 at 02:05
  • Thanks for your suggestion. Microservice is exactly the idea behind our system. Every service gathers materials/data from other services and performs a simple function. This characteristic makes me feel that it possible to have a model to predict performance of a service. Is there any work on how to model performance of a microservice? – Robert Apr 16 '15 at 11:46

0 Answers0