The architecture behind a one-person tech startup
261–270 of 334 posts
Re: The architecture behind a one-person tech startup
#262I'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.
> 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
#263Good 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…
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
#264Good 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…
Re: The architecture behind a one-person tech startup
#265I'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.
- 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
#266This 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…
Re: The architecture behind a one-person tech startup
#267Earlier 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?
Re: The architecture behind a one-person tech startup
#268Earlier 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…
Re: The architecture behind a one-person tech startup
#269Earlier 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.
Re: The architecture behind a one-person tech startup
#270How 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…