Service Groups

jr

6 months ago

The ability to drag and drop services on the canvas and group them visually

Feedback

25 Comments

jr

6 months ago

We are testing out some new canvas interactions. You can enable it from the feature flags page

Enable service groups feature flag

Once you have the flag enabled, you can turn on service groups for your canvas through the command palette

Enable service groups through command palette

This lets you drag and drop services around and group them visually.

Service groups

Some useful tips

  • Right-click a service to create a new group
  • Drag a service close to a group to add it
  • Shift-drag a service to remove it from a group
  • Scroll to zoom in and out
  • Ctrl-F to center all the nodes

Caveats

  • All state is stored locally (in localStorage) and does not sync between devices or users of the same project
  • Collision detection is sub-optimal at the moment. This will change soon
  • Node positions and group state will likely be wiped in the future, so don't get too attached. But please try it out and give feedback!
  • This is very early-alpha. There will be bugs

This is something we are experimenting with internally and wanted to open it up for feedback. If you have any suggestions or ideas, please let us know!


6 months ago

Would love the opportunity to create service groups from the "New" button on the canvas, instead of from the individual groups. That way, a "blueprint" can be created from the start of an empty project. That way, as services are deployed, they can be placed inside their respective home.

Would also like to see the ability to right click on an empty service group and create a service inside of it.

Just my $0.02

Other than that, I like it so far.


robert

Trial

6 months ago

I love the idea so far, it's a great organizational tool! The only thing is that I've noticed a bug where the layout of services changes when the page is reloaded. I like having services vertically organized in a group, but for some reason, they reset to a horizontal layout.


Anonymous

Trial

6 months ago

The groups idea will be useful, but I would add more stuff related to sorting and searching for services with and without the groups, In my case we have 30+ services deployed on a project using a micro-services architecture.

The canvas view is a nightmare in this case because the services are stacking vertically and not taking enough advantage of the horizontal canvas space. Also its very hard to find services as we don't have a way to search or order alphabetically or recent updated, for example.

Thats why with the sorting and search suggestion, I add a simplified list view toggle, alternative to the canvas. In the cases you have a big list of services, its easier to see everything having them condensed in a list.

I really love Railway and its being very useful for the company, but this listing options are a big pain to us lol


jake

6 months ago

@Daniel Brown

Thanks for the feedback! We can definitely think about a list view. The goal here is to "clean up" the canvas for indeed exactly that usecase

Some user interview questions:

  • Could any of those 30+ services be condensed? (aka, workers, webserver, etc)?
  • Would it be sufficiently helpful to have "search" in the command palette? (aka CMD+K -> "Workers" and it zero's you into them)
  • Would adding Zoom to the canvas, to give a "higher level view", be helpful?

Appreciate the thoughts!


vdowns

6 months ago

Hi @Daniel Brown I'd love to learn more about your architecture and how you think about grouping and organizing your services. Here is a link to my calendar if you would be interested in jumping on a call.

Thank you for all your great feedback! 🎉


jake

6 months ago

BTW Thanks @Vin I think we defs need it available from New/Command palette soon/for the V1!

That's indeed the goal. As we flesh out the notion of service group, it will also lead into the Template composer stuff (so you can do this for templates as well, then share them)

Excited to show you more!


Anonymous

Trial

6 months ago

Fantastic upgrade!!

QUESTIONS —

As this is an Alpha feature, I'd like to be cautious proceeding as we are running production services in some shared workspaces.

  1. If I activate Canvas Service Groups in "my" profile and then group services in the shared workspace, but another member of the shared workspace has not activated Canvas Service Groups, do they see the grouped services, or is it flat as-is for them?

  2. Could using Canvas Service Groups break our production systems in any way?

Thank you.


jr

6 months ago

Service groups are an entirely local feature currently and you can disable it at any time

  1. No. Enabling it would only enable it for your account. And even then, the groups and service positions on the canvas are stored in your browser so would be different on another computer
  2. No. There are not infrastructure changes that will be made if you use service groups. It is visual only at the moment.

rc

marked this thread as

5 months ago


david

5 months ago

Can't wait for Service Groups!


5 months ago

That would be a great addition to easily have a grasp of the infrastructure, without having to visually scan the titles to find the correct service!


5 months ago

Is it on purpose that the feature flags are disabled on Pro plan?


4 months ago

Would be cool to deny internal networking from other groups.
This would be a great use case for me to store all my client-related projects in one big project, but for example I don't want the frontend to be able to communicate with the database directly.


jr

4 months ago

Is it on purpose that the feature flags are disabled on Pro plan?

Feature flags are enabled on the account, not the plan. If you have service groups enabled for your account you will be able to use them for Pro plan projects.


4 months ago

Since today, the Dashboard now loads super snappy, but my service groups on the Team Plan have disappeared.

Is this intentional?


Love this feature!

Would like some kind of grouping (this might be the answer) for entire teams/projects.

We are building out some larger projects, this would help greatly!


vdowns

2 months ago

👋 Hey Hey! Thanks for sharing all your feedback on service groups! We have have some really fun updates to the alpha would love to keep that feedback coming!

Some highlights include:

  • Nested groups
  • Nested group preview
  • Improved canvas layout for projects that aren't using service groups
  • Improvements to positioning, animations, and navigating the canvas!

If you haven't played with groups recently, please check it out! We want to hear from you!


2 months ago

would the positions still be stored in local storage for the time being?


vdowns

2 months ago

More exciting progress on Service groups! https://twitter.com/Railway/status/1762937417148059850

If settings could be inherited or set at the group level, what would you be interested in setting there vs at the project level? Would also love to see how you are laying out your canvas!


jr

2 months ago

We've just pushed an update to save groups and node positions globally to the project. Unfortunately, this means that current groups and positions will be reset. However, this should be the last time that happens and the group should be much more stable moving forward. Keep an eye out for the changelog for a list of other updates we have recently made!


dwaynemac

Hobby

2 months ago

how do i create a services group?


2 months ago

please see the top comment from jr, it explains how to enable and create service groups


dwaynemac

Hobby

2 months ago

sorry, missed the enabling on the project. thanks!


jahands

Hobby

20 days ago

I absolutely love the Service Groups feature - super helpful for organizing larger projects. Thanks!