R
Railwayβ€’17mo ago
Kvasir

Deployment Services Question(s)

Hi. I am considering using railway to host an app instead of running on DO and had some questions that I could not find answers to in the docs immediately. 1. It appears that railway handles SSL termination and my app can just speak plain http. Is that correct? 2. It looks like railway doesn't do any sort of load balancing across multiple instances of a service. Is that corret? 3. If 2 is correct, are the deployments blue/green in some fashion, or is there some amount of downtime on every deployment? 4. Is there an established pattern for running multiple instances of an app if the popularity gets to a point where that would be warranted (is it just deal with configuring an nginx myself as a load balancer)? 5. If I want to use go 1.19 or 1.20, am I currently restricted to using a dockerfile setup that I maintain myself? Thanks in advance.
14 Replies
Percy
Percyβ€’17mo ago
Project ID: N/A
Percy
Percyβ€’17mo ago
1. Yes, it appears that railway handles SSL termination and your app can just speak plain http. 2. Yes, it looks like railway doesn't do any sort of load balancing across multiple instances of a service. 3. No, there is no blue/green deployment, so there will be some amount of downtime on every deployment. 4.
⚠️ experimental feature
Kvasir
Kvasirβ€’17mo ago
N/A
Brody
Brodyβ€’17mo ago
gopher! 1. correct 2. correct 3. theres a small chance of downtime between deployments but its very minimal with the health check path test 4. theres no horizantal scaling with railway yet, so you could just spin up multiple instances and load balance them with cloudflare / caddy / nginx 5. correct
Kvasir
Kvasirβ€’17mo ago
Ok. Thanks for the quick reply πŸ™‚
Brody
Brodyβ€’17mo ago
i too use a dockerfile so i can run 1.20 another thing to keep in mind is theres no persistent storage yet, so youll want to keep files in a bucket or data in a database, but im sure you know that already πŸ™‚
Kvasir
Kvasirβ€’17mo ago
yeah, i am used to treating the apps as basically just having /tmp and putting static assets somewhere else. Will have to figure out where that would be, but not unexpected
Brody
Brodyβ€’17mo ago
cloudflare r2 is a great option
Kvasir
Kvasirβ€’17mo ago
Thanks. I recall reading about that when it was released. Will have to look into the details of that.
Brody
Brodyβ€’17mo ago
no problem, if you have any other question you can just ask them in this same thread
Kvasir
Kvasirβ€’17mo ago
partygopher question came up: if i want to ship metrics and logs off to something like grafana cloud, it seems I’d need to run an extra service with the agent. Or have it run in each container, or something. Are there any established patterns for this sort of thing?
Brody
Brodyβ€’17mo ago
I am unfamiliar with doing this sort of thing and I haven't seen mentions of recommended ways to do logging and metrics, so it would probably just come down to rolling your own solution whether that be in every container, a service in the same project or a single separate project for the aggregator
Kvasir
Kvasirβ€’17mo ago
Is there any internal networking within a project? Or would everything have to be accessible on the public internet?
Brody
Brodyβ€’17mo ago
Not at the moment unfortunately, it's marked as planned https://feedback.railway.app/feature-requests/p/internal-networking And with the new edge network it shouldn't be too far away, but of course no eta https://discord.com/channels/713503345364697088/820082368273973289/1081398121331961947