4 ms·
The article calls out having to learn how to create a Docker image for Fly.io as though it's a bad thing. I consider it a huge bonus if you like taking advantag
by larrymyers 4y ago
The article calls out having to learn how to create a Docker image for Fly.io as though it's a bad thing. I consider it a huge bonus if you like taking advantage of free tiers for services.
The whole point is that if you're going to take advantage of a free tier you should do so in a way that switching is trivial. Docker goes a long way to achieving that.
I personally just pay $10/month to Linode and self host these days using Nomad. Less restrictions and more freedom for the cost of a coffee and a bagel.
https://www.larrymyers.com/posts/nomad-and-traefik/ https://www.larrymyers.com/posts/nomad-and-traefik/
- KronisLV 4y agoI use Time4VPS (which is linked on my blog) or Hetzner for VPSes and Docker Swarm for orchestration (at least for personal stuff, though Nomad or something like K3s can be great too), in combination with a more boring web server like Apache or Nginx for ingress (but Caddy and Traefik are viable as well). Overall, I'm inclined to agree! You can pick a stack that's as boring or interesting as you want and have your container images work in almost any environment where OCI is supported, with minimal tweaking. You can use either base images that someone else has made (Bitnami images in particular are rather nice), or build your own, about which I wrote in more detail: https://blog.kronis.dev/articles/using-ubuntu-as-the-base-for-all-of-my-containers https://blog.kronis.dev/articles/using-ubuntu-as-the-base-fo... Currently each of my individual nodes cost around 5-10 euros a month, or I can even use my homelab servers for whatever I want, since they can either be in the same cluster or a separate cluster. Essentially you just adjust some deployment constraints and feed some YAML/HCL into whatever container orchestrator you have. Provided that your registry access is configured correctly, you'll have your software up and running in minutes.
- poopypoopington 4y agothe real story here is that a coffee and a bagel costs $10 \s
- nurettin 4y agoYour post made me realize that I pay more to digitalocean for a 2gb ram instance. I guess roles got reversed.
- x86hacker1010 4y agoCan you speak to Nomad vs K8s for side projects? I’ve deployed K8s in the past but was curious if Nomad is lighter/easier
- torvald 4y agoI can share some articles later, but Nomad is a ten-fold easier.
- larrymyers 4y agoI've found nomad far easier to operate and maintain, and conceptually it's easier to wrap your head around as well. It helps that nomad is just responsible for container orchestration, that's it. You can use whatever you want for ingress routing (I really like traefik).
- x86hacker1010 4y agoThat’s good to hear. I also like Traefik but I used some Traefik ingress controller on K8s. I really just want an orchestration tool for my containers and nothing else since NGINX and Traefik have nice enough abstractions. Thanks y’all.
- franciscop 4y agoAs someone who uses Node.js and is in the exact same situation as the author, requiring Docker is the #1 reason I'm not going with Fly.io. There's a standard for launching a Node.js project, and that's running the "start" script `npm start`, so switching is trivial. I switched from a Linux machine to my current MacBook and I didn't have to make a single change in any of my Node.js projects. Adding docker means adding a whole new layer to ALL of my projects, which I'd prefer to avoid specially when there's no need as Heroku has very clearly shown.
- spoils19 4y agoUsing Docker is relatively simple and requires little to no configuration, arguably less than a standard node project. Regardless, as someone who uses a variety of languages and is in the exact same situation, my generic Makefile is probably easier to read and understand than any standard that you have probably achieved.
- franciscop 4y agoWith a standard Node project, you'd need the Node configuration AND the Docker configuration. If I can do without Docker, why not? > my generic Makefile is probably easier to read and understand than any standard that you have probably achieved That sounds fairly rude for HN
- Woeps 4y ago"my generic Makefile is probably easier to read and understand than any standard that you have probably achieved. " If you have the need to state this when it's not relevant, then I highly doubt you have readable Makefiles ;)
- matthewcford 4y agoYou know you can also use the heroku build packs on fly.io right?
- franciscop 4y agoI don't use any build packs in Heroku? Since a while back Heroku just recognizes the Node project and automatically works with it, no need for any extra file. Or do you mean it's the same in Fly.io? If it auto-detects Node.js (through package.json), or at most allows for a dropdown to say "Node.js project", then that sounds about right for me.
- LAC-Tech 4y agoFly.io seems like the easiest way to get a docker container running publically. I had a look at the AWS equivalent (can't remember the name), and it was a cluster fuck of complementary services in the tutorial. Wish more cloud providers would focus on helping with existing open source tech, rather than trying to suck you in.
- matthewcford 4y agoAWS Copilot https://aws.github.io/copilot-cli/ https://aws.github.io/copilot-cli/ And it's a nightmare compared to fly.io
- nullzzz 4y agoPost author here. I agree! Did not mean to imply that Dockerizing applications is a bad thing - actually even pointed out that "it's not so hard". Just wanted to point out that writing one takes some effort and therefore Fly.io is not a drop-in replacement for Heroku. Container based deployment is a great thing to have and definitely a skill worth learning.