0

We have a mobile app project which at this moment gets very low traffic (few server hits per day) but due to potential cooperation with a big company we might soon start serving as much as 500.000 customers per month.

Our backend services are hosted at DigitalOcean (and we'd like to keep it that way as much as possible) and we have CloudFlare (free version) in front which also handles DNS and other related stuff.

The backend service is divided into 5 Node.js apps: api (serving data from the database), cdn (serving images), cms (admin content management), shared_modules (codebase shared between 4 other apps) and www (landing page for the mobile app). Currently all 5 apps are being "dockerized" within one DO droplet (Dokku-based image, the cheapest $5/mo droplet).

The most important apps are api and cdn which must always be available because they're the backbone of our mobile app.

I do understand that at least each app should get its own droplet but it's obvious that won't be enough to serve so many customers. Ideal solution would let us spin additional droplets per-request basis without much additional configuration to do so.

While I'm also aware that app optimization plays a major role when it comes to high-performance setup, at this moment I'm more interested in the server architecture aspect.

My question is what would be the most reliable (and also the cheapest) server architecture setup which would be able to serve so many customers per month?

EDIT: I disagree this question is related to the linked question simply because I'm providing specific information (numbers, technologies/services used) and I'm looking for specific solutions (the exact server-side architecture to handle high availability, high performance requirements in my case). The linked question is related to high availability, high performance in general or theory (which might be sufficient for writing a thesis) but it is NOT what I'm looking for. The linked question DOES NOT answer my question at all. If I were to look for "dry" information on high availability, high performance then I would go through Wikipedia and not ServerFault. In light of everything said I'd kindly ask you unlock this question because I'm not getting my answer from the linked question. Thanks.

choxnox
  • 21
  • 4
  • The linked question is meant to explain why we don't accept this kind of question. We don't do capacity planning or solution design. Come up with your own solution and if you run into specific problems while implementing it, ask about that specific problem. – Sven Jun 25 '18 at 16:52
  • I never meant someone should write a step-by-step guide (very detailed information) nor copy-paste Wikipedia-type content (very broad information like in the linked question). A simple and concise point to the right direction related to technologies used/mentioned in the question would be sufficient. If I had a solution of my own I certain wouldn't ask around here. Guess I was asking for too much. – choxnox Jun 25 '18 at 17:19

0 Answers0