Please log in to watch this conference skillscast.
Early this year Russell and the team decided it was time to invest some serious effort into refactoring and rewriting these systems to make changes easier, safer, and faster. They also had to find a way to do this without compromising their ability to deliver new features. During this talk, you will discover the practices and architectural choices they found helpful, and the lessons learned along the way.
Things the talk will explore:
System architecture
Moving from a "distributed monolith" to a small set of well-factored, cohesive monoliths
Isolating DB access to a single (multi-app) repository
Defining interfaces between services using shared schema code
Moving from horizontal to vertical slices
Testing
What are the purpose of tests when you have a REPL?
Finding a middle-ground between example-based and property-based testing
Using docker-compose to spin up instant, complete dev and test environments
YOU MAY ALSO LIKE:
- Pathogens & Parentheses: How we use Clojure in the molecular surveillance of infectious disease (SkillsCast recorded in December 2014)
- Carving Microservices Out of the Monolith With Domain Storytelling (SkillsCast recorded in November 2022)
- Rethink Microservices (SkillsCast recorded in November 2022)
Taming a Huge, Sprawling System with Clojure
Russell Dunphy
Russell is HealthUnlocked's Head of Engineering. After language-hopping quite a bit in his early career, he found Clojure a little over four years ago and since then he is happy to report that the grass has stopped looking greener on the other side. (Except, idk, Erlang/Elixir is pretty cool. And Elm is interesting...)