Stephan Jaensch - Building mobile APIs with services at Yelp
At Yelp, we ship code multiple times a day and have maintained this
pace as our team has grown to 300+ and our codebase to several million
lines of Python code. This talk explores the pain points we
experienced along the ways, how our service-oriented architecture
alleviates them, and the infrastructure we built to develop, test, and
deploy in this highly-distributed environment. As a case study, we’ll
be looking at the backend powering the new Yelp Business Owner Android
and iOS apps.
At the start, most of the development at Yelp occurred in a single,
monolithic web application, creatively named “yelp-main” (naming is
hard!). As the company grew, our developers were spending increasing
amounts of time trying to ship code. After recognizing this pain
point, we started experimenting with a service oriented architecture
to scale the development process, and so far it’s been a resounding
success. Over the course of the last three years, we’ve gone from
writing our first service to having over seventy production services.
Along the way, we’ve dabbled with Docker containers, Pyramid,
SQLAlchemy, uWSGI, gevent, and virtualenv in an effort to build the
next-generation service platform for our engineers. |