I updated my cheat sheet about software architecture. You can find it here. Changes V1.5 Added Monitoring & Health Checks, History, Exception Handling, Layering & Structure, Testability under Architectural aspects. V1.4 Added data under Architectural aspects/versioning. Added clock skew under Architectural aspects/Distribution. Added Time & Time Zones & Calendars under Architectural aspects. Fixed some typos. Relayout. V1.3 Extended Scaling under Architectural aspects...
Sketchnote: Software Architecture for Developers by Simon Brown at Developer Week 2017
Sketchnote: Rearchitect your code towards async/await by Daniel Marbach at flashcon 2016
Many thanks to for making this blog post possible.
Clean, simple, flexible, evolvable, agile architecture cheat sheet
I compiled a reference of principles, concepts, methods and so forth on architecture in agile software development.
If you are a software architect or developer, this is for you.
Clean Architecture V1.0
Comments about what you like or your opinion on the topic are very welcome.
Many thanks to for making this blog post possible.
Dish washing and the chain of responsibility
Dish washing and the Chain of Responsibility Pattern have a few things in common. In our house, cleaning out the dishwasher is a shared chore. My son starts the unloading process by removing a dish or utensil from the dishwasher. If he can put it away, then he does. If the proper location for the dish is out of his reach, then he passes it to his mother. She then goes through the same process; put the dish away if she can, or pass it off to the next person in line, which is me. When I get...
Mining for gold in your logfiles

Once you’ve already learned the ins and outs of a library, it may seem obvious how it should be used (and which parts should be avoided). The thing is that, from one project to the next, we often make use of new and different libraries and frameworks and may not appreciate some of the more subtle differences among those technologies. The better frameworks out there will log all kinds of information, often telling you when you’re using them incorrectly. So don’t just think of...
The day we almost lost an invoice

The day started like any other day working as a solutions architect for a healthcare invoice processing system. When I came into the office I didn’t anticipate that this was going to be a special day. I only realized it when a customer called in and asked for a specific invoice that should have been processed in our system. We couldn’t find it! It just wasn’t there at all. Sweat was dripping down my neck. Did we just lose an invoice — and therefore money?! If you want to...
Sketch note: .Net Usergroup Zentralschweiz – Building occasionally connected applications with event sourcing – Dennis Doomen
Azure. Start small, think big!
When I talk to developers and managers about Azure they immediately think about large scale applications, amongst other things like information security & privacy which I won’t cover in this blog post. Let me say you this: No you don’t need terabytes of data and millions of customers to consider Azure! Even in your day to day job as a developer Azure can be really worth it. For example my friend Roland Krummenacher has an excellent blog post series in German called “Real World Windows...
Composite UI for Service Oriented Systems – Challenges Part II
This blogpost is part of a larger blog post series. Get the overview of the content here. Start early with an automated deployment. It will safe your ass! But try to keep it as simple as possible. If your deployment gets to complex this usually indicates that your “thing” decomposition is also too complex. Tools like Octopus Deploy or the Deployment Manager from Redgate help to visualize and monitor the deployment process to multiple environments. Keep in mind that managing the configuration...