GraphQL Workshop

This workshop will cover

Background

  • A brief history of API development, where the industry
    is heading and how GraphQL fits in this space
  • SOAP/XML RPC
  • JSON/REST resources
  • GRPC
  • GraphQL query and mutations
Use cases and context

  • Compare the benefits and tradeoffs of different data fetching techniques to understand why GraphQL might provide value
  • Look at different architectural patterns to understand what GraphQL offers. REST vs CQRS
  • Understand some of the different ways that you might incorporate GraphQL into a system (high level use cases) and why the flexibility of GraphQL can make it hard to have a common understanding of “what it is”
Use cases, language syntax and semantics

  • Understand how and where GraphQL affects your system (API and consumer)
  • Guided explanation of GraphQL language features
Exploring a GraphQL server

  • Hands on exploration of a sample GraphQL store
  • Walk though example use cases to simulate what it would be like as a consumer to use the GraphQL ecosystem’s tools to understand an API you haven’t seen before
Creating a GraphQL server

  • Hands-on GraphQL language exploration
  • Hands-on work to build a working GraphQL API using NodeJS
  • Integration testing for the working GraphQL API
Future proofing APIs

  • Designing GraphQL APIs for versioning
  • Additive API enhancement and phased deprecation of functionality
  • Maintaining backwards compatibility
Performance

  • Hands-on work to add visibility data (metrics, tracing) to the API using Prometheus and Grafana
  • Hands-on work to identify bottlenecks and scalability edge-cases
  • Hands-on work to simulate worst case, high-latency, low bandwidth networks
  • Hands-on work to optimise over-the-wire resources
Techniques

  • Managing authorisation schemes and integration with existing AuthN/AuthZ
  • Schema stitching and federation
  • Pagination of nested resources
  • Operational visibility and generating business metrics

Interested?

Get in touch below and our team will get back to you.

Golang Workshop
What training are you interested in?