Software Architecture: thoughts and quotes


Collection of “thoughts” and quotes I’ve found interesting about Software Architecture, collected from videos or articles.

I’m using a pretty “loose” definition of “Software Architecture” on this collection, so it has a bit of everything. If the content grows, I might consider splitting it up.

On Microservices

Avoiding Microservice Megadisasters by Jimmy Bogard talks about how on a Microservice Architecture, when you do a service call, the service should be able to answer your request without the need of an additional service call of its own.

It also talks about the assumption that replicating data is wrong. It gives an example on how data replication allowed to get rid of service calls inside a service meant to provide search functionalities.

Conversations by Ian Cooper talks about how services “converse” amongst each other to fulfill a request. It goes through the main distinction between “Choreography” and “Orchestration”:

Further reading: Avoiding the Entity Service by Michael Nygard.

On Deployments

Choosing The Right Deployment Strategy1 by Viktor Farcic concludes with the following recommendations:

On Observability

Cultivating Production Excellence by Liz Fong-Jones talks about key elements to achieve production excellence:

A nice quote around observability I liked was: “Our services must be observable. Our systems have to be able to explain themselves to us and answer our questions using the telemetry they’re already exporting, rather than us having to create new code in order to understand our services”.

  1. He has since posted an updated version of his talk↩︎