Live data from Hacker News

The architecture behind a one-person tech startup

anthonynsimon.com

261–270 of 334 posts

Re: The architecture behind a one-person tech startup

#262

I'd argue that just about every infrastructure that looks like this benefits from Kubernetes (that you're not setting up and managing), and that's a lot of them. The biggest problem is that not enough people have boiled down Kubernetes enough to look like heroku yet. Google Cloud Run is possibly the best example of what Kubernetes can look like/run like -- it runs on (probably a relatively heavily modified) KNative,…

Fly.io is running on Nomad last I heard.

You’re right, I stand corrected:

> The problem is mitigated somewhat by our orchestration system. The control plane for Fly.io is Hashicorp Nomad, about which we will be writing more in the future.

https://fly.io/blog/persistent-storage-and-fast-remote-build...

Re: The architecture behind a one-person tech startup

#263
post #164

Good article. My comment might be off topic in which case, please ignore. If you have a one-person SaaS company, how do you get past customers’ resistance to a single point of failure, namely you? Do you pretend you’re not just one person? Do you only have customers who could handle losing the service when you, say, run away to meditate on the mountaintop? (Or get run over by a beer truck, or whatever.) Is there some…

This is a great question. It never ever comes up during the sales process, I don't go out of the way to show them my (lack of) org chart.

If you do customization for larger customers (and you should), like boiling a frog, one day you become mission critical to their business. Once they recognize that, then they will start asking questions. Now they're kinda stuck with you. You did charge enough money, right?

At that point you must appease them with a plan. Have their code and database on a dedicated server instance. Have them pay for it and own the account (you just saved money). Make sure you're using their domain they control. Give them access to the source code. It's on the server, so that's easy. Write up a doc with how to access everything and all the frameworks and tools you use. After this, they will never bring it up again.

Worst case scenario, sell them the software outright. Price it much higher than you think they will pay. Then double that. Trust me, I've done this a few times.

Re: The architecture behind a one-person tech startup

#264
post #164

Good article. My comment might be off topic in which case, please ignore. If you have a one-person SaaS company, how do you get past customers’ resistance to a single point of failure, namely you? Do you pretend you’re not just one person? Do you only have customers who could handle losing the service when you, say, run away to meditate on the mountaintop? (Or get run over by a beer truck, or whatever.) Is there some…

I've had some cases of customers asking "what happens if your company dies" for cloud services even knowing the company I work for is +30 employees, so not just for "one person company", some people seems to care about what happens to their data / service. I'm just wondering if that comes from conferences or talks that points out that a lot more/less.

Re: The architecture behind a one-person tech startup

#265

I'd argue that just about every infrastructure that looks like this benefits from Kubernetes (that you're not setting up and managing), and that's a lot of them. The biggest problem is that not enough people have boiled down Kubernetes enough to look like heroku yet. Google Cloud Run is possibly the best example of what Kubernetes can look like/run like -- it runs on (probably a relatively heavily modified) KNative,…

Can you point out any tutorials or guides on how to set up kubernetes simply? I'm wondering what the best way to deploy my app with minimal effort is - you make it sound like kubernetes is the answer.

If you want to go from machine to cluster in no time, use the following:

- kubeadm (read the logs)

- k0s

- k3s

If you want to understand everything though, the way I started was:

- read the kubernetes documentation front to back

- go through setting up a cluster the hard way (look up the kubernetes the hard way guide)

- set up ingress on that cluster (nginx ingress), and make sure you understand the interplay between kube-proxy, ingress, services, and your deployment. The actual flow is more like kube-proxy->iptables/lvs->containerd but you want to be able to “think in k8s” (i.e know where to look and have an idea what to check when something goes wrong).

- install cert manager for free https certs

- tear that cluster down, and set a cluster up with kubeadm (This will be much easier, and you’ll know what it’s doing because the logs are great and you’ve done it before)

- tear that down and make a cluster with k0s/k3s

I want to point out that it really depends on what your goals are. Kubernetes is useful to me because it’s a one stop shop for a wide range of possibilities.

If you just need to get an app up as fast as possible, install caprover/dokku on a DO droplet and git push to deploy.

Re: The architecture behind a one-person tech startup

#266

This is really well done. A suggestion, hopefully helpful: a better approach to securing your admin console than simply layering 2FA onto it would be to expose it to a private WireGuard network. One very easy way to do that is with Tailscale, which will hook up to your GSuite authentication --- Google's 2FA stack will be far better than anything you'd likely build on your own. Tailscale is disgustingly simple to set…

I setup Tailscale for my home server the other day, can vouch for how disgusting it is. I thought it would take at least an hour, but no, took about 5 minutes. Was, literally, physically taken aback (in a good way). Highly recommend it.

Re: The architecture behind a one-person tech startup

#267
post #165
post #12

Earlier quoted context omitted.

Document everything in excruciating detail - I go so far as to record all the commands I run; and when complete o destroy the machine and start again (or use a separate system) and verify that I accurately recorded every step. You can add additional text about why you did certain things - and then store the data in a wiki or checked into git or similar so you can find it when you need it.

What is your system for keeping all of these notes. Do you just have a git repo for everything?

It honestly depends on what it is - sometimes in the repository, for a wiki it’s stored in the wiki itself, otherwise it might be as simple as a text file in a web directory.

Re: The architecture behind a one-person tech startup

#268
post #160

Earlier quoted context omitted.

But you should be careful if it actually does takeoff. Firebase is freaking amazing, but the pricing can get crazy expensive.

I also tested Firebase but quickly ran into issues. Firebase's database is a NoSQL database, whereas almost all my data for the apps and (micro-)SaaS I was building had relational data. Their frontend data fetching felt clunky and did not fit my requirement. Also, the fact that Firebase is a closed-source backend felt scary in the hands of Google ( https://killedbygoogle.com/ ). Firebase's problems and my desire to h…

Thanks for sharing. On first impressions, I found Nhost's product to be really cool, so much so that I actually applied for the open position of Product Designer [Tahmid].

Re: The architecture behind a one-person tech startup

#269

Earlier quoted context omitted.

I'm curious, as someone knows probably only enough about this stuff to get myself into trouble, what am I missing out on by just pushing to heroku?

Netlify free tier is pretty great, giving custom DNS and support for NextJS build was so simple. Heroku is similar, but Netlify is at least equally simple I found. Maybe someone else can shed more light on differences.

Aren't they different products though? Netlify is front end only while Heroku is full stack.

Re: The architecture behind a one-person tech startup

#270

How do you start learning this breadth of software engineering? I consider myself good in the python / django space, but where do I start with learning these infrastructure technologies? I find that I use them once or twice periodically, and then don't touch them for so long, so I forget much of what I have learned.

It only takes two things – curiosity and time. When you are working on a project, if you hit the edge of your current knowledge / skills, push just a little bit further when it’s something that interests you instead of just aiming to hit the basic requirements / lean on other people. This minor effort compounds over time; do it for twenty years and you’ll be an expert in multiple disciplines and also an expert in how…

I find it is best to do the tutorials. The really basic ones. First one tutorial or article, then another and another. Don't get distracted by using it on your own project yet. Do more and more tutorials. Read the docs. Not just the getting started guide. Read the docs for like 2 days. Then get a book and read that.
Post reply on HN