Hey guys I was wondering when y’all are planning to update documentation on many of the amazing features you have. For example I think it’d be super helpful to have a further in depth guide for A Rails/Sidekiq/Redis stack because of how often it’s used. I know that you have something like this already, but at the end, it just says “Go to redis guide” and " Multi-Process Apps guide", good luck.
There’s some really cool features such as running processes within the same container which is great for rails btw by adding
web = "bundle exec puma -C config/puma.rb"
worker = "bundle exec sidekiq"
I cannot find anything of this sort in the docs, it’s so cool though!
Anyways, I really want you guys to succeed, what you have is really great! However in my opinion, as a newcomer, it’s really intimidating to get things going and customized after you hit
fly launch. Maybe it’s just me though.
Anyways, let me know if there’s any way I can help in this process, and when we can expect some docs with your new awesome features that really should be highlighted and not easter egged in the forum haha!
Thanks for the amazing platform
Thanks for raising this!
The short answer - we’re developing a whole new runtime and orchestration layer to replace some of the undocumented features. The new ones will work better and probably have a different interface.
That said, it sounds like the current version of the multi-process feature is known-enough to be worth documenting. Especially because we’ve led you astray - these processes do not run in in the same VM. They run as separate ‘process groups’, each in its own VM with the same contents but different commands.
Besides this feature, what else did you find missing from docs?
Also, FYI, our docs repo is open for PRs, if you feel adventurous!
Thanks so much for repsonding!
Okay that makes a lot of sense when it comes to process groups. I think it’d be really insightful if there was a bit more visual separation than just filters on the metrics and the scaling. For example I think it might be a bit more clear visually if you separated the scaling part
As for documentation:
- How to migrate a postgresql instance to fly (I wrote this one but it’s pretty janky cause I was having a really hard time migrating a rails instance with what I’ve found)
- How to make read replications from an outside database. I know there is this but no specific guide
- Would love to have an example databases hosted by other major players like AWS/DO/Heroku & Render (for me )
- How to backup databases
- How to use snapshots
To be clear my confidence in self-hosting a database is super low, so I’d rather have a managed database solution that I can call in and replicate on fly instead of having to handle me messing up my database somehow on here. Hence me requesting these things. I’m fine with downing my server every once and a while but I’m not fine with losing data (obviously haha)
- In-depth Rails deployment guide with the application of most common libraries ie: Sidekiq
- I think also having things like this for Django and others would be really helpful too
- Managing processes, how to modify your docker file, and what to know about them.
- Example: I don’t know if I should leave my docker file alone or not because if you see in the example above I have 3 processes running, but I actually should just have web & worker running. I think this is being called from docker, but it brings me peace of mind to know for a fact that I’m doing things right than discovering them on my own that I should delete the docker run file, as compared to “I hope I’m right about this, but it’s working” haha
- Sidenote: I think it’d be very helpful to know what my upcoming bill will be because right now it says 0 for the month and I don’t think that’s correct.
- More information on health checks like how to create them, examples of health checks
- More indepth information on implementing multistage build targets that doesn’t just link out to the docker site (if this is still going to be a thing). Maybe implementing a rails/sidekiq approach depending on what you guys think best practice is
- While the how to read fly.toml line by line is good, it only shows what’s there. I think having a fly.toml mastery guide or something would be super helpful to know everything that one can do in there.
Alright, that’s all I can think of for now
I’d contribute but I don’t feel like I know enough, one day when I become a DevOps pro I can pitch in but I’m not even confident in how I do things now.
I realise one needs to overhaul entire systems sometimes to meet quality goals, but hopefully Joel isn’t proven right.
Echoing OP’s sentiments: Machines is one of the most elegant API for “serverless” out there (tall order given GCP Cloud Run and Cloudflare Workers are no slouches)! If more stuff like Machines is forthcoming, then the wait would be all the more worth it.
I am also eager to see more documentation. As a hobbyist, it’s intimidating to hand over payment information to a service lacking robust, detailed walkthroughs. You don’t know if you’re going to get halfway through a deploy only to be told to draw the rest of the owl.
I successfully migrated my tiny site off a VPS, but a few hours into deployment I almost quit fly entirely because I wasn’t confident I could launch without official guidance.