One hundred repositories. Four programming languages. Five different build systems. Getting them to integrate cleanly, continuously, without a dedicated integration sprint or a...
One hundred repositories. Four programming languages. Five different build systems. Getting them to integrate cleanly, continuously, without a dedicated integration sprint or a...
I continue building a Lithuanian AI law assistant. I already have a POC with 4 laws chunked and loaded to the database with semantic retrieval. Is it useful? A bit. It can look up...
Microservice architecture has become a widely adopted approach for building scalable and maintainable systems. However, one of the most complex decisions when implementing this...
The modular monolith architecture isn’t new, but it’s become more popular as a way to balance the simplicity of a monolithic application with the flexibility of microservices. It...
A Modular Monolith is an architectural style that structures your application into distinct, well defined modules within a single codebase. It combines the simplicity and...
Breaking changes is a result of a code changes, that how the API behaves. It can be low level code API, REST API, any microservice API or even user interface behavior.
The challenge of rendering HTML markup has been present since the inception of the web. This problem is solved by a multiple patterns mostly on the server side. Such patterns as...
Model View Controller is a well known pattern, which was described in the late 1970s. Since then, it is widespread architectural pattern, which influenced many frameworks and...
ACID (Atomicity, Consistency, Isolation, Durability) in IT is a properties of a business (or database) transactions, that guarantees the reliability and data integrity of the...
Concurrency is a complex problem of the IT field. I'll try to explain some issues related to the concurrency and how to solve those issues.
In the book Patterns of Enterprise Application Architecture by Martin Fowler two patterns are defined to handle business logic in the system. I do not think that much have changed...
Microservices can communicate synchronously and asynchronously. These are the main group of communication means for microservices. Lest dig in to unwrap, what does it mean.
Domain driven design (DDD) is a methodology for designing software with a focus on the domain. DDD is one of the main practices used in the microservices development. I'll cover 3...
CAP abbreviation means: Consistency, Availability and Partitioning tolerance. Theorem states, that distributed data store can have two of three guarantees:
Transactions in microservices are not possible, because of the distributed nature of microservices. Though you can implement compensation mechanisms to handle failures in multiple...
Fundamentals of Software Architecture: An Engineering Approach 1st Edition by Mark Richards (Author), Neal Ford
patterns by Sam Newman from the book Microservices 2nd edition