API Evolution Without Versioning

Versioning is usually the first–and too often, the only–technique architects reach for when imagining a breaking change to an API’s interface. Based on my experience managing the evolution of a public API, I’ve recently cataloged several alternative techniques and their tradeoffs. I released the first version of an open-source service virtualization tool called mountebank in early 2014. Since that time, I have made or incorporated several breaking changes to its public API, some of them significant, without once requiring users to manage a version upgrade process.

In this presentation, I’ll share the learnings I’ve collected over nearly a decade of changes, including:

  • Patterns of evolution in addition to versioning

  • The natural tradeoffs that exist between API elegance, obviousness, and stability

  • Broadening the conversation from API evolution as an architectural concern to a broader product management concern


Speaker

Brandon Byars

North America Head of Technology @thoughtworks

Brandon Byars is a passionate technologist, consultant, author, speaker, and open source maintainer. As Head of Technology for Thoughtworks North America, Brandon is part of the group that puts together the Thoughtworks Technology Radar, a biannual, opinionated perspective on technology trends. As a consultant, he has helped lead digital transformation agendas across a range of industries, with a  focus on those technical enabling blocks and integration strategies that help promote autonomy and agility at scale. He is the creator of mountebank, a widely used service virtualization tool, and wrote a related book on testing microservices.

Read more
Find Brandon Byars at:

From the same track

Session

What API Product Managers Need

Tuesday Oct 25 / 11:50AM PDT

More details coming soon.

Deepa Goyal

Product Strategy @Postman

Session

Scaling GraphQL Adoption at Netflix

Tuesday Oct 25 / 01:40PM PDT

GraphQL is steadily gaining popularity as an API technology choice for Client to Server communication. However, it can be daunting to realize the benefits of GraphQL without significant investment.

Tejas Shikhare

Senior Software Engineer @Netflix

Session

Sidecars, eBPF and the Future of Service Mesh

Tuesday Oct 25 / 05:25PM PDT

Controversy over the future of service meshes and their architectures is swirling. This is a vital discussion as enterprise migration to microservice and Kubernetes-based architectures continue. This talk incorporates the latest community developments to explore what the future looks like.

Jim Barton

Field Engineer @Solo

Session

Who Cares About Your API?

Tuesday Oct 25 / 02:55PM PDT

Who cares about your API?  Everyone. DevOps has shown us that when developers care about operations, they write better software.  What other viewpoints should developers consider when they're building software?

Brandon Byars

North America Head of Technology @thoughtworks

Jim Barton

Field Engineer @Solo

Deepa Goyal

Product Strategy @Postman

Tejas Shikhare

Senior Software Engineer @Netflix

Session

Unconference: Modern APIs

Tuesday Oct 25 / 04:10PM PDT

What is an unconference? At QConLondon, we’ll have unconferences in most of our tracks.

Shane Hastie

Director of Agile Learning Programs @ICAgile