Initial setup is only part of the equation. You must now maintain everything you setup or forked. I predict you have many hours of repair, patching, migrations and upgrades ahead of you not to mention any downtime suffered because you can't put in as much effort into making these systems as robust as your main product/service.<p>On the other hand, I was always taught "cash is king" in entrepreneurship. It's the easiest to spend and the hardest to make. Besides, if you are a start-up and don't have it...hacking something together is your only option.
$3.5k/year seems like crumbs compared to VC valuations, but in the context of 20-30 hours of work it's not too bad. Call it $150/hour recurring - sure. I like the frugal mindset for new firms.
We switched over a lot of our operations to open source alternatives around a year ago as well (a writeup is still in the works). We were partially motivated by the money, but more so by the control over our's and our clients' data.<p>One thing to note though is that there are a few things that just make much more sense as a service, or take more effort to actually run yourself than expected. For example, the way they set up Uptime. They moved a lot of stuff over to Digital Ocean, but it sounds like they still have a lot running on Heroku (e.g. all the apps mentioned in the post). But you need your availability monitoring app running on completely separate servers than everything else you run, otherwise it can't tell you when the service behind your apps goes down. In this case, if Heroku <i>or</i> EC2 go down, then the app that is supposed to alert them will also go down, and thus no alerts.