Horizontal Functional Structures Initiated

In the dynamic realm of software architecture, the term "Functional Structures Initiated Horizontal" (FSIH) has gained significant traction, particularly in the context of microservices and event-driven architectures. This approach, while not a traditional design pattern, has emerged as a practical solution to address scalability, resilience, and maintainability challenges in modern applications.

Element #1747963376
Element #1747963376

At its core, FSIH is a horizontal, event-based communication model that enables functional decomposition and independent scaling of services. It stands in contrast to traditional vertical, hierarchical structures, offering a more flexible and resilient approach to building complex systems.

HORIZONTAL MEETS VERTICAL
HORIZONTAL MEETS VERTICAL

Understanding Horizontal Structures in FSIH

Horizontal structures in FSIH are characterized by a decentralized, peer-to-peer communication model. Services in this architecture communicate with each other through lightweight, asynchronous messages, typically facilitated by message brokers like Apache Kafka or RabbitMQ.

an image of a diagram showing the different parts of a bench that are connected to each other
an image of a diagram showing the different parts of a bench that are connected to each other

This design promotes loose coupling between services, allowing them to evolve independently. It also enables asynchronous processing, which can significantly improve system throughput and resilience, as services can process messages at their own pace without blocking.

Event-Driven Communication

several people are standing in the shape of an upside down structure
several people are standing in the shape of an upside down structure

In FSIH, services communicate using events - lightweight, immutable data structures that represent changes in the system. Events are published by one service (the producer) and subscribed to by one or more other services (the consumers). This model is inherently asynchronous, decoupling services in both time and space.

Event-driven communication allows services to react to changes in the system without being tightly coupled. It also enables the implementation of event sourcing, a powerful technique for maintaining an immutable history of changes, which can be crucial for auditing, debugging, and data recovery.

Scalability and Resilience

tower_excercise
tower_excercise

FSIH's horizontal structure and event-driven communication model offer significant benefits in terms of scalability and resilience. Services can be scaled independently based on demand, and failures in one service do not necessarily impact others, as there's no tight coupling or shared state.

Moreover, the use of message brokers in FSIH provides built-in redundancy and failover capabilities. If a consumer service goes down, messages will queue up and await processing once the service comes back online. This ensures that no data is lost and that the system can continue to function even in the presence of failures.

Functional Decomposition in FSIH

an artist's rendering of the inside of a building with people working on it
an artist's rendering of the inside of a building with people working on it

FSIH promotes a functional decomposition approach, where each service is responsible for a specific business capability. This is in contrast to traditional monolithic architectures, where a single application handles all business functionality.

In FSIH, services are organized around business capabilities rather than technical functions. This ensures that each service has a clear, single responsibility and can be developed, deployed, and scaled independently.

four different views of an architectural structure, including the top section and bottom part of the building
four different views of an architectural structure, including the top section and bottom part of the building
an aerial view of two buildings with red and white lines on the ground in front of them
an aerial view of two buildings with red and white lines on the ground in front of them
an image of people doing different things on hexagons
an image of people doing different things on hexagons
Studio Gang completes university extension with mass-timber structures
Studio Gang completes university extension with mass-timber structures
two tall white buildings with balconies on each floor
two tall white buildings with balconies on each floor
the interior of a building with wooden beams
the interior of a building with wooden beams
neighborhood residence structure build up
neighborhood residence structure build up
SOLIDO - VACIO HORIZONTAL
SOLIDO - VACIO HORIZONTAL
an aerial view of some white buildings with trees
an aerial view of some white buildings with trees
a drawing of a house with two levels and one level in the middle, on top of
a drawing of a house with two levels and one level in the middle, on top of
ESQUEMA A MANO DE CIRCULACION HORIZONTAL
ESQUEMA A MANO DE CIRCULACION HORIZONTAL
University of British Columbia, Gateway
University of British Columbia, Gateway
an architectural drawing of a multi - story building with plants growing on the balconies
an architectural drawing of a multi - story building with plants growing on the balconies
Section througha futuristic housing scheme
Section througha futuristic housing scheme
an architecturally designed building with curved balconies
an architecturally designed building with curved balconies
a metal structure that is sitting on top of a white surface with scaffolding around it
a metal structure that is sitting on top of a white surface with scaffolding around it
an artistic sculpture in the middle of a field with cloudy sky behind it and clouds overhead
an artistic sculpture in the middle of a field with cloudy sky behind it and clouds overhead
Architecture Infrastructure Assemblage : An Approach to Rethinking the Tannery Industry
Architecture Infrastructure Assemblage : An Approach to Rethinking the Tannery Industry
an architectural drawing shows the details of a tall building
an architectural drawing shows the details of a tall building
a tall building with lots of shelves and stairs on it's sides, against a gray background
a tall building with lots of shelves and stairs on it's sides, against a gray background

Bounded Contexts and Domain-Driven Design

FSIH aligns well with Domain-Driven Design (DDD) principles, particularly the concept of bounded contexts. In DDD, a bounded context is a logical boundary within which a particular model applies. In FSIH, each service represents a bounded context, responsible for a specific business capability within that context.

This alignment with DDD helps ensure that services in an FSIH architecture are focused on delivering business value, are loosely coupled, and can evolve independently. It also promotes a shared language and understanding among team members working within each bounded context.

Service Discovery and Coordination

In a horizontally structured system like FSIH, service discovery and coordination become crucial. Services need to know how to find each other to communicate effectively. This is typically achieved using service registries like etcd, Consul, or Netflix Eureka.

Service coordination involves managing the flow of messages between services. This can be facilitated using workflow engines like Apache Airflow or Camunda, or by implementing coordination patterns like the Saga pattern, which ensures consistency across multiple services in a distributed transaction.

In the ever-evolving landscape of software architecture, FSIH offers a powerful and flexible approach to building resilient, scalable, and maintainable systems. By embracing horizontal structures, event-driven communication, and functional decomposition, organizations can unlock significant benefits in terms of agility, innovation, and operational efficiency. As such, FSIH is a model worth considering for any organization looking to modernize its software architecture.