Technology Radar Vol. 22 (May 2020)

As of this writing, this is the current edition available at https://www.thoughtworks.com/radar . The PDF version should remain available even after the next edition is released.

This was discussed at https://openedx.atlassian.net/wiki/spaces/AC/pages/1509163670. Relevant content from the meeting notes have been copied here for further discussion and future reference.

Techniques

1. Applying product management to internal platforms (Adopt) - This is done only in a limited way at edX, and we do have a lot of things that haven fallen through the cracks over the years (e.g. devstack).

3. Micro frontends (Adopt) - We’re doing this one!

5. Pragmatic remote pairing (Adopt) -

  • Definitely support it and would push for wider use of it.

  • Someone needs to be a point person for it and they would figure out what to use

  • Would help in delegating knowledge

  • Possible method -> 2 people pairing together… With one person taking lead and the other person comes and goes based on their schedule

  • The person pairing would be responsible for writing docs for knowledge transfer

16. Zero trust architecture (ZTA) (Trial) -

  • We probably already do some of this, but probably should go into this eventually

  • Not sure where this should be for things

24. Legacy migration feature parity (Hold) - As talk about Studio split grows, we should be careful about this.

Platforms

29. Istio (Adopt) - If we decide we want a service mesh, this is clearly the one that ThoughtWorks recommends.

31. Argo CD (Trial) - We’ve started using this for Kubernetes deployments.

32. Crowdin (Trial) - @Jeremy Bowman (Deactivated) noted that this is an alternative to Transifex that we could look at if we’re unhappy with our current localization setup.

36. Hydra (Trial) - A self-hosted open source OAuth2 service that @Jeremy Bowman (Deactivated) noted we might want to look at if we ever decide to do major OAuth2 refactoring again.

38. Snowflake (Trial) - We’ve started using this as our data warehouse.

40. Apache Pulsar (Assess) - A pub/sub messaging service and Kafka alternative that we may want to consider when choosing a message bus implementation.

43. JupyterLab (Assess) - @Jeremy Bowman (Deactivated) Noted that we may want to look at this for repo health dashboard and other data analysis/reporting use cases.

Tools

50. Cypress (Adopt) - An alternative to Selenium for browser automation testing which now supports both Chrome and Selenium. It has been used experimentally at edX with promising results.

52. Dojo (Trial) - An enhancement of docker-compose for dev environments that @Jeremy Bowman (Deactivated) noted might be worth evaluating for use in devstack.

63. Phrase (Trial) - @Jeremy Bowman (Deactivated) noted that this looks like another alternative to Transifex.

64. ScouteSuite (Trial) - An automated security assessment tool that includes AWS support that was noted as being potentially useful.

66. Visual Studio Live Share (Trial) - This looks useful for people using Video Studio Code who want to pair program, but many people at edX use different editors. The architecture team is starting to experiment with Floobits instead, which claims similar functionality but works with Atom, Emacs, IDEA/PyCharm, NeoVim, Sublime, and a browser-based editor.

70. GitPod (Assess) - Tool for auto-launching a dev environment for a repo in the Google Cloud Platform that someone noted as interesting.

76. tfsec (Assess) - This is a static analysis tool for detection security issues in Terraform that members of both the Architecture and SRE teams noted as potentially interesting.