Pictures are “worth a a thousand words” and in the software industry they can save time and help inspire the collective imagination A good picture about a software system at right level can convey the right details. It is about what you leave out as much as what you put in and structure – there…More
Category Archives: distributed systems
3 Key Asynchronous Communication Patterns: Ways to talk offline
When integrating systems we often end-up writing asynchronous messaging interfaces for mostly system-to-system communications. This conversation technique is great because it does not require the sender and receiver to stay connected to each other in a session at the same instance in time, is non-blocking and you can make it reliable through message persistence, incremental…More
From Project to Product Teams: Implementing the Inverse Conway Move for better Software
Modern software engineering techniques within organisations deliver “distributed features” using agile techniques. These features are distributed across different systems and integrated to provide an end-to-end experience. Traditional project delivery brings inĀ members from different system oriented teams to deliver these features in a loose and ad-hoc fashion and dis-bands the team after a project is…More
Microservices for orchestration: How to apply the stateful process adapter pattern
What are stateful microservices? Microservices holding state while performing some longer-than-normal execution time type tasks. They have the following characteristics They have an API to start a new instance and an API to read the current state of a given instance They orchestrate a bunch of actions that may be part of a single end-to-end…More
Tackling complexity: Using Process maps to improve visibility of integrated system features
“Entropy always increases “– second law of thermodynamics Enterprise systems are similar to isolated physical systems, where the entropy or hidden-information always increases. As the business grows, our technology footprint grows as new systems are implemented, new products and cross-functional features are imagined and an amazing network of integrations emerge Knowing how information flows and…More