ITNEXT

ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies.

Follow publication

Resiliency in a nutshell. Part: 2 Traditional Engineering — Architectural patterns

Alexander Wichmann Carlsen
ITNEXT
Published in
9 min readApr 16, 2023

--

All of my stories are free. If you aren’t a member, you can read it here.

Part 1: Introduction
Part 2: Traditional Engineering — Architectural patterns (this)
Part 3: Traditional Engineering — Programming patterns
Part 4: Traditional Engineering — Testing strategies and coding standards

Microservices

Microservices are an architectural pattern that structures an application or service as a collection of smaller, loosely coupled services that operate together to achieve a common goal.

Because they work independently, they can be added, removed, or upgraded without interfering with other parts of the bigger application.
Although I am not a fan of the complexity that often comes with deployments and managing infrastructure for a multitude of service, we can look at this pattern for dividing our application into smaller bounded contexts. Although Bounded contexts typically are used when using/talking about DDD, I think the nomenclature fits very well intro overall architecture as well. I am quite fond of thinking about application architecture in terms of Bounded Contexts, rather than “microservices”, which to me at least, has a notion of “make the smallest possible building block” which is not always the best choice. The below Benefits fits well either way however.

Benefits

  • Easier deployment
  • Testing
  • Improved productivity
  • Flexibility
  • Scalability

Disadvantages

  • Requires seamless method of communication to operate as one larger application.
  • Requires deeper knowledge about application states for scalability.

While microservices have become a popular approach to building distributed systems, there are situations where it can be beneficial to think of service architecture in bounded contexts rather than microservices. Bounded contexts provide a higher-level abstraction that defines the scope and boundaries of a particular domain (problem space), allowing for a more cohesive and aligned service architecture. Thinking in bounded contexts can help ensure that services are designed and implemented based on the…

--

--

Published in ITNEXT

ITNEXT is a platform for IT developers & software engineers to share knowledge, connect, collaborate, learn and experience next-gen technologies.

No responses yet

Write a response