How can I economically scale to 100+ instances of my .Net Core app without using 1 container per instance?

Currently I have a .NET core application, which fires up a new thread to hold each customer account. Each thread instance:

  • Is long running for many months or more
  • Holds open SignalR Websockets and calls 3rd party APIs
  • Needs to be super responsive
  • Has 1 instance for every user account as it connects to unique web sockets / account APIs.

The current plan is to compile this to a Windows Service then deploy 1 application per server instance that uses all resources on the server, then have an orchestrator that manages controlling and deleting the threads through a RabbitMQ integration. We are imagining that 1 server instance could run up to 40 threads or something. Then the orchestrator would create new server instances to manage more accounts as we scale.

I am not happy with this approach as it feels clunky to me. Ideally I’d like to fire up each account instance in it’s own Container using Kubernetes or similar, but the cost of running 1 user account per container is not financially viable.

Are there any other alternatives that anyone can recommend. Other things I’ve been thinking of are to create each account as a separate app as a Windows Service and then fire up multiple versions of the windows service on each server with some kind of service orchestrator.

I am fairly new to architecture like this, so go easy on me if I have not explained this properly. Any advice/ideas on how others could/would approach this would be most appreciated.

What is the standard dungeon scale at the table?

I’m reading the Caverns of Thracia and I see the maps have a scale of 1” to 40’ for the most part – that seems to be about 4 squares.

My understanding is that in AD&D if you have a movement rate of 12”, that means you move 120’ in “imaginary world scale”.

Should I be using a scale of 1” = 10’ on the table (assuming I’m using miniatures), or do my PCs move at 480’/round on the map as drawn in the module?

How good would Ada scale in a concurrent system? [on hold]

I’m developing a concurrent system with a lot of tasks using Ada. Ada’s context concerning critical software, which tipically is for embedded system. Often, in this kind of context, there are not a huge number of tasks due to low memory capacity of this type of system. So, it could be that Ada is not designed for system which requires a lot of task (thousands or more). Isn’t it?

What I’m doing is a bit different, actually my program will run on traditionals computers. The number of tasks range from a few tasks to tens of thousands. What I wonder is if Ada’s performances scale well with the number of executing tasks.

Are there any other programming language which scale better then Ada (e.g. GoLang or Erlang)? Is Ada designed for system with a huge number of tasks?

P.S. I’m using Ada just for learning.

What’s the smartest way to find the scale of an unrestricted numeric type?

By laziness and convenience I integrated quite a lot of data from a partner in an unrestricted numeric type in my PostgreSQL database.

However it now seems that depending of different shipments from this partner the scale of the numeric varies from zero to over 20 decimal places (or scale) which don’t make a lot of sense and probably consume quite a lot of storage for no good reason. So I would like to restrict my numeric field to a reasonable scale.

However because my partner don’t provide any recommendations I would like to identify the occurrence of each scale in my data-set to potentially identify a reasonable middle ground between 0 and 20 (zero obviously not being an option and given the 17 Million row-count, aggregated sums ARE going to be impacted by my decision).

It will also be needed during following rounding to avoid actually increase the scale of values that were shipped with a scale of zero.

Long story short, what the nicest way to compute that for a specific number stored as an arbitrary numeric?

Best I could come up to is that, but is there a more elegant way to do that without converting to text?

SELECT   my_numeric,   COALESCE(     char_length(                            -- Finding size of string extracted by a...       substring(my_numeric::text,'\.(\d*)') -- regexp to return all digits right from '.'     ),                                      -- but if scale is 0 substring return NULL                                  0                                         -- so I handled this inside a COALESCE   ) AS my_numeric_scale FROM (VALUES (0.1::numeric), (0.12),(0.123), (0.1234), (0.12345), (0.123456), (0.000001), (0.100000) ) foo (my_numeric) 

Does AWS Fargate only scale through adding AWS auto scaling to it?

I’m planning on shifting from EC2 to Fargate because it said it automatically “removes the need to choose server types, decide when to scale your clusters, or optimize cluster packing”. I think I understand how a cluster scales through auto-scaling rules, but that isn’t exactly automatic. So am I missing something regarding how scaling in AWS Fargate works?

As far as I understand so far, I make a basic task. I assign the task some memory and CPU, and the only way it scales is through auto scaling which will basically recreate these tasks when the need arises (either through alarms or specific rules). TIA!

How do I make scale of a GameObject persist in Unity?

I’m currently developing a Hololens application and I’ve used Microsoft’s official spatial anchor documentation to create a voice command that can persistently anchor a GameObject in place. So if I exit the application and start it again, the GameObject will be in the same position and orientation as I had left it. However, a problem is that it doesn’t save the scale of the object. So what I need to do is somehow save the scale of the GameObject at the time at which I last manipulated it, and then upon startup, retrieve this saved scale and apply it dynamically to my GameObject.

I know what I have to do, I just don’t know how to do it. Does anyone have any experience doing this and could tell me what to do?

How to horizontally scale a mobile-game server on Heroku?

My game is getting bigger and I already notice some spikes and memory/RPM overloads on the server, which is running on Heroku‘s Hobby plan (dyno for 7$ , Postgres for 9$ ).

The server is a Spring app, containing ~50 endpoints, Postgres database, managing users etc, providing leaderboards, teams, highscores…

The structure:

  • Endpoints are REST mappings inside Spring
  • Endpoints usually look like:

    @RequestMapping(value = API_HIGHSCORES_WORLD_TOP_50, method = RequestMethod.GET, produces = "application/json") public UserList getWorldHighscores() {      List<BackendUser> list = userRepository.findTopUsers(50);     return new UserList(StatusCode.SUCCESS, list);  } 

So as you can see, it’s just a basic service asking the database directly. Inserting the data is the same as retrieval: webservice->database. When users are displaying the highscores on their phones, they invoke the above enpoint and retrieve the data (which usually takes 5-50 ms).

My question

Is horizontal scaling a good approach for this kind of service? If not, how should I rewrite it? Should I separate api calls from database service? What would be the point of that? They can’t be async.

I don’t have any external resources that I should create specifical worker dynos for. So I assume everything can be running on web-dynos, as long if they’re database calls. Is this correct?

Which CMS is best for large scale security site

I'm a font-end developer and designer and I have been tasked to find the best CMS for our cyber security company. The security of the site is very important since we sell security, but we're also looking for a CMS that will allow me to easily build templates or import templates. We also want it to provide a WYSIWYG interface for quick changes, or for marketing folks to use.

I don't feel like WordPress is an option based on security, but let me know if that's an inaccurate assumption. I'm…

Which CMS is best for large scale security site

Rating Scale Calculation excluding the N/A Answer – Cognito Forms

I have created a feedback form in Cognito forms to collect feedback for suppliers. I have a 1-5 rating scale with 14 Questions and a calculation field to calculate the percentage.

I have done the formula and managed to calculate all ratings. I have added the option to N/A to the rating. So I would like to exclude the question answered by N/A from the total number of questions. so the Formula should be if one of the questions is answered by N/A then it should be divided by 13 Questions and not 14.

Current Formula: Total Score / 14 / 5 ( Highest Rating )

Please advise