I'm sure at some point you've had to draw some boxes and arrows to describe the high level view of how a system works. But what are those boxes and arrows called? We often use terms like microservices, monolith, REST, or event driven, but what are these? As part of my apprenticeship I've been reading about formal Software Architecture concepts and definitions, and throughout this post I'll explain