Limit on the Number of Running Containers?

Limit on the Number of Running Containers?

Comments

  • Is there a limit to the number of containers supported by an installation of Decisions? We have an Enterprise licence.
    A recent webinar indicated running 50 containers was no problem but is there an upper limit?

  • Technically no. The distribution of labor is held by the ECS (think load balancer). Chatter back and forth to the database would be the only limiter, but there is no hard limit coded into decisions.

  • Thanks, Bryan.

    Can you expand a little on how the distribution of labour is managed? I imagine the requests to run multiple asynchronous flows (for example) are lodged in the Decisions database. Do each of the running containers poll for work or does the "core" Decisions SHM decide which instance executes the flow? How does ECS take this role? We will likely run on-premises rather than in AWS - are there further considerations for that?

  • So, Each container has an IP. The ECS is aware of these and takes HTTP traffic through the EC2 LB to distribute requests across the containers directly.
    AWS is at least a partial requirement because they need ECS + EC2 LB to orchestrate traffic, but I have never tested this outside of a full AWS implementation so I cant answer that fully unfortunately

    Have you checked out our documentation on this? There might be some helpful info in there for you!
    https://documentation.decisions.com/docs/docker-module-and-decisions-containerization
    [i]edited by bryan.thomas@decisions.com on 10/29/2020[/i]

  • Thanks, Bryan. We may have a play with K8S.

    Im still not clear on how async flows are distributed to container instances. Are you saying that the "core" non-containerized Decisions service sends the flows to container instances via HTTP?

  • You cant directly orchestrate work from the core instance to the container set without using a rest service. The main instance doesnt send the flow, just the payload and which flow to run to the load balancer (think xml or json), the load balancer then sends traffic to the corresponding container which will execute that flow with that payload (the containers already know about all of the flows, since each container already has all of the flow definitions when they are created, because when its created, it pulls the flow definitions from db)

Sign In or Register to comment.