Clojure At Scale
summary
Experience running Clojure at WalmartLabs for three years: about 20 services, ~50,000 lines of code across 70 Leiningen projects, eight developers. Describes adopting Stuart Sierra’s component library to eliminate global state, building systems as maps, using channels to capture side-effect tests, creating mock systems, and generating a merged project.clj for local development. Covers Java interop (logging, Commons Daemon), a painful HBase timeout incident, and why automate infrastructure early.
AI-written summary · about
chapters (15)
- 0:00Introduction to Clojure
- 1:03Walmart receipt system
- 2:59Scaling Clojure services
- 4:56Using component framework
- 9:21Types of components
- 11:32Dependency injection
- 15:27System construction
- 17:38Component demonstration
- 20:33Testing with components
- 23:59Testing parallel systems
- 27:03Managing multiple projects
- 30:06Library due diligence
- 33:36Logging and configuration
- 35:53Deployment and monitoring
- 37:44Infrastructure as code
related talks
24mBuilding Intelligible Systems
44mRaising Services and People with Clojure
30mGrowing Clojure Systems. From Functions to Microservices
30mReal Estate Clojure
33m"Consequential Clojure Architectures"
43mEvident Code, at Scale
33mLightning talks
25mBeyond the Hype: Obstacles on the Path to Clojure Adoption
