Live data from Hacker News

Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

simplecto.com

21–30 of 347 posts

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#21
Can anyone answer why python is a choice anymore instead of i.e. golang for saas applications like this? I previously worked heavily with ruby and I cannot imagine building beyond >1000 LoC in interpreted, dynamically typed languages. Aside from developer familiarity which trumps all other points.

It's also significantly easier to dockerize a generated binary from golang or rust, etc. Some of my worst docker headaches have been from trying to debug something like mayan-edbms, which uses python and celery workers.

I just don't get it unless you specifically need some libraries that no other language has.

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#22
I like the simplicity of the asynchronous tasks. The author mentions it's just a sleep and he isn't kidding: https://github.com/simplecto/screenshots/blob/master/src/sho...

Of course, this only really works when you're not worried about multiple workers for the same "queue", etc.

Still, simplicity is key -- don't build for scale just because you think you might be there in X years. I like your style!

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#23
post #17

Why use zerotier if you are already using ssh keys? It wouldn't add any security, and in this setup the servers all have public IP's, right?

The way I see it, there's a level of complexity above which SSH becomes too painful to administer. So now what? Well, unless you find something inbetween you are up for setting up a full VPN and managing the complexity and security of that. And if your network needs are quite fluid, that itself is going to be a pain. Zerotier to me looks like that "something inbetween". But I'd be interested in Sam's comments.

Exactly -- it is that "something in between"

The nice thing with zero-tier is that it is literally two commands to get your network up and connected.

hide your eyes if curl|bash makes you cringe...

curl https://install.zerotier.com|bash

Then zerotier-cli join

Go into the Zerotier web admin, check the box, and boom, that machine is on the network, securely.

Now I can spin up a bunch of containers for exploration/testing/or non-essential like grafana, prometheus, various exporters, metabase, etc.

I try to keep traefik clean and only serving secure traffic to "live" and customer-facing things on 80/443.

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#24
post #14

He says "docker, just plain docker" but in reality uses docker-compose - in my view a significant addition. However it aligns well with my own sentiments - for anything below large scale complexity or scalability needs, docker-compose hits a beautiful simplicity vs power tradeoff.

I disagree, docker-compose is just a wrapper around docker. It is in fact just a python package. The daemon itself is just plain docker.

Well, I guess it's subjective - but if you didn't have docker-compose I would have a whole lot more questions about how you are managing all the running services, storing configuration, defining networks, monitoring health of containers, defining volumes, port mappings etc etc. It may be "just a python package" but so is Django and docker is "just a go package" :-)

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#25

Can anyone answer why python is a choice anymore instead of i.e. golang for saas applications like this? I previously worked heavily with ruby and I cannot imagine building beyond >1000 LoC in interpreted, dynamically typed languages. Aside from developer familiarity which trumps all other points. It's also significantly easier to dockerize a generated binary from golang or rust, etc. Some of my worst docker headache…

What's the Django/Rails equivalent in Go? The value from Python isn't Python itself (though it might be easier to write in - trading off reliability for ease of use compared to a compiled language) but the ecosystem.

Fully-featured frameworks such as Django, Rails, etc give you lots of functionality out of the box which is very valuable especially at the early stages of the project where performance isn't a concern yet.

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#26

Can anyone answer why python is a choice anymore instead of i.e. golang for saas applications like this? I previously worked heavily with ruby and I cannot imagine building beyond >1000 LoC in interpreted, dynamically typed languages. Aside from developer familiarity which trumps all other points. It's also significantly easier to dockerize a generated binary from golang or rust, etc. Some of my worst docker headache…

It's more Django than Python specifically.

Does Go (genuinely) have something to match?

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#27
post #2

Goto stack for building SaaS is the one you know the best.

You’ve just dismissed the entire article and it’s details by adding nothing useful to discussion. By your logic, let’s all dismiss HN - the best knowledge is what you already have.

I think you misunderstood the intent. Constantly optimizing your toolset instead of building a startup with what you already know is a very common form of bike shedding and is one of the hardest things for some developer-founders to get past.

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#28
post #2

Goto stack for building SaaS is the one you know the best.

I tried Django but I liked Laravel better. Because I knew it better. Exactly.

Fair enough. But Laravel is apparently cut from similar cloth so you'd be in agreement with the general philosophy here?

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#29

Can anyone answer why python is a choice anymore instead of i.e. golang for saas applications like this? I previously worked heavily with ruby and I cannot imagine building beyond >1000 LoC in interpreted, dynamically typed languages. Aside from developer familiarity which trumps all other points. It's also significantly easier to dockerize a generated binary from golang or rust, etc. Some of my worst docker headache…

Django drives the choice here. Batteries included, huge community support, and AMAZING documentation. Half the software I write is from stackoverflow. LOL

I dont see dockerizing as a problem. Once copied out from my template I never think about it. I do admit that familarity with the underlying Image OS (Debian in this case) makes debugging / fussing about a non-issue.

Re: Docker, Django, Traefik, and IntercoolerJS: My go-to stack for building a SaaS

#30
post #24

Earlier quoted context omitted.

I disagree, docker-compose is just a wrapper around docker. It is in fact just a python package. The daemon itself is just plain docker.

Well, I guess it's subjective - but if you didn't have docker-compose I would have a whole lot more questions about how you are managing all the running services, storing configuration, defining networks, monitoring health of containers, defining volumes, port mappings etc etc. It may be "just a python package" but so is Django and docker is "just a go package" :-)

Man, you just put another 5 things on my list to write up! thank you
Post reply on HN