4 ms·
You definitely can't make complex things simple just by removing features. What we did, instead, was built low level primitives, then built opinionated PaaS-li
by mrkurt 4y ago
You definitely can't make complex things simple just by removing features.
What we did, instead, was built low level primitives, then built opinionated PaaS-like magic on top of those.
If you're running a Phoenix app, `fly launch` gets you going, then `fly deploy` gets you updated.
If you want to skip the PaaS layer and do something more intense, you can use our Machines API (or use Terraform to power it) and run basically anything you want: https://fly.io/docs/reference/machines/ https://fly.io/docs/reference/machines/
We are very, very different than k8s. In some ways, we're lower level with more powerful primitives.
We probably won't build an AWS clone. I don't think devs want that. I also don't think devs want a constrained PaaS that only works for specific kinds of apps.
I think want devs want is an easy way to deploy a boring apps right now, and underlying infrastructure they can use to solve bigger problems over time.
- knicholes 4y agoI'm a dev. That's what I want. I want something publicly visible that I can get running in the first sprint so I can show everyone what my idea is looking like as it progresses. I want setting up the DB and certificates to be easy. I want a static IP to point my domain to. I want it all to just work if I have the source code and I tell it to deploy. I want secrets to be included so I don't have to stand up Vault or something. I don't want to set up my own Jenkins. I don't want to deal with resizing volumes in k8s. I don't want to dick with networking rules/configurations that allow my frontend to talk to my backend and my backend to my DB. I also don't want to set up my own log aggregator, grafana, and prometheus/alert manager, but for a quick "show everyone your app", I don't need those. I can add that harder crap later when the app shows promise and I actually need to debug performance.
- aprdm 4y agoSo you want a 5 dollars digital ocean, a DNS domain that costs you 10 bucks a year, and a docker-compose up command running nginx/whatever behind it. You can scp the tarball of your docker and docker-compose down/up If you want even easier, just put your app on docker and run nginx natively via systemd or wahtever.
- knicholes 4y ago$5/mo will host my webapp and a postgres db? The domain has to happen either way, but when it's an idea I'm playing with, I don't want to pay $5/mo as my projects move pretty slowly due to prioritization of full-time work and family. But if I'm going to do all that, I might as well just install k8s and deploy with the cli. I've already gone through the learning curve. But I don't want to do that. I don't want other people that might join my project to have to learn k8s for a tiny side project.
- dathinab 4y agono because that doesn't just work and involves additional work. A lot of additional work. Because it mustn't "just work" and then when the project grows you setup something new. It must "just work" and then scale to continue working for the initial and maybe all phases of the software product. So e.g. security matters, so you rally don't want to maintain an OS. Sure a OCI image has OS like properties, but by using stateless approaches and carefully select a very thin base image and rebuild it automatically with the newest version of the image you can sidestep most of that work load. Then you need auto scaling. Then you need to be able to add services on the fly without problems (e.g. another DB) and they need to have their own scaling. Then there is networking, as you don't create a super complex applications you don't need anything complex but still something solid. fly.io does provide all that So not only can you get something running trivially, you can the incrementally improve on it and even ship it in many cases without needing to re-design your deployment. Looks tbh. pretty grate for small and mid sized companies (or autonomous project of such size in larger companies).
- farmin 4y agoYou want firebase?
- knicholes 4y agoOkay, fine. That list clearly wasn't sufficiently exhaustive. I want to use the technologies I want to use and not be locked in to certain technologies.
- farmin 4y agoGotcha. I'm just testing Firebase now so was front mind. I come from a python, sql, setup own VPS on Ubuntu etc kind of background. Cloud functions and nosql is all quite different.
- intelVISA 4y agoYou can get a cheap VPS For ~$3pcm just about anywhere