About Microservices Architecture

My Blog is about achieving simple, elegant, solutions to software development challenges. Am I already so affected by manage-speak? Anyway, writing software isn’t hard. Writing software that works can be. Writing software that works and is simple often is. Martin Fowler wrote that (software) architecture is about the set of design decisions that you want to get right early on. Microservices Architecture is an approach to application design that stresses basic programming principles, such as “Separation of Concerns” and “Modular Development”. However, even though we have several postal children for its application in the form of companies like Netflix, we are also warned that their success is not easily copied by the mere application of their tools and standards.

Ever since I started working with computers, I’ve been hooked on the craftsmanship of writing software. One of my other hobbies (the game of Go) taught me a lot about the concept of “Shape”. In Go, the shape of a group of stones determines it success in resisting attacks by the opponent. A good shape allows a group to evolve along with the flow of the game. In software we find a similar effect; elegantly written code is easier to understand and maintain. The (relatively) modern concept of refactoring comes into play (sic) here too: changing code to match new insights or requirements is no longer a chore if the code’s shape is good. For me, learning about writing software is a search for good shape; in essence elegance in software.