Devconf.US

Erik Mravec

Passionate pythonista, proud RedHatter.


Session

08-14
16:00
35min
REST & GraphQL: Adventures in schema-first API development
Jan Koscielniak, Erik Mravec

In this talk we will introduce architecture and development history of Pyxis - a high-traffic API that provides both a REST and GraphQL interfaces, featuring a large schema, advanced validation and modular architecture. Pyxis was initially a small REST application, but customer feature requests have led us to the introduction of a GraphQL layer on top of the REST application. Over time, this resulted in several manually maintained schemas (API, validation, database) which presented an increasing maintenance burden within the ever-evolving application. Growing customer interest in GraphQL also forced us to rethink the REST-first approach.

We’ll talk about how we solved this problem and arrived at a single opinionated schema specification, embracing schema-first principles and automation everywhere. From this schema we generate not only API and validation schemas, but also documentation, testing data and database index specification. We’ll also share our experience with adopting and maintaining GraphQL, how it went from an experimental layer on top of REST to a modular schema-first application which is now our authoritative API layer.

This talk is for anyone interested in API design, schema-first approach or in how to modernize an application without service interruption and API breakages. You only need to have basic REST and GraphQL knowledge to benefit from this talk.

Application and Services Development
East Balcony (capacity 80)