Voxxed Days Microservices: Phil Hardwick on “Pact Tests — How We Split up the Monolithic Deploy”

DZone 's Guide to

Voxxed Days Microservices: Phil Hardwick on “Pact Tests — How We Split up the Monolithic Deploy”

An architect and DZone MVB sat down with a fellow microservices expert to discuss Pact Tests and his Voxxed Days 2019 presentation.

· Microservices Zone ·
Free Resource

Hi Phil, tell us who you are and what lead you into microservices?

I’m Phil, I’m a software engineer with Mettle: a company providing current accounts to small businesses. I’ve been working in software engineering for seven years across a variety of projects, mostly in the public sector, but some in the private sector as I am now. In every subsequent project, the move to microservices has been more pronounced. The reason I keep seeking opportunities to build better microservice systems is that it presents huge challenges with unequaled rewards — no other current system design can give equivalent throughout, scale or reliability. The challenges of increased complexity and distributed communication draw me, and I believe many others, to seek better and better solutions and implementations.

 What will you be talking about at Voxxed Days Microservices? 

I will be offering a look into how we at Mettle used consumer-driven contracts to enable us to do continuous delivery into production. We wanted to deploy little and often into production but to do that we needed to make sure our services were compatible with the versions of other services in all environments. I’ll also take a look at how to implement it in your services and your CI — again with tips for what to do and what to avoid from our own experience of moving from a monolithic deployment to independent micro deployments.

When building an API it’s usually the provider’s job to test its APIs. Consumer-Driven Contract tests go the other way round. Could you explain the interactions between the API consumer and the API provider in CDD tests? 

The responsibility for testing the functionality of the API still lies with the provider. The difference is the consumer defines the format of the interactions (typically the requests and responses). The provider then, in addition to its functional tests, tests that it meets the contract (provides responses in the required format). This fosters more personal interactions between provider and consumer engineers as they decide the contract and work to make sure it’s met. By doing this we’ve divided testing into testing functionality and testing interactions: a key distinction in the world of microservices.

Good, see you soon then 

Looking forward to it!

DZoners! Visit Voxxed Days Microservices here to check out ticket info for the show, and use the DZone reader exclusive code: VXDMS19_COM_DZONE to get 20% off for the conference and workshop.

microservices ,pact tests ,voxxed days

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}