Devconf.US

REST & GraphQL: Adventures in schema-first API development
08-14, 16:00–16:35 (US/Eastern), East Balcony (capacity 80)

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.

See also: Slides (2.4 MB)

Building APIs at Red Hat.

Passionate pythonista, proud RedHatter.