You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Today the executor and serialization service must be colocated in the same server. This is largely because the vscode extension doesn't make it possible to configure the serializer and executor service independently.
Is it worth exposing an option to allow serialization service to be running at a different address?
Use Case
I think it could be valuable to be able to independently configure the endpoint (and by extension the location/environment) where the serializer and executor run. In choosing where to run them you have different factors
Serializer - The serializer is stateless. The primary thing you care about is reliability and availability because if the serializer goes down you can't save/open new documents.
Running the serializer in the same environment as the executor can lead to friction (#593 (comment)) if you can't save/open documents because that environment becomes unavailable (e.g. a container).
Alternatives
One alternative is using WASM to move serialization/deserialization directly into the frontend. In some ways I think that is a superior solution because
Your serializer is always available
You don't have to configure/operate a separate serialization service.
I believe the decision was made to try to remove the WASM code path (stateful/vscode-runme#349) because it was found to have memory leaks and cause other problems.
I think there is some open question as to whether and how to support remote executors and executors in containers (see #631 and #593). Its possible depending on how that shakes out configuring the serializer independently doesn't provide much value.
@sourishkrout thoughts? WDYT about adding an experimental option to specify an alternative endpoint for the serializer?
The text was updated successfully, but these errors were encountered:
Today the executor and serialization service must be colocated in the same server. This is largely because the vscode extension doesn't make it possible to configure the serializer and executor service independently.
Is it worth exposing an option to allow serialization service to be running at a different address?
Use Case
I think it could be valuable to be able to independently configure the endpoint (and by extension the location/environment) where the serializer and executor run. In choosing where to run them you have different factors
Serializer - The serializer is stateless. The primary thing you care about is reliability and availability because if the serializer goes down you can't save/open new documents.
Executor - Where you run the executor often depends on where you want to execute commands (i.e. resources/files you want to access). For example, you might want to run the executor in a container (Better command execution in Docker #631 and Support executing cells in different gRPC Executor Services - Ephemeral Containers #593) either locally or remotely.
Running the serializer in the same environment as the executor can lead to friction (#593 (comment)) if you can't save/open documents because that environment becomes unavailable (e.g. a container).
Alternatives
One alternative is using WASM to move serialization/deserialization directly into the frontend. In some ways I think that is a superior solution because
I believe the decision was made to try to remove the WASM code path (stateful/vscode-runme#349) because it was found to have memory leaks and cause other problems.
I think there is some open question as to whether and how to support remote executors and executors in containers (see #631 and #593). Its possible depending on how that shakes out configuring the serializer independently doesn't provide much value.
@sourishkrout thoughts? WDYT about adding an experimental option to specify an alternative endpoint for the serializer?
The text was updated successfully, but these errors were encountered: