Remote Development Options including Level of Effort and Pros and Cons
What
We want to get rough estimates for the LOE involved with our current Remote Development paths.
How
Give a rough estimate of how much effort (in issue weights or milestones) would each of the approaches below requires.
Also, we should list the pros and cons of each option? If you have already listed the pros and cons somewhere, feel free to reference that link.
Options
Option 1: Building out the current POC to make it Production Ready
Creating a production-ready version of our POC would involve building a CLI tool that can handle configuring a remote VM or container with the correct dependencies and configuration required to establish a connection between the Web IDE and the remote environment. It would also need to handle authentication, potentially through GitLab Agent. Creating this CLI tool would reduce friction for users interested in establishing a basic connection to a remote server but does not solve any of the use cases around defining, provisioning, or monitoring the actual remote development environment.
Option 2: Using Documentation to empower the user to create their own CLI Tool
As our MVC is not focused on delivering an end-to-end solution and will only live on as part of a potential free offering, we can limit the time spent on it by documenting the configuration and requirements for a server to be managed entirely outside of GitLab. In effect, this is introducing a client-side extension that can connect to a properly configured host, but we do the absolute minimum to actually configure the host.
Option 3: Continue with the Che implementation
The question here is whether we put any time at all into an MVC with potentially limited utility or continue investigating our full Che-based solution. There is no overlap in functionality between this and the other options, as Che is a more complete (likely paid) feature that involves defining, provisioning, and monitoring the remote environments. The effort is very large, and still needs some exploration before we can create an iteration plan.
This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.