0

I have code that takes messages from a queue and does work. The work is mostly I/O bound. I need to be able to scale the number of workers.

I can write an application that manages threads or uses TPL to scale and manage the workers. This works but overtime has proven to be a bad approach on many fronts.

Comparing these 3 options is it possible to rank them in terms of how much resource they consume for the same amount of workers?

1) write a simple application and run many instances.

2) deploy the simple application in Service Fabric and scale it.

3) do something similar to 2) with Kubernetes.

Do others use this approach?

I know there are other factors but I'm focused on the resource usage comparison.

user195166
  • 417
  • 5
  • 16
  • "I can write an application that manages threads or uses TPL to scale and manage the workers" - can you provide a bit more details why this is a bad approach? – Oleg Karasik Aug 20 '18 at 07:01
  • I don't want to change the focus of the question but lets say not all developers can work with it successfully – user195166 Aug 20 '18 at 09:01
  • OK. Then I would say that if you would decide to use Service Fabric you should be aware of how the scaling works on [service level](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-concepts-scalability) and [cluster level](https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-cluster-scale-up-down) because significant scale isn't fully transparent and requires others service in the cluster be aware of the chosen approach. Please feel free to ping if you need some details. – Oleg Karasik Aug 20 '18 at 11:20

1 Answers1

0

There are many approaches, and most of these is already answered on similar stackoverflow questions.

Each of these will have good and bad points to consider, and only doing a deep analysis on your solution using then to chose the right one. What I can recommend is doing a proof of concept for each approach and check which one suits well your application.

I recommend you take a look on these to start with:

Simulate 10,000 Azure IoT Hub Device connections from Azure Service Fabric cluster

What is the scenario for deploying multiple applications in service fabric?

And on this github issue with a few discussion points.

Diego Mendes
  • 10,631
  • 2
  • 32
  • 36