May 8, 2023
Please be advised: DevExp Working Group meetings are recorded.
Meeting captain: @Rebecca Graber
Notetaker: @Rebecca Graber
Start the Zoom recording!
Orbstack - @Diana Huang
Drop-in replacement for Docker Desktop (Mac-only)
Not open source and eventually will be paid
Theoretically more performant than Docker Desktop and has at least one promoter at 2u
Some performance numbers of related tools: https://github.com/docker/roadmap/issues/7#issuecomment-1503230816
https://github.com/edx/edx-arch-experiments/issues/93 (written by 2U Arch-BOM, who probably won’t have time to look deeply into this for a few months)
Question: Is there community interest and or/time for exploring it? Ideally we could get some eyes on it before the end of the year, when people may have to renew their Docker Desktop licenses.
Regis: interest but not him because he doesn’t own a mac : P
Next step: Discourse post.
Question: how important and how difficult is it to get Tutor working with Orbstack?
Ghassan - Docker Desktop doesn’t consume resources if you just open it without running anything
verified this on M1 and M2
the exception being that you have to tell Docker in advance how much memory it can take
this doesn’t address the issue of what happens when Docker is running containers
Does Orbstack support compose v2? Important for upcoming release.
Latest Tutor - @Régis Behmo
Palm is being released next month. New breaking changes!
@Kyle McCormick is pushing for Tutor to work on ARM and making bind-mount easier and faster
bind-mount is not available in tutor local. Instead, there is a MOUNTS setting for persistent bind-mounts.
optimizations for building images
pulls cache from remote registry. 3-4x speed improvement when building from scratch!
optimizations in the openedx dockerfile:
mounts a reusable pip cache folder, meaning we don’t have to rebuild reqs every time
This uses compose v2
Using the MOUNTS config, we can mount outside folders at build time
Question: is this available in dev as well as local?
Question: when mounting, how did it know where to replace the folder?
Answer: Automagic, using the edx-platform name
Can also use this for MFE repos
tl;dr: users will be able to develop and run using local forks/branches much faster
benchmarks in CI: https://github.com/overhangio/test-docker-build/
start: 35.8 m
with cache: 9.1
with cache + fork: 14
rebuild from fork: 7-11
Tips and tricks
Régis: try out the Palm branch \o/ https://github.com/overhangio/tutor/pull/827/
you will need the most recent version of compose ( docker compose instead of docker-compose)
We have a metrics vendor we like, we are in the process of vendor review. We hope this will give us useful things to show to the community
I am beginning to think about developer data tickets and will hopefully be writing them up soon.
Thoughtworks Tech Radar #28 is out, probably worth reviewing for good suggestions: https://www.thoughtworks.com/radar
Still working on a blog post about deploying Open edX from home using Mac Mini M2, the challenging part is that there are two ways to do it
Tunneling (probably for dev) It would rely on a remote instance for proxying the traffic
Port forward (requires router settings plus ISP)
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.
Actually executing on freeing up Arch-BOM from other commitments to devote more time to DX
Régis: Simplified the Tutor API by removing a lot of code
Becca: Having an agenda! We love agendas!
Suggested Action Items
Look at the board