Humans handle change better than machines do. Even fixing a bug to bring the API in line with documented behavior can have a big impact on integrators. For this reason, the API team at GitHub has developed an approach to managing change that seeks to minimize negative impact while maximizing performance and availability for all API consumers. A pragmatic approach to Hypermedia enables us to beta test new APIs, version resources independently, and even move around our asset upload infrastructure without breaking existing clients.
Managing change hinges on testing API behavior. We’ll demonstrate how we use tools like JSON, Rack::Test, and custom Minitest assertions to test the API end-to-end. Science, an open source project from GitHub, helps us measure impact for codepaths for which we don’t have as much code coverage as we’d like. Finally, we’ll look at how we collect metrics using Graphite and combine them with other sources to make informed decisions about API changes, knowing in many cases the exact third party applications we’ll likely impact.
In the session, we’ll cover:
Attendees will walk away with new approaches and tools for building a more robust API regardless of their platform.
Wynn Netherland has been building the web for nearly twenty years. With a passion for API user experience, he’s a prolific creator and maintainer of Ruby API wrappers. He now spends his days hacking on the GitHub API and is author of several books, most recently Sass and Compass in Action (Manning 2013).
For exhibition and sponsorship opportunities, contact Sharon Cordesse at email@example.com
For information on trade opportunities with O'Reilly conferences contact firstname.lastname@example.org
For media-related inquiries, contact Maureen Jennings at email@example.com
View a complete list of OSCON contacts