Add to My Interests
Remove from My Interests
The rise of microservices has allowed ML systems to grow in complexity, but has also introduced new challenges when things inevitably go wrong. This talk dives into why and how Pinterest Dockerized the array of microservices that produces the Pinterest Home Feed to accelerate development and decrease operational complexity and outlines benefits we gained from this change that may be applicable to other microservice based ML systems.
Most companies provide isolated development environments for engineers to work within. While a necessity once a team reaches even a small size, this same organizational choice introduces potentially frustrating dependencies when those individual environments inevitably drift. This project was initially motivated by challenges arising from the difficulty of testing individual changes in a reproducible way - without having standardized environments, pre-deployment testing often yielded non-representative results, causing downtime and confusion for those responsible for keeping the service up.
The Docker solution that was eventually deployed pre-packages all dependencies found in each microservice, allowing developers to quickly set up large portions of the Home Feed stack, and always test on the current team-wide configs. This architecture enabled the team to debug latency issues, expand our testing suite to include connecting to simulated databases, and more quickly do development on our thrift APIs.
This talk will feature tips and tricks for Dockerizing a large scale legacy production service and discuss how an architectural change like this can change how an ML team works.
Do Not Sell My Personal Information