What is the best cost-effective way to deploy Shiny Proxy on ECS?

I’m thinking about how to configure Shiny Proxy in a good way to save as much as possible on ECS.

You always need a fargate spot with shiny proxy running, and this can use less hardware (say, 0.25vCPU) to save money, which by itself will cust around $10 to $20 per month.

Then, two scenarios come into mind:

  1. Leave the default config. Each user spin a fargate job which will initialize automatically and turned off after the user leaves. This has de advantage of slow startup times.
  2. Use container pre-initialization. This allows to share 1 container with more users (say, up to seats-per-container: 5 to get 5 users on the same container), but then must always run 1 fargate job, even when no users are logged (because we need to set minimum-seats-available to at least 1).

In the ideal world, we could have a mix of these 2 approaches: start a new container able to hold N users, but only if at least 1 user starts a given app.

What do you think? What is your experience with ECS and its costs?

Hi

I like the idea of just using “container sharing” and not necessary have pre-initialized containers. Currently this is not supported, but I created an internal ticket for it.

1 Like