Devstack Survey Results (2020-October)
The Arch squad sent a survey to edX and Arbisoft engineers in October 2020 to gain insight into devstack usage and pain points. This document summarizes the results of the survey.
Who responded (theme and expertise)?
40 people responded, of which 38 classified into a theme.
Fairly even distribution of responses across themes (slightly Platform heavy).
What percentage of each theme replied to the survey?
There is a normal distribution (bell-curve) of self-reported expertise with devstack.
A higher # of Platform engineers self-report as knowledgeable (“4”) about devstack.
Few people know how to add test data (but many think they could figure it out).
Nobody from Platform claimed they were proficient at setting up test data.
How to change configuration is a mystery to about ⅓ of respondents.
How often are developers impacted?
Most folks use devstack often (few times a week or more).
About ⅔ of respondents run into devstack issues at least multiple times a month.
People don’t use “make destroy” very often (a few times a year or never).
Most people don’t re-provision very often.
People in Platform tend to do this more often.
Do folks not re-provision because it blows away local test data?
How long do things take?
The following chart is ordered from slowest to fastest.
All respondents consider dev.provision
to be slow.
Almost all respondents consider dev.pull
to be slow.
Devs do not run dev.provision
very often (per chart above). It could be because they don’t need it, or it’s too slow, or it takes too long to recreate their local test data, or some other reason.
We don’t have similar information on how frequently devs run dev.pull
.
It is still difficult to determine commands to run
.
Maybe the docs are in the wrong place or not clear enough.
Now that we have a clear owner of devstack, perhaps get help
will be faster.
Free-form Comments
Commands Know-How
There is uncertainty around which commands to run when. We have big hammers (like reprovisioning all of devstack), but not clear regularly-needed hammers.
Out-of-the-box Consistent Experience
Desire to have services work together smoothly out of the box.
Troubleshooting
Folks are not empowered to solve their local problems. They resort to big hammers and are blocked by external help.
Data Provisioning
Developers need the ability to provision their devstacks with “basic” test data for their most popular workflows.
Service Dependencies & Resource Consumption
Developers seek decoupled services with consistent inter-service communications, and smaller footprints.
Devstack Speed
Developers avoid dev.pull
, although it’s a reliable way to sync with the latest code. Using paver
as an abstraction layer slows tasks.
Devstack Workflow
Devstack usage patterns vary significantly across squads and developer seniority.
Devstack Complexity
Varying layers of technology add to devstack’s complexity.
Decentralized Devstack: Mixed Feelings
Decentralized devstack can be a viable solution, but underlying problems like provisioning and complexity still remain.