Software Engineering Architectural Patterns
The building blocks of sustainable systems

Search for a command to run...
The building blocks of sustainable systems

No comments yet. Be the first to comment.
The SDLC involves a series of steps engineering teams undergo to create, enhance and maintain sustainable software solutions. We focus, at least in this series, on Architecture
Monolithic architectural patterns
The infrastructure you plan and the infrastructure you end up with are rarely the same thing.

Three weeks from shipping NavEngine v4. No SSH access. No deployment target. Here's how updates reach machines behind a customer's firewall.

The mindset shift - from builder to distributor.

Homelabbing: Thinking privacy, security and redundancy
One of the challenges that comes from getting yourself an enterprise minicomputer is the configuration set by the selling company. For my case, it was the BIOS lock - a toggle that inhibited my ability to have continuous uptime. For this specific ser...
And when you close your eyes, what do you see? Do you see ducktape? Do you see robust infrastructure? Do you see fragile systems? Do you see elegant architecture - Software engineering architectural patterns ?
Part of development, includes a thought process - the software development life cycle(SLDC). A point in time during which we remember that software development is more than just code; it involves more thinking.

The software development life cycle involves a series of steps engineering teams undergo to create, enhance and maintain sustainable software solutions.
As an overview:

Each step outlined above, acts as an input to the next and so forth.
We focus, at least in this series, on Architecture, which gives room for development (the part all engineers love).

Take note, that the steps outlined in the development of sustainable systems (SDLC) may have more detailed steps in each. Do reach out , either in the comment section or directly, if you would like an elaboration of the same.
So what is Software architecture and what do Architectural patterns involve ?
Software architecture is the definition of how components of a software system are organized and assembled and how these components communicate.
The output of the architectural design stage includes and is not limited to; prototypes, pseudocode, architecture reports and diagrams for technical details. This is a key step. Miss this or mess it up, and development becomes a financial and technical nightmare.
Sidenote:
Understand that design patterns and architectural patterns are not the same.
When determining the software architecture you intend to use, you ask a number of questions; does the system need the high performance? How adaptable should it be? How secure ? How modular should it be? Do we start with large components that have smaller sections, much like layered systems, or do we start off with small sections that form larger components - similar to the use of microservices?
Herein, and in the shares that follow, we shall discuss the most known patterns. We shall aim to understand:
Monolithic patterns
Service-based patterns
Distributed systems
We shall break these down to know when and where to use layered systems, microservices , service-oriented patterns, space-based architecture, event-driven and microkernel architecture.
Through this, we discuss the advantages of each against its conns ; whiteboard software development.
Walk with me through this series, and let us talk about architecture.