Martin Fowler

Paxos: using two consensus-building phases to handle unreliable nodes

Martin Fowler

Unmesh Joshi is ready to start the New Year with a few more of his Patterns of Distributed Systems. With this one he attempts the tricky task of explaining Paxos.

Use a general purpose language to manage the interface evolution

Martin Fowler

Many commercial integration tools market their ability to own the integration landscape and call out to general purpose languages as needed.

Insiders

Sign Up for our Newsletter

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

You Can't Buy Integration

Martin Fowler

“Build versus buy” decisions are everywhere today, and rightly so. Building software is risky and expensive, and software product companies can spread that risk and expense across multiple customers.

Scaling the Practice of Architecture, Conversationally

Martin Fowler

Like many modern software architects, Andrew Harmel-Law struggles with the need to scale architectural thinking to larger organizations while allowing teams to be as autonomous as possible.

The Complete R&D Funding Guide: How to Get the Funding You Need!

Speaker: Kevin Goldsmith, Chief Technology Officer at Anaconda | Peyman Pouryekta, CEO and Technology Advisor | Bob Webber, VP Product Flow Optimization, Construx

In this interactive panel discussion, we will address common pitfalls of investments for CTOs and VPs of Engineering and will teach you how to manage your investments with confidence and properly allocate resources across business priorities.

Replicated Log: synchronize multiple nodes with a write-ahead log

Martin Fowler

One of the core challenges in a distributed system is keeping the state synchronized across all the nodes, especially when neither the nodes, or the connections between them, are reliable. The core approach to handle with is a replicated log : using the write-ahead log pattern over the cluster.

System 195

A thinking and recording tool: Decision Records

Martin Fowler

The Advice Process works when supported by four elements. Andrew describes the first of these, Decision Records , which act as a tool for thinking about and recording the decision process. more…. skip-home-page

Tools 233

Put most of your energy into building clean interfaces

Martin Fowler

While we have historically drawn up our project plans and costs around the boxes—the digital products we are introducing—the lines are the hidden and often primary driver of organizational tech debt. They are the reason that things just take longer now than they used to. more….

Energy 222

Team-sourced Architectural Principles

Martin Fowler

Having architectural principles is not new, but in a world of highly-autonomous-teams they become essential because they are the means by which an aligned delivery direction is achieved without the need for control.

The strong and weak forces of architecture

Martin Fowler

Good technical design decisions are very dependent on context. Teams that regularly work together on common goals are able to communicate regularly and negotiate changes quickly.

Optimize the Performance of Your Serverless Functions

Run mission-critical applications on serverless without sacrificing visibility.

Use commercial integration tools to simplify implementation concerns

Martin Fowler

Thus far, Brandon has has explained why general purpose languages are better for integration. In this latest installment he explains that there are cases when commercial integration tools make sense. more…. skip-home-page

Tools 213

Critical Aggregator

Martin Fowler

Business Leaders often need to make decisions that are influenced by a wide range of activity throughout the whole enterprise.

System 144

How the advice process works in practice

Martin Fowler

Andrew finishes his article on how to scale software architecture by looking at how this technique works in practice , and also outlines how things can go wrong. more…. skip-home-page

A tech landscape and current climate sensing tool - Your own Tech Radar

Martin Fowler

Andrew's fourth supporting element for the Advice Process is using a tech radar to capture and map out your local version of the technology trends you see across your organization. more…. skip-home-page

Tools 203

The Big Payoff of Application Analytics

Outdated or absent analytics won’t cut it in today's data-driven applications. And they won’t cut it for your end users, your development team, or your business. Learn how 5 companies used embedded analytics to achieve huge returns and greater value than anticipated.

Treat integration as strategic to your business

Martin Fowler

Brandon finishes his article on how we should look at integration by arguing that it is a strategic element of an enterprise's infrastructure.

Divert the Flow

Martin Fowler

Yesterday Ian Cartwright, Rob Horn, and James Lewis. described the Critical Aggregator and how it can metastasize into an invasive form.

Data 135

Compliance in a DevOps Culture

Martin Fowler

Integrating the necessary security controls and audit capabilities to satisfy compliance requirements within a DevOps culture can capitalize on CI/CD pipeline automation, but presents unique challenges as an organization scales.

Legacy Mimic: a new component that looks like an old one

Martin Fowler

Ian Cartwright, Rob Horn, and James Lewis are also back with the New Year with a couple more articles from Patterns of Legacy Displacement in the funnel for the next couple of weeks.

The Importance of PCI Compliance and Data Ownership When Issuing Payment Cards

This eBook provides a practical explanation of the different PCI compliance approaches that payment card issuers can adopt, as well as the importance of both protecting user PII and gaining ownership and portability of their sensitive data.

An example: Integration Middleware Removal

Martin Fowler

To illustrate how these patterns work in practice, Ian, Rob, and James describe an example of how one of our teams used a number of Legacy Modernization Patterns to successfully replace integration middleware critical to the operation of their client's business as part of a larger legacy modernization programme.

Patterns of Legacy Displacement

Martin Fowler

My colleagues do a lot of work that involves replacing legacy software systems. Three of my colleagues - Ian Cartwright, Rob Horn, and James Lewis - have started to capture their experience and advice for this is a collection of patterns.

System 270

Ship / Show / Ask: A modern branching strategy

Martin Fowler

I've written a fair bit about how using pull requests can encourage a low integration frequency, reducing cycle time and discouraging refactoring.

On the Diverse And Fantastical Shapes of Testing

Martin Fowler

There are arguments about whether a testing portfolio should be a pyramid or more like honeycomb. My second biggest issue with this argument is that it's rendered opaque by the fact that it's not clear what people see as the difference between unit and integration tests.

Data-Driven Performance Feedback Helps Teams Improve Customer Outcomes

Speaker: Mickey Mantle, Founder and CEO at Wanderful Interactive Storybooks | Ron Lichty, Consultant: Interim VP Engineering, Author, Ron Lichty Consulting, Inc.

In this webinar Mickey Mantle and Ron Lichty will teach you why its important to have data driven performance reviews, the most effective way to use data in performance reviews, and how this data helps to align your employee proficiency with your company goals.

Responsible Tech Playbook

Martin Fowler

Those of us developing software don’t need to be told what a big impact it’s had on humanity this century. I’ve long maintained that this places a serious responsibility on our profession. Whether asked to or not, we have a duty to ensure our systems don’t degrade our society.

Gateway Pattern

Martin Fowler

We often need to access APIs from foreign codebases, and these foreign codebases usually have different vocabularies to ours. I've found it useful to encapsulate this interaction with a gateway that translates between our code and foreign code.

234
234

Foreword to "The Art of Agile Development"

Martin Fowler

James Shore has revised his book "The Art of Agile Development". I'm pleased to write a foreword for this book as it is solid guide to learning how to get past faux-agile and develop the skills you need to get the benefits of the agile way of work.

Agile 201

Feature Parity

Martin Fowler

On many occasions when my colleagues find themselves talking to IT executives they hear how the executives have a suite of aging applications built using soon to be, if not already end of life technologies.

Monitoring AWS Container Environments at Scale

In this eBook, learn how to monitor AWS container environments at scale with Datadog and which key metrics to monitor when leveraging two container orchestration systems (ECS and EKS).

Maximizing Developer Effectiveness

Martin Fowler

My colleague Tim Cochran has helped many software engineering organizations transform to respond faster to changing market needs.

Mind the platform execution gap

Martin Fowler

Recently there's been a lot of interest, indeed hype, around building developer productivity platforms. Done well, they make it easier for developers to build systems aligned with the technology strategy and allow them to build useful features more quickly.

Distributed Systems Pattern: State Watch

Martin Fowler

Clients are interested in changes to the specific values on the server. It's difficult for clients to structure their logic if they need to poll the server continuously to look for changes. If clients open too many connections to the server for watching changes, it can overwhelm the server. more….

System 271

Follower Reads

Martin Fowler

When you are using Leaders and Followers, you can use Follower Reads to achieve better throughput and lower latency. However there is always a replication lag between the leader and the followers, so you may need to take action to preserve consistency. more…. skip-home-page

227
227

The Hitchhiker’s Guide to Embedded Analytics – 4 Mission-Critical Steps to Take on Your Analytics Journey

The right analytics capabilities will turn data into valuable insights for your end users. This research-based guide, derived from insights of industry professionals, will allow you to create an optimal strategy for acquiring those capabilities.

My favorite musical discoveries of 2021

Martin Fowler

I listen to a lot of interesting music, so picked out my six favorite. new-to-me albums this year. I hope you find something interesting to groove to in there.

147
147

Data Mesh Principles and Logical Architecture

Martin Fowler

Last year, my colleague Zhamak Dehghani introduced the notion of the Data Mesh , shifting from the notion of a centralized data lake to a distributed vision of data.

Lamport Clock

Martin Fowler

Next distributed system pattern from Unmesh is the Lamport Clock. Distributed systems can't assume that time is consistent between servers, and sometimes time goes backwards. Yet it's important to have some way to order events. more…. skip-home-page

System 223

Maximizing Developer Effectiveness: Organizational Effectiveness

Martin Fowler

Tim finishes his article by looking at how highly effective organizations design their engineering organization to optimize for effectiveness and feedback loops.

Make Payment Optimization a Part of Your Core Payment Strategy

Everything you need to know about payment optimization – an easy-to-integrate, PCI-compliant solution that enables companies to take control of their PSPs, minimize processing costs, maximize approval rates, and keep control over their payments data.