How do you structure your traditional (non-modular) monolith applications?
Microservices.io
by
14h ago
I’ve written a series of posts about modular monoliths. But I recently realized that it’s been a long time since I’ve written anything about traditional monoliths, except to say that their primary organizing principle is technical. For example, a technically layered architecture or hexagonal architecture. But beyond this, there’s lots of options. One key question is how to organize the monolith’s codebase into Maven modules or Gradle projects? There are many ways to do this. Here are some options I’ve seen. Singular Maven or Gradle project The simplest option is a Maven project consisting of ..read more
Visit website
How modular can your monolith go? Part 7 - no such thing as a modular monolith?
Microservices.io
by
2w ago
This article is the sixth in a series of articles about modular monoliths. The other articles are: Part 1 - the basics Part 2 - a first look at how subdomains collaborate Part 3 - encapsulating a subdomain behind a facade Part 4 - physical design principles for faster builds Part 5 - decoupling domains with the Observer pattern Part 6 - transaction management for commands Quite some time ago, I wrote about how there’s no such thing as a microservice. I explained how the term ‘microservices’ is a shorthand for ‘microservice architecture’, which is an architectural style that structures the ap ..read more
Visit website
New premium post: Doing more with less, part 3 - Buy don't build using Wardley Mapping
Microservices.io
by
3w ago
I’ve just published a new premium article Doing more with less, part 3: Buy don’t build using Wardley Mapping. It describes how to use Wardley mapping to identify those parts of your application you should buy instead of building. This will free up resources to focus on building those parts of the application that provide a competitive advantage ..read more
Visit website
Using GenAI (Github Copilot) to build a GenAI service
Microservices.io
by
3w ago
Back on April 1st, I published my Faramir project, which is a (micro)service that provides a REST API that uses OpenAI to valid and format phone numbers. Faramir is written in Python and uses the Langchain library. I hadn’t actually written a Python-based REST API before, so naturally I turned to Github Copilot for help. This article documents some of my Github Copilot Chat interactions that helped me write the application. Generate a python application that uses FastAPI A quick Google search suggested that I use a framework called FastAPI. In Github Copilot chat, I used the following prompt ..read more
Visit website
Dissecting 'architecting for fast, sustainable flow'
Microservices.io
by
1M ago
In a previous article, I described how the success triangle is all about the fast flow of changes. I also announced a new workshop on architecting for fast, sustainable flow, which teaches how to develop application architectures that enable fast flow. In this article, I dissect the phrase ‘architecting for fast, sustainable flow’ and briefly describe the architectural characteristics that DevOps and Team Topologies need. Let’s begin by defining the term ‘fast flow’. What is fast flow? As I described in the previous article, the key idea of fast flow is that an organization’s structure, cultu ..read more
Visit website
Architecture is multi-dimensional
Microservices.io
by
1M ago
Architecture means different things to different people. One reason it’s an overloaded term is because architecture is multi-dimensional. In this article, I briefly explore the different dimensions of architecture. But let’s first look at the classic definition of architecture. The classic definition of architecture My favorite definition of architecture comes from Len Bass and colleagues at the Software Engineering Institute, who played a key role in establishing software architecture as a discipline. They define software architecture as follows: The software architecture of a computing syst ..read more
Visit website
The success triangle reinterpreted: it's all about fast flow
Microservices.io
by
1M ago
In a previous article, I described how the success triangle has evolved over the years since I first introduced it in my 2018 book Microservices patterns. The core idea of the success triangle is that the rapid, frequent, reliable and sustainable delivery of software requires three elements: DevOps (as defined by the DevOps handbook) Team Topologies Architecture In this article, I reinterpret the success triangle from the perspective of fast flow. About fast flow ‘Fast flow’ has been on my mind recently after I listened to my Susanne Kaiser’s excellent ExploreDDD talk Optimizing for a fast f ..read more
Visit website
Services + End-to-End Testing = Monolith
Microservices.io
by
2M ago
A common anti-pattern of microservices adoption is using end-to-end testing. In this article, I explain why end-to-end testing undermines one of the key benefits of microservices. I cover why it’s sometimes a band-aid for architectural flaws and why, in some cases, a monolithic architecture might be a better choice. Microservice architecture = set of independently deployable services A defining characteristic of the microservice architecture is that each service is independently deployable. A service is independently deployable if it is production ready after being tested in isolation by its d ..read more
Visit website
The evolution of the success triangle: microservices as the enabler of DevOps and team topologies
Microservices.io
by
2M ago
In my 2018 book Microservices Patterns I described the success triangle. It shows the relationship between the three ingredients necessary for the rapid, frequent and reliable delivery of software. As I wrote in the book: For a large, complex application, the microservice architecture is usually the best choice. But in addition to having the right architecture, successful software development requires you to also have organization and development and delivery processes. The delivery process is DevOps, which I define below. The organization structure is a loosely coupled network of small pro ..read more
Visit website
ExploreDDD 2024 - Panel: The Crucial Intersection of DDD With LLMs
Microservices.io
by
2M ago
I did three things at the excellent ExploreDDD 2024 conference: a condensed version of my Designing microservices: responsibilities, APIs and collaborations workshop a presentation on physical design principles for microservices a panel on LLMs and DDD The panel was a lot of fun especially since the conference started with Eric Evan’s keynote on DDDs and LLMs. In this post, I’ll describe my thoughts about LLMs - the good and the panel - and echo Eric’s advice about how to handle their uncertain future. My thoughts about LLMs There’s a lot’s to say about LLMs but here’s a few thoughts. LLMs ..read more
Visit website

Follow Microservices.io on FeedSpot

Continue with Google
Continue with Apple
OR