2023-05-08 DevEx Meetup Notes

May 8, 2023

Recording

Please be advised: DevExp Working Group meetings are recorded.

Link: https://drive.google.com/file/d/1Z99iK0-7u6ddVZYfRlIF6bEyZEEYJdIe/view?usp=sharing

Participants

Meeting captain: @Rebecca Graber (Deactivated)

Notetaker: @Rebecca Graber (Deactivated)

  • @Diana Huang

  • @Jeremy Bowman (Deactivated)

  • @Pierre Mailhot

  • @Régis Behmo

  • @Connor Haugh (Deactivated)

Discussion topics

Item

Notes

Item

Notes

Start the Zoom recording!

 

Demos

 

Scheduled Topics

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

  • Changes:

    • 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?

      • Answer: yes.

    • 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

Cross Pollination

  • Tools/features/opportunities

  • Tips and tricks

  • Roadmap news

  • 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)

  • Becca:

    • 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

  • Diana

    • I am beginning to think about developer data tickets and will hopefully be writing them up soon.

  • Jeremy

  • Ghassan

    • 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)

Challenges

  • 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.

Jeremy

  • Actually executing on freeing up Arch-BOM from other commitments to devote more time to DX

 

Successes

  • DevExp wins!

  • Régis: Simplified the Tutor API by removing a lot of code

  • Becca: Having an agenda! We love agendas!

Suggested Action Items

0-2 minutes:

Last Time:

@Kyle McCormick @Rebecca Graber (Deactivated) send out agenda ahead of time next time
@Ghassan Maslamani will add ( the github-action for cherry-pick proposal for cherry-picking commits/branch) on the next BTR agenda

At some point in time
@Ghassan Maslamani will share a blog post about using Mac mini to deploy Open edX instance from home/on premesis

This Time:

@Diana Huang to create a discourse post about Orbstack
@Rebecca Graber (Deactivated) add dev data epic to DevEx board

Look at the board

https://github.com/openedx/wg-developer-experience/issues