I am also a one-man SaaS (though not a successful one). The following tends to be my stack (on Google Cloud, if you will): - Cloud Run (serverless containers) - Cloud SQL (via proxy) - Cloud Monitoring & Logging (formerly Stackdriver) - Compute Engine (if necessary, e.g. websockets) - Cloud Build for GitOps (deploy on push) It's clean and simple (to me). Billing is in one place, nicely separated by projects. Monitori…
Cloud Run supports websockets now fyi. This is the approach, more or less, that I use for my personal projects. With CR and Firestore are literally free for my use cases. I only pay a few cents to host some static assets in GCS.
The architecture behind a one-person tech startup
251–260 of 334 posts
Re: The architecture behind a one-person tech startup
#252Earlier quoted context omitted.
The thing Ive learned is that a lot of people have both a vested interest and a sort of stockholm syndrome with vendors (cloud or otherwise). If you spent tons of time learning AWSs special tooling, you are going to see everything as a nail if you catch my drift. Ive seen a few particular users here spend many threads defending their choices despite the often very logical criticisms levied against the "cloud everythi…
> I like to talk about to Cs is their strategy on capex vs opex, because honestly that determines quite a lot For example?
And in the end, it really depends on how much you trust different vendors and how you want to manage cash flows. Racking your own servers reduces some risks (Google deciding to terminate your account on a whim, Azure pushing wild updates, Amazon jacking prices wildly) while increasing other risks (only your own staff are watching your hardware).
Re: The architecture behind a one-person tech startup
#253A 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 up. If you're a product person, it's actually upsetting how easy they've made it to get set up.
Re: The architecture behind a one-person tech startup
#254How 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.
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.
Re: The architecture behind a one-person tech startup
#255How 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.
Work somewhere where you're the big fish in a small pond. You're forced to wear a bunch of different hats and learn multiple tools across multiple business functions.
Re: The architecture behind a one-person tech startup
#256Earlier quoted context omitted.
You can use any normal DB migration tool. For k8s, I put the app's readiness probe to false, run the migrations and then toggle the probe back to true. Here are some migration libraries: Go - https://github.com/golang-migrate/migrate Node - https://github.com/salsita/node-pg-migrate
I wonder what happens during blue green or canary deployment? if your migration changes database schema in a way that affect previous version negatively? is it even possible to do blue/green deploy if your schema changes radically?
Here's a really good guide on how to do this - https://docs.gitlab.com/ee/development/avoiding_downtime_in_...
Re: The architecture behind a one-person tech startup
#257Earlier quoted context omitted.
Thank you! I appreciate it. Glad you found it helpful.
I really enjoyed your post too! I would be interested in more details around the "100s of hours". I want to try a k8s setup like yours, but after investing those 100s of hours into my Flask setup it's hard to justify spending that time again for something else when this already works. Also interested in the costs for your setup. My costs are in my other comment [1]. [1] https://news.ycombinator.com/item?id=26740911
Re: The architecture behind a one-person tech startup
#258Re: The architecture behind a one-person tech startup
#259This is probably not the best place to ask this question, but as a solo founder or just to reduce costs/time are there some standard free software packages that are used when creating sites? For example most sites need a user sign up mechaism, a authN and authX mechanism to gate access to different pages. Are there open source projects that provide this? Or do site owners develop these from scratch every time?
You might find this useful - https://github.com/gothinkster/realworld Different framework implementations of a CRUD website with authentication. A lot of popular web frameworks have basic authentication out of the box & easily allow you to tie free authentication with accounts like Google, Microsoft, and many others. There are also paid alternatives that may save you more money than the free ones if you need advanced…
Re: The architecture behind a one-person tech startup
#260I'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,…
I think time will tell that ANY cluster setup is a high risk for smaller businesses. The amount of knowledge needed to run it in production is much higher than to set it up. I have setup Kubernetes but never run it myself in production. But I work with a Hashicorp equivalent setup with Docker, Nomad and Consul. I also have several Service Fabric clusters. I think it all is just a complete waste of money. Buying servi…
It really depends on what you do with that cluster, if all you do is run deployments with services and ingress (the equivalent of ECS + ELB), its easier than doing the terraform thing IMO. It’s certainly easier than cloud formation and building AMIs.
I completely agree that buying metal in the cloud is cheaper (that’s part of my secret, shhhh).
I disagree on server less because I think it’s only a matter of time before it becomes a frog boil scenario. Bit of a tin foil hat theory but I think there’s a reason companies want you to move to serverless — the complex flows you build make it sticky, the hidden costs are everywhere, they can simply raise the price at any time, and they scale cost with your business. I think we’ll see more and more of the “I got a thousand hits in a second and my bill was crazy because X” once this deluge of free credits runs out. Also definitely not sure about serverless for small business, it’s such a new paradigm, maybe if you get prebuilt flows but it’s definitely simpler to set up dokku/caprover on a droplet.