Fundamentals of Software Architecture: An Engineering Approach

In this episode, my guest Diego Aguilar, a software engineer focused on Cloud development, AWS and JAMstack, and I chat all about how to build scalable Contentful applications using three specific architectures: Cache, Event Driven and Batch-Sync.


Questions Asked


  • Tell us about your background.
  • What kind of projects do you work on?
  • Tell us about the tech hub in Mexico where you reside.
  • Tell us about your work with Contentful.
  • What is an architecture?
  • Who's usually involved in designing an architecture for the app?
  • Explain what a Technical Architect does.
  • What about having a Content Architect?
  • Why do we need an architecture?
  • What are some of the challenges of using an architecture when building an app?
  • Are there standards one can follow when implementing an app architecture?
  • What are some of the attributes of an architecture?
  • Can you explain what "Worse is Better" is?
  • What's the difference between serverless and cloud based architectures?
  • Is LAMBDA an example of a serverless application?
  • What is a Cache in an app architecture?
  • What is an Event?
  • What is a Batch?
  • What are the 3 types of architectures?
  • What is the Cache Architecture?
  • When is a Cache Architecture not a good idea to use?
  • What is the tech stack for the Cache Architecture?
  • What is an Event Driven Architecture?
  • What's a good example of an Event Driven Architecture?
  • Can we mix architectures?
  • When is an Event Driven Architecture not a good idea to use?
  • Is an Event Driven Architecture synchronous or async?
  • What's the tech stack used to create Event Driven Architecture?
  • What is a Batch Sync Architecture?
  • When is a Batch Sync Architecture not a good idea to use?
  • What's the tech stack for a Batch Sync Architecture?
  • How important is logging for all three architectures?
  • Where can people learn more about technical architectures?

Reference Links


  • Fundamentals of Software Architecture (https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451)
  • 12 Factor App Manifesto (https://12factor.net/)
  • The Rise of Worse (https://en.wikipedia.org/wiki/Worse_is_better)
  • Diego's Email (diegoaguilar@ciudades.dev)