How do you design/build an app with the right foundation such that if it takes off you're able to scale? I've been thinking about this as I'm about to start a project. I know chances are that I'll just die in the early phases and that premature optimization is the root of all evil, but I'd like to do anything possible now that would pay dividends if we do scale. So for example do I run containers but only have one container per service? Do I use citus instead of postgres? I know this is app specific so let's say for discussion's sake it's just a crud app.<p>Also what are some good resources on designing distributed systems using today's IaaS solutions?<p>Edit: how do I get this sorted under Ask?
Don't do this. You shouldn't be thinking about containers or distributed systems, you should be thinking about getting users and make a product they can use. You can worry about scaling later (and there's reasonable chance you'll never need to.)