As the number of microservices in a system grows, it becomes much more difficult to stand up an entire system to test service to service interactions. You can mock out dependencies to test single services in isolation, but how can you be sure that your mocks stay up to date as the system evolves? In this session we will explore the concept of Consumer Driven Contracts. You will learn how you can: * formalize the interactions between two services into a contract * keep your contracts up to date as a side-effect running your tests * test services in isolation by generating mocks from contracts * safely evolve the interfaces of services while maintaining compatability * bonus: use CDC to test the interactions between a web app and the server