Call for round the year submissions for Rootconf in 2020

Submit a proposal at any time in the year on DevOps, infrastructure security, cloud, and distributed systems. We will find you a suitable opportunity to share your work.

GraphQL @ Scale

Submitted by jatin thapar (@jatinthapar10) on Apr 18, 2019

Section: Full talk Technical level: Intermediate Status: Submitted

Abstract

Modern web servers need to cater to multiple clients on web, mobile and desktop. The views across the clients vary a lot, so same server API response across all clients is not optimal. GraphQL offers a powerful technology for building web API’s which enables clients to query data which they want and how they want without compromising on the performance.

As a part of this talk I am going to talk about our GraphQL journey while building Microsoft Teams. We will focus on how we built a scalable, multi geo deployed GraphQL Server backed by Azure Cosmos DB powering some key features in Microsoft Teams.

Outline

  • What is GraphQL?
  • Why GraphQL over REST?
  • Best practices for designing a GraphQL schema
  • GraphQL Server Architecture in Teams
  • Various GraphQL patterns we put in
    • Error handling
    • Telemetry & Monitoring
    • Throttling patterns.
  • Best Practices
  • Deployments

Speaker bio

I am Jatin Thapar Software Engineer from Microsoft India Development Centre, Bengaluru and working on building a Data Layer for ‘Teams’ services with a GraphQL endpoint. It has been close to 5 years working on backend developer, shipping enterprise software products. In Microsoft had a privilege of working on a new and fast growing product, Microsoft Teams and learning each day on being customer focussed and compliance first. Before Microsoft, I was working with Informatica on a data security and risk analytics product.

Working with databases has always been exciting for me, right from my graduation days!!

Links

Slides

https://drive.google.com/file/d/1w0v1K289cjGiIbdJUYqz0W_tAGR-HVxw/view?usp=sharing

Preview video

https://www.youtube.com/watch?v=SWjiSn9ZNcA

Comments

{{ gettext('Login to leave a comment') }}

{{ gettext('You need to be a participant to comment.') }}

{{ formTitle }}
{{ gettext('Post a comment...') }}
{{ gettext('New comment') }}

{{ errorMsg }}