48
30 Comments

The Architecture Behind A One-Person Tech Startup

  1. 8

    Crazy Infrastructure! I work in an IT - Consulting Company and most parts of this Post is actually what we, as DevOps Team, tell everybody to setup because they want this kind of Infrastructure for high availability and incident management :)

    What leads me to the question: Getting all that up and running requires usually an Operational Team. For how long are you building your startup ? How much time to you invest in building the App and how much time in building the Infrastructure around it ?
    How many customers do you have ? is your workload high?

    1. 4

      I've been really lucky to have a team willing to mentor me these past years. Also had many (catastrophic) failures in production which taught me a lesson or two :)

      I actually spend very little time managing the infrastructure side of things. The initial setup took maybe a week of part time work, and since then maybe a couple of hours per month, something none at all.

      While I love tinkering with the engineering side of things, most of my time is actually spent on product/customer support/marketing.

      People used to tell me support can eat up a lot of time, and I can say they were absolutely right :) That said, I’m happy to chat with my customers, most of them know I’m a one-man operation so they’re pretty friendly and patient with their requests.

  2. 7

    I'm a recovering engineer, so almost all of the technical stuff went over my head. But I want to take a second to stop right at the "one person startup" part and say Good Job. This stuff isn't easy, even if you're taking it slow and using open source tools to get you up and running. Don't discount the fact that You. Are. Getting. It. Done.
    Way to go!

    1. 1

      Thank you, that's very encouraging!

  3. 4

    I haven't finished reading yet because that's a beast of a breakdown, but great job. Shows you put a lot of time and effort into it.

    I like the considerations around security.

    1. 1

      Thanks Simon! I appreciate it

  4. 3

    Such an informative and insightful article! I’d love to be able to subscribe to your blog btw.

    Also, I saw that you said you mainly learnt devOps from a mentoring team. What about web and UI design? Panelbear looks so neat!

    1. 1

      Thanks for the nice comment!

      I studied Computer Graphics, and took various design courses which I think helped me suck less.

      Painfully humbling, and while I’m no designer, I feel more comfortable with it now :)

  5. 3

    Really excellent article on building a sustainable architecture for a saas. I particularly like the emphasis on a version controlled architecture and flux for auto deploy of images.

    Would be interesting to see a follow up on AWS costs for this approach - these can soon rack up. What would you advise for a indie-hacker starting out - would it be cheaper to initially use a dedicated VPS with a single node cluster and then transfer to AWS EKS. Is this approach doable - given your configuration how feasible is it to switch to different cloud providers - google, on-prem, your laptop (for instance).

    Keep up the good work. A useful article looking forward to more :)

    1. 2

      On digital ocean the kubernetes master node is free. So there is no extra cost at all to use this setup. Only caveat is that the smallest node isn’t available.

  6. 2

    Thank you for sharing this! This was a super fascinating read. You're definitely ahead of where my project is, so it was awesome to see what kind of architecture is supporting a tech product like your own. I'm looking for a cofounder to help with the workload, but this article really encouraged me to continue on as a solo developer at least for the meantime.

    1. 1

      Also, please create a newsletter! :)

  7. 2

    There's a bunch of good commentary on this blog post on HN: https://news.ycombinator.com/item?id=26737771

  8. 2

    Very interesting to see, I'm running exactly the same stack with few differences. Thanks for sharing.

  9. 1

    Very nice infrastructure. How do you prevent things from going wrong? Do you canary new versions and monitor some vital signs? How do you (plan to) handle things going wrong? Is there some automated rollback mechanism? Maybe I missed that in the post (as I have to admit I did not read it in full).

  10. 1

    Excellent post, thanks for detailing it so well!

  11. 1

    Excellent article!

  12. 1

    You were an SRE before weren't you? :p

    1. 2

      Backend developer :) But I somehow managed to blow up production so many times that I decided to read Google's SRE handbook and realized infra is cool too.

      https://sre.google/sre-book/table-of-contents/

  13. 1

    This is awesome! Thank you for sharing.

    I've been trying to set up Celery to replace some long running cron jobs I've been using.

    My current plan is to have the cronjobs schedule Celery tasks (e.g. Iterate through all users and create task to run report on each one).

    Do you have a good tutorial you'd recommend on how to get started with Celery? I've been trying to get started through the docs, but maybe I just need to push a bit harder.

    1. 1

      You can use celery beat to schedule the jobs :) It’s fairly simple and haven’t had any problems so far.

  14. 1

    This was an extremely insightful post, bookmarked it.

    I'm trying to supplement my Full Dev knowledge with a bit more Infrastructure understanding, but it's a beast trying to learn all of this and trying to stay ahead of the industry changes.

  15. 1

    Wow, thanks for that!

  16. 1

    How would you grade doing the same in digital ocean kubernetes?
    I am asking since AWS is very expensive to start. GCP is less expensive to start but not as cheap as digital ocean. I had a previous version of my product in GCP on credits but that was not logical to continue without revenue and i was not ready yet.

    1. 2

      If you want to use Kubernetes, you can start with DigitalOcean or Linode. They both offer one-click managed K8s for a fair price, and for the time I used them I was pretty happy overall.

      In case you want to version control your setup instead of using the UI, Terraform has examples in their docs: https://registry.terraform.io/providers/digitalocean/digitalocean/latest/docs/resources/kubernetes_cluster

    2. 1

      Kubernetes is the abstraction from your Servers / Cloud. It shouldn't matter if your Cluster in in AWS, GCP, DO or Bare Metal :) Track down how worthy one vCPU is in the DO cloud compared to gcp and aws and calculate the pricing on that

      1. 1

        I suspect it is not that easy. For example, in GCP you have a managed service for certificates (not let's encrypt). I noticed in your article that in AWS it is as simple as a line in the ingress rules. In digital ocean i found an article similar to your article length explaining how to do that :) I am thinking about simply buying and going to have to do that :)

        1. 2

          In the article I mentioned that I use letsencrypt within the cluster (I use https://cert-manager.io/), but you can also leverage ACM in AWS or as you pointed out the equivalent in GCP.

          Usually your cloud provider offers some annotations for their managed clusters that handle all the setup for you.

          I'm not super familiar with GCP, but maybe this helps: https://cloud.google.com/kubernetes-engine/docs/how-to/managed-certs

Trending on Indie Hackers
Finally! Webhooks as a Service 23 comments How many sales did you make on #GumroadDay? 18 comments Flowrite launch on Product Hunt ✏️ 13 comments 🧐 Lessons from hiring and firing my co-founder 11 comments "Get Started" Vs "Get Started for Free" - Which do you think converts better? **Updated with results** 10 comments What industry are you in and what made you want to join this specific industry? 9 comments