moby / moby/swarmkit

Proposal: elastic autoscaling app & dynamic routing standatd

Open
#1,663 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
3.7k
Forks
676
Avg merge
4d 9h
Merged PRs (30d)
6

Description

I have been working with docker SWARM lately and noticed there is a lack of features such as elastic scaling and dynamic routing standard.
The gap is the SWARM manager does not automatically scale up/down the app regarding the stat data such as CPU/Heap or traffic stats.
Another issue is there is no standard way to configure load balancer (Nginx or Apache, HAProxy) with the latest info about the worker nodes.
My proposal/suggestion is:

  • SWARM managers can gather all the info regarding the traffic to a specific cluster and analyze them and scale up/down the cluster.
  • There needs to be a standard protocol beside that to send current data about the worker nodes (a.k.a, containers for a specific cluster/app) that nginx or apache can take and dynamically being updated with the latest info about the node.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by reviewing the Swarm manager’s handling of CPU, heap, and traffic data, then examine how worker-node information could be exposed to Nginx or Apache. Done would require a defined autoscaling behavior and routing protocol, but neither is specified here.

Written by the indexing model from the issue text.

Assessment

Tech stack
apache, docker, nginx
Domain
distributed-systems, infrastructure
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
18/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.