Live data from Hacker News

The Tech Stack of a One-Man SaaS

panelbear.com

121–130 of 259 posts

Re: The Tech Stack of a One-Man SaaS

#121
post #3

Earlier quoted context omitted.

Right now the operational effort is pretty minimal to be honest. I spend most of my time developing new features and talking my customers. I know it seems like a lot of tools, but most of them are set up once and forget. Except for the occasional round of dependency updates. But even for that I have automated dependency/container scanning to detect vulnerabilities, and get notified if updating an image is recommended…

What would you advise for someone who doesn't have the pre-existing k8 expertise etc? The ops environment still looks overwhelming to me, if there's a way to do it sustainably without a really heavy-weight ops infrastructure, I haven't figured it out. Like, something that to me requires like a full-time job just to do ops, although maybe not if you've spent some years learning the ops tools, but then same same.

I don't think diving into kubernetes makes any sense for a 1 person shop if you don't already know it. People love to evangelize about k8s more than your average tech but it's just one (IMHO overkill) way to do things. A better bet I think is to leverage tools from cloud providers. They specifically offer many different easy to use scaling platforms for a premium for small/not experienced teams. Heroku has been mentioned a bunch, something like Elastic Beanstalk on AWS is super easy for the first year or two of a company. Or just go for a single machine somewhere and worry about the 5% chance you need more than that when that happens.

Re: The Tech Stack of a One-Man SaaS

#122
post #20

Honestly, having gone down this path a year back, just use Heroku for your backend. Maybe Netlify if you want to separate your frontend and backend. The amount of complexity and interdependencies these "here's my stack" posts describe are always a huge cognitive overhead for running a one-person SaaS. Heroku costs more, but there's a reason for it. If you're even remotely making money from your product, and are alone…

Heroku is terrible value for money. You can very easily use one of the dozens of free & open source deployment managers or CLIs for EC2 and get the same ease of use at 1/10-1/20 of the cost. It's good for hosting a hobby project for free or $5/mo and forgetting about it, but it doesn't make any sense for a startup.

Re: The Tech Stack of a One-Man SaaS

#123
post #92

Earlier quoted context omitted.

Please, please, please listen to this person’s advice about Terraform and the like. The last startup I was at hired a DevOps engineer to come in to completely containerize our simple Rails monolith at a time where they were just simply way too small to warrant it. Development velocity plummeted. Deploys started to take half an hour. Features weren’t being released. The professionals our app was servicing lost trust i…

Not sure what 'containerize' means in this context, but adding a Dockerfile, building the image and changing your box to use docker should definitely not reduce velocity or increase deploy time to half an hour...

it's never that simple.

With docker you have to worry about how containers talk to each other. Which at a bare minimum means exposing ports and adding a network layer. Suddenly you find yourself in the weeds with docker-compose and debating whether or not it's actually suitable for a production environment, when they recommend using swarm instead. Then you find out swarm is on shaky ground and now you're hearing about nomad and ten different other solutions just to avoid k8s.

Infrastructure-as-code is a wonderful idea. But the reality is it's a full time job. There will always be orphaned containers and things that need cleaned up and automated. And if you don't, then your environment will run out of space or RAM and all devs will be sitting there doing nothing.

Building docker images also takes time, especially if you don't optimize the image. The simplest deploy workflow I've seen was a git hook (post-update, I think) that ran a few commands when the repo is updated. It'd really be hard to make up for the efficiency of that workflow after messing about with docker for days.

Re: The Tech Stack of a One-Man SaaS

#125
Awesome list!

I haven't read comments yet, but I bet some people would criticize the tech stack as "too complex" or "not perfect" or "not even mention my favorite tech"...

1. Typically tech stack starts very simple, then evolve into something a bit more complex. It's normal.

2. If this tech stack is the author's most familiar tech stack and it gets jobs done, then it's a perfect tech stack for the author & the business. There's not a tech stack that works well for every developer, every company, every business...

3. Treat this tech stack as a data point. Find other data points on the internet. And you'll come up with your own "perfect tech stack", just for you, for your specific business.

Re: The Tech Stack of a One-Man SaaS

#126
My One-Man SaaS tech stack:

* AWS EC2

* .NET Core Backend (Business logic + Kestrel Web server + Let's Encrypt + JSON Web API)

* NOSQL Database: The filesystem

* SPA InfernoJS front-end (similar to React)

--

The application is performance intensive and must deliver responses sub 100ms at at all times. Each 'request' from the user does a lot of work. I optimized to get all this to run efficiently on a $20 / mo EC2 instance, with no other costs

Re: The Tech Stack of a One-Man SaaS

#127
post #90

Earlier quoted context omitted.

SaaS business single founder here, moved from a mix of GCP's Cloud Run, Cloud SQL, and Compute Engine to DO's managed Postgres and Kubernetes, and it has had the follow effects: - Much cheaper, reducing bill from >100$/month to ~40$. Important for early stage startups - More performance, easier scaling. Found that my application was much better suited to run in K8S, but this is definitely specific to my use-case - Co…

Is it okay to touch base with you directly? I would love to hear your feedback and how we can help. Nothing to sell. - PM for DO Kubernetes.

I wish companies would have better visibility to allow them to approve DO for cloud stuff. Struggled to get the necessary compliance docs under NDA from DO

Re: The Tech Stack of a One-Man SaaS

#128
post #46

As a one-man team operating a 10+ year old SaaS product, I’ve done two things that have helped keep things sustainable. The frontend continues to be server generated. PJAX style partial page updates is (mostly) dynamic enough. The maintenance burden of operating a JavaScript frontend is too high to justify for a 1-2 person team. The second thing I’ve done is avoid containers. VMs work fine for many types of applicati…

You didn't seem to get much of a reaction, probably because of your recommendations to go with proven (read: old & boring) tech, but I appreciate it. Front-end churn is real and, coupled with rapidly evolving and ever-abstracting containerization approaches, staying on top of it is a full-time job, best done as an employee.

Thanks!

Best done as an employee is spot on.

Re: The Tech Stack of a One-Man SaaS

#129

Earlier quoted context omitted.

All of these tools (Terraform, Kubernetes, Github Actions/Other CI) seem like overkill until a node dies and you need to recreate it, or configuration gets messed up and you don't remember how you deployed it in the first place. It sounds like the OP has had experience with these problems. If these aren't problems you have interest in solving, then Heroku or a similar platform would be the way to go. Running a busine…

> configuration gets messed up and you don't remember how you deployed it in the first place Configuration getting messed up sounds more like a k8s problem than anything else. In any case, if you aren't using git and don't know how to at least back things up you really should be asking yourself if a tech company is right for you, as a one man/woman operation. There are countless other ways to make money online. Etsy,…

> Configuration getting messed up sounds more like a k8s problem than anything else. In any case, if you aren't using git and don't know how to at least back things up you really should be asking yourself if a tech company is right for you, as a one man/woman operation. There are countless other ways to make money online. Etsy, Craigslist, Shopify, etc.

I don't know if this was to intended to directed at me, but all of the tools mentioned imply using them with git or other version control, hence Github actions / CI. Kubernetes does not spontaneously mess up your configuration, well intentioned developers do. Willingness to learn new-ish technology puts you in a much better standing for running a tech business.

The snapshot/restore method is fine if you don't plan on updating very often, but this isn't a good alternative to infrastructure as code. I would make a base image that bootstraps your node to a cluster in Packer and then hand off all the deployment of nodes/DNS/Loadbalancer wiring in Terraform. Then just snapshot your database volumes as normal and deploy with your orchestration.

Post reply on HN