002 Elevators, Modules & Microservices
The Software Architects Elevator
If you’ve been around the software industry for a period of time you’ll inevitably have come across Gregor Hohpe. If not, have you been living under a rock?
Anyway, amongst the many incredible books Gregor has written (including one of my favourite software books of all time Enterprise Integration Patterns), one of the most impactful on my career is the Architects Elevator. The idea of the architects elevator is that to be a successful architect you need to spend time both in the boardroom, and down in the engine room with development teams.
In this talk, Gregor covers the core ideas of the architects elevator and why it is so important.
The monolith gets a bad rap, and can be an incredibly useful tool in your toolbox when build correctly. There, I said it! Please reach out on Twitter if you wish to continue this debate in a healthy, rational manner 😀
One of the ways to ensure your monolithic application is successful is to make it modular. Logical separations in your application aren’t just for microservices you know. The modular monolith is one of my favourite patterns for building net new applications.
There are a number of benefits of doing this, and I won’t cover them all here. Instead, I’ll let the wonderful Milan Jovanovic talk you through. It this article, Milan discusses the communication patterns in a modular monolith covering both synchronous and asynchronous communication.
Some Love For Microservices
To continue with the system design theme, it would be remiss of me to not include some content on the buzzword of the decade… The microservice.
This presentation by Adrian Cockcroft discusses the lessons learned from building microservices at Netflix. One of the most interesting things I took from this talk is that Adrian didn’t just talk about technical. On opening, he discusses people and culture and how important they are in being successful with microservices.
Which is something I’ve seen time and time again in the industry. The technical implementation of a microservices architecture is well documented. But if the culture of your organisation ain’t ready for microservices, then frankly you’re in for a world of pain.