Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Epic: Two Workspace Classes on SaaS #8261

Closed
10 of 11 tasks
svenefftinge opened this issue Jun 17, 2021 · 18 comments
Closed
10 of 11 tasks

Epic: Two Workspace Classes on SaaS #8261

svenefftinge opened this issue Jun 17, 2021 · 18 comments
Assignees
Labels
feature: workspace classes team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team type: epic

Comments

@svenefftinge
Copy link
Member

svenefftinge commented Jun 17, 2021

Summary

Provide users with the ability to select between two different workspace classes for all their workspaces. On SaaS, the options are:

  • Standard (up to 4 cores, up to 8GB RAM, 30GB storage)
  • XL Large (up to 8 cores, up to 16GB RAM, 50GB storage)

⚠️ Note that because of the storage size differences, a XL workspace can't be restarted as Standard, and neither can a Standard workspace be started from an XL prebuild.

Context

Different projects require different resources. To allow developers to fully leverage the power and scalability of the cloud, we want to allow for different workspace classes.

Internal Signal

Value

Users will have access to better performance, that supports heavier workloads.

Acceptance Criteria

  • SaaS users that don't have a "legacy" monthly subscription must be able to choose between the two options (Standard and XL) in the Account Settings.
  • SaaS users that have "legacy" monthly subscriptions should continue to use standard or XL according to the excludeFromMoreResources as they do today.
  • SaaS users must be billed according to the workspace class they are using.
  • Workspaces must not fail to start because the backup is larger than the storage available in the chosen class.
  • Users should be able to determine what is the class of a given workspace, and what was the class used to run a prebuild

Measurement

  • % of workspaces that were XL.

Growth Area

Expansion.

Persona(s)

Users that have heavier workloads.

Out of Scope

  • Self-hosted use case.
  • Having different workspace classes share the same node pool, and similar optimizations.
  • Per project or per workspace class.

See #10805 to check what will follow.

Tasks

Front logo Front conversations

@ajhalili2006
Copy link

What about the storage for /workspace? Is it limited to 5 GB (like in Google Cloud Shell for /home/<your-gmail-username-over-here-probably>)?

@rohan-patra
Copy link
Contributor

How would this affect users with unleashed/unlimited plans?

@rohan-patra
Copy link
Contributor

What about the storage for /workspace? Is it limited to 5 GB (like in Google Cloud Shell for /home/<your-gmail-username-over-here-probably>)?

I believe they allow 30 gb to persist in that directory and the allowed space in a running workspace might be higher but will be deleted when the workspace stops.

@svenefftinge svenefftinge transferred this issue from another repository Feb 17, 2022
@svenefftinge svenefftinge changed the title Configurable Resources Epic: Configurable Workspace Size Feb 17, 2022
@svenefftinge svenefftinge added team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team type: epic and removed needs-design labels Feb 17, 2022
@csweichel
Copy link
Contributor

We should generalise a tad and move to "workspace classes"

@shaal
Copy link
Contributor

shaal commented Mar 29, 2022

@csweichel that last link is not accessible to the public

@svenefftinge svenefftinge changed the title Epic: Configurable Workspace Size Epic: Diffewrent Workspace Classes Mar 31, 2022
@svenefftinge svenefftinge changed the title Epic: Diffewrent Workspace Classes Epic: Different Workspace Classes Mar 31, 2022
@atduarte atduarte self-assigned this Mar 31, 2022
@atduarte atduarte moved this to Scheduled in 🌌 Workspace Team May 11, 2022
@RafidMuhymin
Copy link

We won't be able to offer unlimited hours with this, so need to think about changes to our plans that are more usage-based than seat-based.

Currently, in the Personal plan, we get unlimited hours of usage and we can run up to 8 parallel workspaces. So currently, a user who has purchased the Personal plan gets 24 * 30 * 8 = 5760 hours technically. Now, if the plans get changed to be usage-based, then will a user get 5780 / 4 = 1440 hours if they enable 4X mode?

@rohan-patra
Copy link
Contributor

IMHO, the current pricing strategy is the biggest draw for Gitpod over something like Codespaces. I know that Gitpod also offers a host of other features including integration with Jetbrains (extremely useful), but the ability to just use Gitpod without worrying about how many hours I am using is so amazing for me as someone using it for personal projects, school, and contributing to open-source projects.

I would suggest something like the following:
highest tier plan:
unlimited hours on S
and then x flexible hours per month to use towards more powerful instances following the pricing in the original post and if someone needs more flexible hours, they can purchase more.

@atduarte atduarte changed the title Epic: Different Workspace Classes Epic: Different Workspace Sizes (Standard and XL) May 30, 2022
@atduarte atduarte changed the title Epic: Different Workspace Sizes (Standard and XL) Epic: Two Workspace Sizes May 30, 2022
@svenefftinge
Copy link
Member Author

Currently, in the Personal plan, we get unlimited hours of usage and we can run up to 8 parallel workspaces. So currently, a user who has purchased the Personal plan gets 24 * 30 * 8 = 5760 hours technically. Now, if the plans get changed to be usage-based, then will a user get 5780 / 4 = 1440 hours if they enable 4X mode?

We are going to fade out the existing plans. That means new users cannot subscribe to personal or unlimited plans anymore. Users who are today on such a plan cannot use different workspace sizes. If you want to use them and you are on a personal plan you'll need to switch to the new usage-based plan, that we are going release together with this epic.

@gtsiolis
Copy link
Contributor

gtsiolis commented Jun 30, 2022

Posting some early design specs for future reference. Cc @Furisto @atduarte

v1 v2
WorkspaceClasses WorkspaceClasses-1

@jimmybrancaccio
Copy link

Let me know if this is off-topic and we can discuss it elsewhere! I love the work done in those screenshots @gtsiolis - looks great!

Was there a reason we decided on two workspace classes? How come not 3? I ask because in v1 I see 3 dots so that's what got me thinking.

@gtsiolis
Copy link
Contributor

Hey @jimmybrancaccio, thanks for the feedback! 🙏

Was there a reason we decided on two workspace classes? How come not 3? I ask because in v1 I see 3 dots so that's what got me thinking.

The MVC starting point for this feature includes two workspace classes as described in the epic description and other internal documents[1][2][...]. See also relevant discussion (internal).

@trumbitta
Copy link
Contributor

"Standard" confuses me a bit. How about using those labels to provide a bit more info about what the shorter ones mean?

About that, I find "XL / HIGH MEMORY" clearer than "M2 / LARGE", and I'd like to see something different from "SM / STANDARD" for the other couple.

Maybe along the lines of "SM / BASELINE SPECS" or "SM / BASELINE".

@atduarte
Copy link
Contributor

atduarte commented Jun 30, 2022

Was there a reason we decided on two workspace classes?

@jimmybrancaccio because we already have 2 workspace classes in production but one (the Large) is only available to a small fraction of the users.

@atduarte
Copy link
Contributor

@Furisto Could you please include the updates to the Large and Standard limits, as well as their relation to the release, to the plan?

@kylos101
Copy link
Contributor

kylos101 commented Aug 23, 2022

Changing status to in-validation, as we're testing internally and socializing early access, and will use as feedback to plan GA. cc: @atduarte

@kylos101
Copy link
Contributor

@atduarte as this is successfully in early preview now, can we move to done?

Repository owner moved this from In Validation to Awaiting Deployment in 🌌 Workspace Team Nov 10, 2022
@atduarte atduarte moved this to In Validation in 🍎 WebApp Team Nov 10, 2022
@atduarte atduarte moved this from Awaiting Deployment to Done in 🌌 Workspace Team Nov 10, 2022
@edmondop
Copy link

edmondop commented Dec 9, 2023

When working on Rust, 50GB might not be enough for large projects such as arrow-datafusion

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature: workspace classes team: webapp Issue belongs to the WebApp team team: workspace Issue belongs to the Workspace team type: epic
Projects
Archived in project
Status: Done
Development

No branches or pull requests