Back to Basics: commands, events, and messages header image

Back to Basics: commands, events, and messages


When you're involved with something for a very long time, it's easy to fall into the trap of taking many concepts for granted. Let's go back to the basics and build a common foundation. Today's topics are commands, events, and messages.

Continue reading...

Back to Basics: service boundaries, autonomous components, and coupling


When you're involved with something for a very long time, it's easy to fall into the trap of taking many concepts for granted. Let's go back to the basics and build a common foundation. Today's topics are service boundaries, autonomous components, and coupling.

Continue reading...

How many (micro)services do I need?


Microservices, microservices everywhere. But how many of them do we need? It's easy to be trapped by the micro thing and end up with thousands of them. Let's try to provide some guidance.

Continue reading...

What's an Outbox and why do we need it? Hint: it's about data integrity


Distributed systems are ugly beasts sometimes. They hide subtle tricks that can lead to data loss and system corruption. The Outbox pattern helps address a couple of them.

Continue reading...

The pitfalls of request/response over messaging


Request/response is everywhere. It serves us very well and is a neat solution in many scenarios. It comes with a few pitfalls in distributed systems and needs to be handled with care.

Continue reading...

An iPad as a developer box. Pros and cons


Can we use a 10-inch iPad Air as a development device? Let's find out.

Continue reading...

What is the deal with security and distributed systems?


Security is a crucial topic for any architect. We cannot implement it as a second thought. We must consider its implications from day one. Distributed systems are no different. However, it might be a little more involved.

Continue reading...