Docker desktop starting charging recently depending on some confusing criteria, including for orgs of 2U’s size
Docker Desktop vs Engine
Engine is free - it runs on Linux
Docker Desktop adds a VM to run Docker Engine. This is why it’s required on macOS
Colima is just the VM - it runs Docker Engine in the VM itself
Note that Docker Engine cannot run directly on
2U is looking at alternatives
OrbStack - also proprietary, ~$8/user/month after beta is done, seems to be ~3x as fast. Also better default settings.
Colima - open source, entirely CLI, comparable performance to Docker desktop. Also able to install in CI (not possible for Docker Desktop due to licensing)
Rancher, Podman - don’t seem to work out of the box
Podman is not exactly drop-in Docker, it’s more oriented around RedHat ecosystem
For Open edX devs
You can stick with Docker Desktop
Can try OrbStack, although it might cost money
Colima - also worth trying
For Docker, OrbStack, and Colima: All intended to be compatible implementations of docker
In Jeremy’s experience, they can be installed side by side with switching being pretty seamless
Recommandations (in docs)
2U would need to go through vendor review internally
2U isn’t even certain they want to stick with local development for their employees vs. a totally hosted dev environment
OrbStack seems to make local dev more palatable, thoug
2U’s hosted env is currently a bit of a temporary thing
OrbStack doesn’t seem to be a big company – all their PR and all our interactions with them(?) have been with a single person
OrbStack has a nice volume mounting interface - works around bind-mouting slowness on macOS
2U: Fully hosted vs local dev envs
What’s the advantage of fully hosted?
Folks who have worked at a place with a fully hosted env really loved it, esp when the story was “one click and I have a dev env”
That’s not the case currently for Open edX. More like:
Local devstack is ~20 minutes
Hosted devstack is ~5 minutes (although first time setup is a little higher)
Hosted devstack at 2U is just a hosted Devstack instance in an EC2 instance that you manage through AWS
Other devs can jump in easier just by ssh’ing
Tips and tricks
We have a team at 2U that is lookin into implementing their own version of developer data. It is currently very enterprise-centric, so not quite as useful to the community yet, but hopefully will be in the future.
I can’t remember if I announced this before, but we have announced and set acceptance dates on two significant deprecation tickets:
Working on faster provisioning for mounted edx-platform with tutor mounts populate command (directly copies assets, node_modules, etc. from image to host). Generalizable to other service, too, e.g. course-discovery.
Still testing new optimized Tutor Dockerfile with new static assets build
[Jeremy] I recently discovered https://earthly.dev/ , wonder if it could help with image build optimization
Each challenge should have a follow up action.
If you have an idea for follow up actions, add it.
Or if you aren’t sure, leave it blank.
We’ll discuss all actions either way.
[Becca] Haven’t had time to try Tutor again, nor really do much in the way of DevEx at all
[Emad] some contributions to different openedx repos(mostly MFEs). MRs are stuck for weeks :))
[kyle] I’ve been using Tutor + Library Authoring Plugin in order to work on Content Libraries V2, and it’s been going smoothly
[kyle] Starting now (in Nightly) and in Quince, Tutor will assume docker buildx is available, which is much better at parallelization, caching, & has a better interface.
Suggested Action Items
@Kyle McCormick review Jeremy’s doc, add details about Tutor changes in Palm
@Rebecca Graber to check Tutor on ARM again
@Kyle McCormick switch invite to Meet
@Kyle McCormick@Régis B. work on tutor dockerfile & automatic mounting of custom packages
After the meeting…
Make an agenda for next time (tip: copy this page).
Axim: Paste in the Zoom link once it’s ready.
Paste these notes and next week’s agenda in #wg-developer-experience