Talk on architecture from Taylor Jones
Rails Architecture
Architecture is the root of quite a bit of technical debt.
History of Application Architecture
Early web development
- License driven
- Difficult to deploy
- Inconsistent code organization
Rails market change
- Open Source
- More straightforward to deploy
- Convention over configuration
How Has Rails Evolved?
- Based on existing project (basecamp)
- MERB released, focused on speed, flexibility, and resulted in Rails 3
- 4.0 broke out Active libraries into separate gems
- 5.0 integrated web sockets and API specific apps
"What killed smalltalk was that it was easy to make a mess" - Uncle Bob
Living in Between Microservices and Monoliths
- Microservices that allows for a master component to manage them
- In a sense, Rails is a blended ecosystem
Important Notes
- Don't jump on shiny new things, being skeptical is important
- Find a balance and use the right tool for the right job
- Architecture needs to fit the team size
- Address technical debt consistently
"Architecture can be an escape hatch" - Taylor Jones