Chapter 3. Software Architecture for Building Serverless Microservices

Man: “I just don’t think it’s that simple. Nothing is.”

Woman: “Everything is when you break it down!”

From the movie Mamma Mia! Here We Go Again

The word architecture has different interpretations depending on the context. As you read this book on serverless development, naturally, you relate it to the software context, or the serverless context, to be precise. If you detach the context, you are likely to relate architecture to buildings—this is where the term originated, from the days of our hunter-gatherer ancestors as they built structures for their shelter and safety.

When you appreciate something as good architecture, you likely admire its aesthetics or appeal. However, architecture has three main parts: art, structure, and technique to hold everything together. This is true in any context, including software and serverless.

There is a difference, however. You can stand in front of and admire the appearance of a Mayan temple or the Taj Mahal, but you don’t get to see the architecture of your flight booking system. Software architecture has an invisible appeal. The art of software architecture—represented by its component elements (databases, processes, queues, functions, etc.) and the relationships between them—resides with the team that built it.

The elements and their relationships vary based on the context of the software. You may not see all the software elements and relationships of a legacy system ...

Get Serverless Development on AWS now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.