Platform Roadmap

This page is intended to give an overview of the roadmap for the platform team. Currently it's a dump of the todo list I've been working on. 

Your thoughts and contributions are welcome.

Items are somewhat ordered...

CSM Migration
  • CSM will run out of primary key

Old Mongo Migration


Needs Discovery
pymongo upgrade PLAT-753 - Getting issue details... STATUS
Ready for work
CSMH migration
  • Put this offline in S3
  • removes an entire database system
Needs Discovery
Django upgrade cleanup PLAT-1717 - Getting issue details... STATUS

Celery Upgrade
PLAT-1684 - Getting issue details... STATUS
Upgrade Celery 3 → Celery 4Ready for work

edx-platform Python 3 upgrade

  • Django 2.0 will require python 3. 
  • Django 1.11 support will end at the earliest on April 1, 2020
  • In order to properly support the open source community the edx-platform must be upgraded to python 3 / Django 2.0 before the lat 2019 
Needs Discovery
Boundry cleanup

PLAT-1782 - Getting issue details... STATUS

We are currently unable to import from certain paths in the edx-platform. Clean this up.Ready for work
Pact - Contract testing

Enables consumer driven contract testing, providing a mock service and DSL for the consumer project, and interaction playback and verification for the service provider project.

Needs Discovery
Image Resizing

Currently images are served at whatever size they were uploaded as. This allows course authors to do things such as:

  • Uplaod a 10meg image for a thumbnail
  • Cause slower page loads

We should have a way to resize images that are uploaded to optimize for page load times in the platform.

Dave's Doc:

Possible solution:

Needs Discovery
Bulk Emailer
  • Perhaps covered under ACE
  • One of the goals is to stop sending email via the web servers
Needs Discovery
Library upgrade pull request tool

PLAT-1783 - Getting issue details... STATUS

Should we just use Ready for Discovery
Distributed Configuration
  • Separate configuration from code in all our applications.
  • One AMI built per cluster
    • For example, an 'edxapp' AMI instead of all these:
      • stage-edx-edxapp
      • loadtest-edx-edxapp
      • prod-edx-edxapp
      • prod-edge-edxapp
  • Would be nice:
    • Dynamic configuration changes without new AMI deployment
Needs Discovery
Open edx release automation PLAT-1921 - Getting issue details... STATUS Automate the steps necessary to do an open source release

Red/Black queue deployments 

PLAT-1751 - Getting issue details... STATUS
Isolate queues for each deployment. Engineers shouldn't need to program for isolation inside the application.Needs Discovery
Databases on demand
  • It takes too long to bring up databases for testing in environments
  • The data needs to be scrubed
  • would be nice if this could be a one click process
Needs Discovery