Topic hierarchy
Note: tagging is work-in-process
- application architecture
 - deployment
 - development
 - microservices adoption
 - microservicesio updates
 - pattern
 - service collaboration
 - service design
 
Index of all content
This site contains 375 items of content. Here they are sorted by title.
- #becauseItDepends Finding your inner Vulcan: unemotional decision making with pattern-style thinking
 - 10 years of ‘microservices’
 - 497K views and countingtitle: 497K views and counting: My DockerCon 2016 talk - Microservices + Events + Docker = A Perfect Trio#58; My DockerCon 2016 talk - Microservices + Events + Docker = A Perfect Trio
 - A better way to think about developer productivity metrics
 - A glossary of microservice architecture terms
 - A great trilogy by Mark Schwartz (@schwartz_cio) - War and Peace and IT, A Seat at the Table, and The Art of Business Value
 - A must-read book - Architecture for Flow: Adaptive Systems with Domain-Driven Design, Wardley Mapping, and Team Topologies
 - A pattern language and visual notation for messaging systems: Enterprise integration patterns by @ghohpe and @bobby_woolf
 - A pattern language for microservices
 - A phone company’s customer experience: a great example of undesirable tight runtime coupling
 - A tour of two sagas
 - About dark energy and dark matter: forces that shape an architecture
 - About www.prc.education
 - About the microservices rules: what good looks like
 - Adding the password grant type to Spring Authorization Server
 - Adopt the microservice architecture
 - Ancient lore: Lehman’s laws of software evolution
 - Andorian development principles and practices
 - Announcing Faramir: an LLM-powered microservice for validating phone numbers
 - Announcing www.prc.education Premium
 - Announcing the first virtual bootcamp - distributed data patterns in a microservice architecture
 - Announcing the first virtual bootcamp: distributed data patterns in a microservice architecture
 - Announcing the MEAP for Microservices Patterns, 2nd Edition
 - Anti-pattern: microservices as the goal
 - API gateway pattern added
 - Architecting microservices for fast, sustainable flow
 - Architecting monoliths for fast, sustainable flow
 - Architectural patterns for modular monoliths that enable fast flow
 - Architecture is multi-dimensional
 - Assemblage overview: Part 1 - Defining system operations
 - Assemblage overview: Part 2 - Defining subdomains
 - Assemblage overview: Part 3 - What’s a service architecture?
 - Assemblage overview: step 3 - defining a service architecture
 - August 29th: public designing a microservice architecture workshop in APAC (GMT+9) timezone
 - Authentication and authorization in a microservice architecture - Part 4 - fetching and replicating authorization data
 - Authentication and authorization in a microservice architecture: Part 1 - Introduction
 - Authentication and authorization in a microservice architecture: Part 2 - Authentication
 - Authentication and authorization in a microservice architecture: Part 3 - implementing authorization using JWT-based access tokens
 - Beer and tacos and the metaphorical origins of Docker containers
 - Big decisions: should you migrate to microservices? Part 1
 - Books about high-performance software delivery: DevOps Handbook + Team Topologies + Accelerate + Microservices Patterns
 - Books you should read - Why we sleep
 - Building a multi-architecture Docker image for Apache Kafka
 - Building multi-architecture Docker images for Intel and ARM
 - Clarifying architecture with Service Blueprints: system operations
 - Clarifying architecture with Service Blueprints: system operations + entities
 - Claude Code: Allow Bash(git commit:*) considered harmful
 - CodeFreeze 2018 - There is no such thing as a microservice!
 - Configuring a CircleCI pipeline that builds a multi-architecture Docker image that runs on an Arm-based Apple M1 MacBook
 - Configuring a CircleCI-based pipeline to build multi-architecture Docker images
 - Configuring CircleCI to build, test and publish multi-architecture images for Eventuate Common
 - Configuring CircleCI to publish a multi-architecture Docker image
 - Considering Migrating a Monolith to Microservices? A Dark Energy, Dark Matter Perspective
 - Contact
 - Contact
 - Containers, the developer workflow and the test pyramid
 - Conversations about Software Engineering podcast: Service Templates and Service Chassis
 - CxOs neglect architecture at their peril
 - Dark energy force: fast deployment pipeline
 - Dark energy force: multiple technology stacks
 - Dark energy force: segregate by characteristics
 - Dark energy force: simple components
 - Dark energy force: team autonomy
 - Dark energy, dark matter and microservice architecture collaboration patterns
 - Dark matter force: efficient interactions
 - Dark matter force: minimize design-time coupling
 - Dark matter force: minimize runtime coupling
 - Dark matter force: prefer ACID over BASE
 - Dark matter force: simple interactions
 - DDD Europe 2025 - Team topologies and the microservice architecture: a synergistic relationship
 - DDD, necessary but insufficient: physical design principles for microservices
 - Decompose your monolith: Six principles for refactoring a monolith to microservices
 - Decompose Your Monolith: Strategies for Migrating to Microservices
 - Decompose your monolith: Ten principles for refactoring a monolith to microservices
 - Deploying microservices: the path from laptop to production
 - Designing an architecture using dark matter and dark energy
 - Designing loosely coupled services
 - Designing loosely coupled services
 - Developing the Eventuate Common library on an M1/Arm MacBook
 - Did you refactor a monolith to microservice? How did it go?
 - Dissecting ‘architecting for fast, sustainable flow’
 - Do your architects actually work on architecture?
 - Documenting a service using the microservice canvas
 - Eliminating tedium with OpenRewrite
 - End of January discounts for my Microservices book and bootcamp
 - Enrollment is now open for the beta of distributed data patterns for microservices virtual bootcamp
 - Enrollment is now open for the distributed data patterns for microservices virtual bootcamp
 - Essential characteristics of the microservice architecture: independently deployable
 - Essential characteristics of the microservice architecture: loosely coupled
 - Event Sourcing + CQRS example microservices
 - Events on the outside, on the inside and at the core
 - Events to the rescue: solving distributed data problems in a microservice architecture
 - Evolving a microservice architecture using dark energy and dark matter forces
 - Evolving a microservice architecture: how to right-size your services
 - Evolving an architecture: a problem solving-driven approach
 - Example of extracting a service from monolith
 - ExploreDDD 2024 - DDD, necessary but insufficient: physical design principles for microservices
 - ExploreDDD 2024 - Panel: The Crucial Intersection of DDD With LLMs
 - Exploring transactional messaging in Oracle 23c Free - developer release
 - Extracting the Delivery Service - Step 0, AS-IS architecture
 - Extracting the Delivery Service - Step 1, Split the code
 - Extracting the Delivery Service - Step 2, Split the database
 -  Extracting the Delivery Service - Step 3, Define standalone 
Delivery Service -  Extracting the Delivery Service - Step 4, Using new 
Delivery Service - Extracting the Delivery Service - Step 5, Removing obsolete code from the monolith
 - Fantastic presentation by Eric Evans on DDD and microservices
 - Finding that special plus one for your architecture
 - Four service collaboration patterns: implementing distributed operations
 - GenAI application development - a Cynefin perspective
 - Getting started with Oso Cloud
 - GOTO Chicago presentation: Not Just Events - Developing Asynchronous Microservices
 - GraalVM as pattern - work in progress
 - Handling duplicate messages using the Idempotent consumer pattern
 - Harmel-Law’s architecture advice process and fast flow
 - How do you structure your traditional (non-modular) monolith applications?
 - How modular can your monolith go? Part 1 - the basics
 - How modular can your monolith go? Part 2 - a first look at how subdomains collaborate
 - How modular can your monolith go? Part 3 - encapsulating a subdomain behind a facade
 - How modular can your monolith go? Part 4 - physical design principles for faster builds
 - How modular can your monolith go? Part 5 - decoupling domains with the Observer pattern
 - How modular can your monolith go? Part 6 - transaction management for commands
 - How modular can your monolith go? Part 7 - no such thing as a modular monolith?
 - How to apply the pattern language
 - I’m now a Team Topologies Advocate! 🎉
 - Icebergs, the Interface Segregation Principle and microservices
 - If the Service template and Microservice chassis are the solution, what is the problem?
 - Implementing Faramir with Spring AI
 - Interview about microservices with Koushik Kothagal (@Java_Brains)
 - Introducing Assemblage - a microservice architecture definition process
 - Is organizational unpreparedness a dark matter force?
 - ISAQB 2024 - Enabling DevOps and Team Topologies Through Architecture: Architecting for Fast Flow
 - iSAQB keynote - Modular monoliths and microservices: architectural patterns for rapid, reliable, frequent and sustainable development
 - IT in the time of COVID-19 - the tale of three fictitious grocery stores
 - Jfokus: Cubes, Hexagons, Triangles, and More: Understanding Microservices
 - June 7th public microservice architecture workshop in APAC (GMT+9) timezone
 - Just a reminder: picking the appropriate architecture for your application is a best practice.
 - Keynote: Enabling DevOps and Team Topologies thru architecture: architecting for fast flow
 - Latest updates to www.prc.educationtitle: Latest updates to www.prc.education: new content and taggingcolon; new content and tagging
 - LLMs: our future overlords are hungry and thirsty
 - Local vs. cloud-based development
 - Loose design-time coupling: part of the wiring of a winning organization
 - Managing data consistency in a microservice architecture using Sagas - Implementing a choreography-based saga
 - Managing data consistency in a microservice architecture using Sagas - Implementing an orchestration-based saga
 - Managing data consistency in a microservice architecture using Sagas - part 1
 - Managing data consistency in a microservice architecture using Sagas part 2 - coordinating sagas
 - MicroCPH - Managing data consistency in a microservice architecture using Sagas
 - Microservice Architecture Glossary
 - Microservice chassis pattern
 - Microservice deployment patterns
 - Microservices - an architecture that enables DevOps
 - Microservices adoption anti-pattern: Focussing on technology
 - Microservices adoption anti-pattern: More the merrier
 - Microservices adoption anti-pattern: Red flag law
 - Microservices adoption anti-pattern: scattershot adoption
 - Microservices adoption anti-pattern: Trying to fly before you can walk
 - Microservices adoption anti-patterns: microservices are a magic pixie dust
 - Microservices adoption antipatterns
 - Microservices and monoliths are both mistakes - picking the appropriate architecture for your application is still a best practice
 - Microservices anti-patterns in Melbourne
 - Microservices articles
 - Microservices Assessment Platform
 - Microservices at Silicon Valley Code Camp
 - Microservices at the @thekonginc Summit in September
 - Microservices ate my application - an adoption anti-pattern
 - Microservices in other languages
 - Microservices patterns
 - Microservices Patterns - Now available in Russian and on Audible
 - Microservices platforms: when team topologies meets microservices patterns - an introduction
 - Microservices presentations
 - Microservices resources
 - Microservices rules #10: Make smaller, safer, and reversible changes - part 1
 - Microservices rules #10: Make smaller, safer, and reversible changes - part 2
 - Microservices rules #10: Make smaller, safer, and reversible changes - part 3
 - Microservices rules #10: Make smaller, safer, and reversible changes - part 4
 - Microservices rules #10: Make smaller, safer, and reversible changes - part 5
 - Microservices rules #11: Track and improve metrics
 - Microservices rules #1: Practice continuous delivery
 - Microservices rules #3: Apply Team Topologies
 - Microservices rules #4: Provide a great developer experience
 - Microservices rules #7: Design loosely design-time coupled services - part 1
 - Microservices rules #7: Design loosely design-time coupled services - part 2
 - Microservices rules #8: Design independently deployable services
 - Microservices rules #8: Design testable services
 - Microservices rules #9: Develop observable services
 - Microservices rules: what good looks like
 - Microservices rules: what good looks like - July 2024 edition
 - Microservices workshop at Jfokus, Stockholm
 - Microservices workshops in Chicago and Stockholm
 - Microservices: the symphony
 - Microservices: what does good look like?
 - microXchg 2018 - Managing data consistency in a microservice architecture using Sagas
 - Monolith to Microservices with Bite-Sized Kubernetes
 - More on microservices anti-patterns
 - Mucon - Not Just Events, Developing Asynchronous Microservices
 - Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing microservices
 - My Apple M1 MacBook: lots of cores, memory and crashing containers
 - My new LiveProject Series: Deploying Services with Kubernetes
 - My new Manning LiveProject: developing a service template and microservice chassis
 - My new Windows 365 Cloud PC: Windows 11, Docker Desktop and WSL2
 - My YOW! 2018 presentation: Events and Commands: Developing Asynchronous Microservices
 - New #GotoChgo, #microcph conference talks on asynchronous microservices - implementing Sagas and CQRS
 - New and revised microservices classes
 - New article - Microservices rules #5: Deliberative design
 - New book - Microservice patterns
 - New microservices assessment feature - links to patterns
 - New microservices pattern - Self-contained service
 - New premium article - Big decisions: should you migrate your monolith to microservices? Part 2.
 - New premium article: a service exists to solve problems
 - New premium article: thoughts about service granularity
 - New premium post: Building a business case for reducing technical debt
 - New premium post: Doing more with less, part 1: Improving the developer experience
 - New premium post: Doing more with less, part 2 - Buy don’t build using DDD
 - New premium post: Doing more with less, part 3 - Buy don’t build using Wardley Mapping
 - New premium post: Microservices rules #2: Fast deployment pipeline
 - New premium post: Prevent descent into unmaintainable hell by tracking and improving the DevEx metrics
 - New premium post: Prevent descent into unmaintainable hell by tracking and improving the DORA metrics
 - New saga article - implementing orchestration-based sagas
 - New video: Cubes, Hexagons, Triangles, and More: Understanding the Microservice Architecture Through Shapes
 - OMG are you still using Rational Rose?
 - One day microservices class in Oakland, CA
 - Online microservices workshops, virtual bootcamps and remote consulting
 - Only you know what’s best for your application
 - Oracle Code One - Events and commands, developing asynchronous microservices
 - Pattern: A pattern language for microservices
 - Pattern: Microservice Architecture pattern
 - Pattern: Pattern: 3rd Party Registration
 - Pattern: Pattern: Access token
 - Pattern: Pattern: Aggregate
 - Pattern: Pattern: Anti-corruption layer
 - Pattern: Pattern: API Composition
 - Pattern: Pattern: API Gateway / Backends for Frontends
 - Pattern: Pattern: Application metrics
 - Pattern: Pattern: Audit logging
 - Pattern: Pattern: Circuit Breaker
 - Pattern: Pattern: Client-side service discovery
 - Pattern: Pattern: Client-side UI composition
 - Pattern: Pattern: Command Query Responsibility Segregation (CQRS)
 - Pattern: Pattern: Command-side replica
 - Pattern: Pattern: Consumer-side contract test
 - Pattern: Pattern: Database per service
 - Pattern: Pattern: Decompose by business capability
 - Pattern: Pattern: Decompose by subdomain
 - Pattern: Pattern: Distributed tracing
 - Pattern: Pattern: Domain event
 - Pattern: Pattern: Domain-specific protocol
 - Pattern: Pattern: Event sourcing
 - Pattern: Pattern: Event-driven architecture
 - Pattern: Pattern: Exception tracking
 - Pattern: Pattern: Externalized configuration
 - Pattern: Pattern: Health Check API
 - Pattern: Pattern: Idempotent Consumer
 - Pattern: Pattern: Log aggregation
 - Pattern: Pattern: Log deployments and changes
 - Pattern: Pattern: Messaging
 - Pattern: Pattern: Microservice chassis
 - Pattern: Pattern: Monolithic Architecture
 - Pattern: Pattern: Multiple service instances per host
 - Pattern: Pattern: Polling publisher
 - Pattern: Pattern: Publish events using database triggers
 - Pattern: Pattern: Remote Procedure Invocation (RPI)
 - Pattern: Pattern: Saga
 - Pattern: Pattern: Self Registration
 - Pattern: Pattern: Server-side page fragment composition
 - Pattern: Pattern: Server-side service discovery
 - Pattern: Pattern: Serverless deployment
 - Pattern: Pattern: Service Component Test
 - Pattern: Pattern: Service deployment platform
 - Pattern: Pattern: Service instance per container
 - Pattern: Pattern: Service Instance per VM
 - Pattern: Pattern: Service Integration Contract Test
 - Pattern: Pattern: Service mesh
 - Pattern: Pattern: Service registry
 - Pattern: Pattern: Service Template
 - Pattern: Pattern: Shared database
 - Pattern: Pattern: Sidecar
 - Pattern: Pattern: Single Service Instance per Host
 - Pattern: Pattern: Strangler application
 - Pattern: Pattern: Transaction log tailing
 - Pattern: Pattern: Transactional outbox
 - Pattern: Self-contained service
 - Pattern: Service per team
 - PLoP: the gathering of the patterns community
 - Potholes in the road from monolithic hell - Microservices adoption anti-patterns
 - Premium post: making sure that buying is really better than building
 - Premium post: There’s more to a microservice architecture than services
 - Presentation - Solving distributed data management problems in a microservice architecture
 - Public architecting for fast, sustainable flow workshops in September 2024
 - Public microservices training in Stockholm, May 8th and 9th
 - Public microservices training in the Netherlands, May 15th and 16th
 - Publishing a multi-architecture Docker image for the Eventuate CDC service
 - Publishing multi-architecture base images for services
 - QConPlus 2021: Takeout burritos and minimizing design-time coupling in a microservice architecture
 - QCONSF 2017 presentation - ACID Is So Yesterday, Maintaining Data Consistency with Sagas
 - QCONSF 2022: Dark Energy, Dark Matter and the Microservices Patterns?!
 - Redisconf 2019 microservice architecture workshop
 - Reducing insider trading in a microservice architecture
 - Refactoring a monolith to microservices
 - Revised data patterns
 - Revised patterns - Microservice Chassis and Service Template
 - Scripting with JBang instead of Python
 - Self-documenting services: generating a microservice canvas
 - Service blueprints: creating a shared understanding of your architecture
 - Service discovery patterns
 - Services + End-to-End Testing = ?
 - Slides for my #devnexus talk - Decompose your monolith
 - Slides for my Oracle CodeOne 2019 talk - Decompose Your Monolith - Strategies for Migrating to Microservices
 - Slides for my Oracle CodeOne 2019 talk - Descending the Testing Pyramid - Effective Testing Strategies for Microservices
 - Slides for my YOW! Perth and Singapore - Cubes, Hexagons, Triangles, and More - Understanding the Microservice Architecture Through Shapes
 - STOP hurting yourself by doing big bang modernizations!
 - Techlead Journal Podcast - Principles for Adopting Microservices Successfully
 - Testing an Intel and Arm multi-architecture Docker image on CircleCI
 - Testing microservices (Work in progress)
 - The Chinese translation of Microservices Patterns
 - 
    
[ The Confident Commit podcast Episode 6: Architecture meets delivery ](/post/microservices/2021/07/27/circleci-confident-commit-podcast.html)  - The developer’s essential knowledge pyramid
 - The Eventuate Tram Customers and Orders example now runs on Arm/M1 MacBook!!
 - The evolution of the Microservice Architecture pattern language
 - The evolution of the success triangle: microservices as the enabler of DevOps and team topologies
 - The FTGO application and the Database per service pattern
 - The geometry of microservices - cubes, hexagons, triangles, and more
 - The importance of flow state for developers
 - The Japanese edition of Microservices Patterns
 - The just sharing principle: advice for advice givers
 - The launch status check: a great example of loose design-time coupling
 - The Microservice Architecture Assessment
 - The Microservice Architecture Assessment is now available
 - The microservice architecture is meant to simplify and accelerate development, but only when done correctly
 - The microservice architecture: enabling rapid, reliable, frequent and sustainable development
 - The Microservices Assessment Platform is generally available
 - The Microservices assessment platform now supports organizations
 - The pattern format: an antidote to hype
 - The progress principle: the key to improving productivity and job satisfaction
 - The Scale Cube
 - The Strangler Fig application pattern: incremental modernization to microservices
 - The success triangle reinterpreted: it’s all about fast flow
 - The wrong reasons to adopt microservices
 - The YOW conferences in Perth, Hong Kong, and Singapore
 - There is no such thing as a microservice!
 - This week in #microservices - April 7th 2014
 - This week in #microservices - March 31st 2014
 - Thoughts about team size
 - Two more anti-patterns of microservices adoption
 - Understanding an architecture: part 1 - system context
 - Understanding an architecture: part 2 - user stories and scenarios
 - Upcoming architecture workshops and talks in Europe in November 2024
 - Upcoming public architecture workshops
 - Upcoming public architecture workshops in 2025: US and Europe
 - Upcoming public training - Microservices at UMN, Minneapolis in January
 - Upcoming workshops at O’Reilly Software Architecture New York and GOTO Chicago
 - Updated microservice architecture presentations
 - Using GenAI (Github Copilot) to build a GenAI service
 - Using patterns and pattern languages to make better architectural decisions
 - Using scenarios to reinvigorate your microservice architecture
 - Vibe coding: the good, the almost, and the @#$%**
 - Vibe coding: the good, the almost, and the @#$%** - Part 2
 - Webinars on Spring Boot, Cloud Foundry, and Microservices
 - Welcome to Microservices!
 - What developer productivity metrics actually measure
 - What’s a service - part 1?
 - What’s new with #microservices - July 28, 2015: integration platforms, new article on microservices and IPC
 - What’s new with #microservices - June 23, 2015: @crichardson and microservices training
 - What’s new with #microservices - June 6, 2015: @martinfowler, @crichardson, @adrianco
 - What’s new with #microservices - May 12th 2014
 - What’s new?
 - When to use the microservice architecture: part 1 - the need to deliver software rapidly, frequently, and reliably
 - When to use the microservice architecture: part 5 - the monolithic architecture and rapid, frequent, reliable and sustainable software delivery
 - Why microservices - part 3: two thirds of the success triangle - process and organization
 - Why microservices - part 4: the last third of the success triangle: architectural requirements for rapid, frequent, reliable and sustainable development
 - Why microservices: part 2 - the need for sustainable development
 - Work smarter, not longer: Embrace fast flow
 - Working in a high-performance organization
 - Writing better problem reports: 6 essential details
 - Writing better problem reports: 6 essential details
 - Writing testable and maintainable JBang scripts
 - YOW 2018 conference presentation
 
      
      
    Premium content now available for paid subscribers at 
  
      
  
      
  