The potential upside of microservices is significant and exciting. So much so that Yelp's Transaction Platform committed from the start to an architecture of small, cooperative microservices. This talk explores the inevitable complications that arise in successful projects based on microservices as they grow larger and stretch both their own architecture and the developers responsible for them. Come hear tales of terror (tight coupling! low test coverage!), stories which will warm your heart (agility! strong interfaces!), and everything in between as we follow the adventures of our plucky team.
The talk will be focused on the functional, cultural, and reliability challenges which occur as a microservices-based project evolves and expands over time. Particular attention will be paid to where these diverge from the utopian way microservices are often described, and to the practical approaches your project can take to mitigate issues and avoid the traps inherent in scaling up this type of approach. My goal is to share with attendees some mistakes we've made, some successful methods for growing gracefully, and above all with useful (and maybe unexpected!) lessons from the trenches they can apply to their own work.