Microservices.io
694 FOLLOWERS
Microservices.io is brought to you by Chris Richardson. Experienced software architect, author of POJOs in Action, the creator of the original CloudFoundry.com, and the author of Microservices patterns.
Chris helps clients around the world adopt the microservice architecture through consulting engagements, and training classes and workshops.
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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
Microservices.io
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