Workspaces | Category Strategy
## Remote Development | Category Strategy [:link: Direction page](https://about.gitlab.com/direction/create/ide/remote_development/) _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._ This is the top-level strategy epic for work related to the planned Remote Development category. While it has not been assigned to a specific group, the problems to solve are very closely related to those addressed in categories that belong to ~"Category:Workspaces". ### Overview Management of local development environments can be tedious and time-consuming. For some, it becomes a significant barrier to collaboration and productivity. The Remote Development category is focused on providing web-based development environments that enable developers to get up and running with a project faster, contribute more efficiently, and switch contexts with less disruption. This is particularly beneficial to larger organizations that work with standardized development environments and those developers who contribute to multiple open-source projects. ## Iteration path To paraphrase a well-established Product metaphor: Say we're building a racecar :race_car:. If we start by building the engine, then the body, then the wheels, we won't have anything we can use until every single component is complete. We can iterate toward a racecar and provide value along the way by first building a scooter :scooter:, then a :bike: and so on. Sure, a scooter doesn't even resemble a racecar, but it does help you move faster and more efficiently. We may not end up using any components of the scooter but we'll learn a lot along the way and for some people, a scooter may be good enough! ### :scooter: Securely connect to a remote host from the Web IDE To reach a minimal level of functionality, we can allow developers to connect the Web IDE to a container manually configured to act as a remote VS Code host. **This functionality is our MVC and gets us to Minimal maturity**. It can live on as a Free offering and replaces our existing Web Terminal feature. Post-MVC iterations can reduce friction for developers configuring their remote host. ### :bike: Configure and deploy a remote environment on your existing cloud platform An end-to-end solution for defining, provisioning, and managing environments based on our custom server. A developer will be able to define an environment in a devfile and provision environments on a Kubernetes cluster hosted by their existing cloud provider. The completion of this would likely get us to **Viable** maturity. ### :motorcycle: Customize the editing experience with shared settings and extensions Extending the experience within GitLab to support more customization and standardization among teams. Offering support for alternate IDEs, configuration templates, setting sync between projects, and the ability to closely manage installed extensions will likely bring us to **Complete** maturity. ### :red_car: Optimize performance with pre-built environments As the offering matures, we can optimize for performance and storage on your cloud platform and introduce user-level management for larger organizations. ### :race_car: Create environments on a GitLab-managed platform Taking what we've learned we can provide a cloud platform for you and make GitLab the single solution for defining and hosting your remote environments. ## History Previous research into container-based environments and server-side code evaluation has been completed as it related to the Web IDE and Live Preview categories. Here are some relevant links: - https://gitlab.com/groups/gitlab-org/-/epics/1619 - https://gitlab.com/gitlab-org/gitlab/-/issues/16069 - https://gitlab.com/groups/gitlab-org/-/epics/3230 - https://docs.google.com/document/d/1t1j98Wl1erG9b8cUT77yDsNUEPvCOMOp0ktbOkYZfWc/edit?pli=1#heading=h.4mt5fmtn0ax4 - https://docs.google.com/document/d/1eXGoPr6iXBUgOBr9fgDjQkk-vGdT_edCSTNUIK6UVrc/edit# - https://gitlab.com/gitlab-com/create-stage/editor/-/issues/85 ## Blueprint Our Remote Development architecture blueprint can be found at https://gitlab.com/gitlab-org/gitlab/-/merge_requests/97449+
epic