GraphQL @ Scale
Section: Full talk Technical level: Intermediate
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.
- 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
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!!