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
1w 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
1w 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
3w 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
3w 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
1M 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
Microservices.io
1M ago
During a recent microservice architecture workshop, my client asked for a code walkthrough of some example sagas. I had planned to walk through the code in Intellij, but I thought it would be more useful to use Visual code’s Code Tour extension.
What is CodeTour?
To quote the docs:
CodeTour is a Visual Studio Code extension, which allows you to record and play back guided walkthroughs of your codebases.
Once you’ve configured a CodeTour and pushed the changes to Github, anyone can run the tour in either Visual Studio Code or a (browser-based) Github Codespace. The tour will guide them throug ..read more
Microservices.io
1M ago
I did three things at ExploreDDD 2024:
a condensed version of my Designing microservices: responsibilities, APIs and collaborations workshop
a panel on LLMs and DDD
a presentation on physical design principles for microservices
Here’s the abstract and the slides for the physical design principles talk.
Abstract
When we design software using DDD, we primarily focus on creating models scoped by bounded contexts that define ubiquitous languages. We also structure the models and the elements they contain to be loosely coupled and highly cohesive. However, while (logical) design techniques such a ..read more
Microservices.io
1M ago
New premium post: Microservices rules #2: Fast deployment pipeline
I’ve written a new premium post about microservices rules #2: Implement fast, automated deployment pipelines, which is one of the 11 best practices that organizations must follow when adopting microservices.
The article describes the importance of a fast deployment pipeline, which is the path that changes take from a developer’s laptop to production.
To learn more please read the full post ..read more
Microservices.io
2M ago
Deploying microservices: the path from laptop to production
This is a talk that I gave at JFokus 2024.
Abstract
Organizations usually adopt the microservice architecture to enable the rapid frequent and reliable delivery of changes to a large, complex application. When microservices are used in conjunction with continuous delivery, a stream of small changes flows from development into production, ideally as often as at least one commit per developer day. To support such rapid a rapid pace of development, it’s essential that each service has an automated deployment pipeline that can quickly bu ..read more
Microservices.io
3M ago
Microservices rules: what good looks like
The microservice architecture has become increasingly popular over the past decade. Its key benefits include significantly improving the developer experience and accelerating software delivery. Sadly, however, microservices have often been widely misunderstood and used inappropriately. As a result, many organizations have struggled to benefit from their adoption. I’ve had numerous conversations where developers have complained that their new microservices-based applications are difficult to change.
In this presentation, I describe 11 development and ar ..read more