8. Monitoring and scaling our API
2m

🏁 Almost at the finish line!

We're reaching the end of our Lift-off series, well done! Take a moment to appreciate how far you've progressed since you started on this journey with us, and also what you've done for the space cat community πŸš€πŸ˜Έ!

We've got a full-stack GraphQL application running in production and connected to the registry. But this is only really the start. Now that our app is live, we need to make sure it performs as expected as it continues to evolve and grow over time.

πŸ“Š Checking in

Let's check in on our API. In the Operations page, we can see an overview of our request rate, service time, and error percentage, including specific operations for each of these that might be worth drilling deeper into. By the way, this is one reason why it's useful to name each GraphQL operation you send from the client side.

Screenshot of the Operations page in Apollo

Let's dig into the most highly requested operation: getTrack. Most likely because there's a lot of activity going on in the homepage when a user clicks on a track card.

We can see the request rate (the number of requests that have been made), and the latency of the request (how long each request takes) over time. Since this is the most highly requested operation, we can start to investigate ways to optimize it or make it more performant.

We can also check our Fields page again. Remember how we deprecated the length field in the previous lesson? Now we want to check if it's safe to remove that field altogether. But we can see that it's still being used, and if we have client awareness set up, we can also see that only the mobile client prototype is still querying for that field. It's time to get in touch with that team!

Screenshot of the Operations page in Apollo

What data points can you monitor on Apollo thanks to the schema registry?

What should we do before completely removing a field from our schema?

πŸŽ‰ And we're done!

Thanks so much for joining us for Lift-off, the first series in our Odyssey journey.

There is still so much more we can do with GraphQL! As your app grows in size, complexity, and multiple teams become involved in consuming and maintaining the graph, the power of the registry will keep growing with it.

In future Odyssey series, we'll see how to stay on top of all of this with schema checks, client awareness, federation, and more.

If there is anything else you'd like us to cover, let us know. We'd also love to know what you thought about our very first Odyssey series. Leave us your feedback in the survey below!

See you in the next one!

Previous