You are viewing content from a past/completed QCon

Track: The Future of the API: REST, gRPC, GraphQL and More

Location: Mountbatten, 6th flr.

Day of week: Tuesday

Modern APIs must meet many demands. They must help your developers be productive. They have to perform well, scale to meet demand, and be reliable. And they must be consumable by a variety of devices and other services. How can you write good APIs that meet all those needs now, and can safely evolve over time?  

This track will cover how technologies like gRPC and GraphQL help meet some of these challenges. We'll also see what the future holds for REST, and what tools and techniques help manage APIs in the distributed world of microservices.

Track Host: Thomas Betts

Lead Editor for Architecture and Design @InfoQ & Principal Software Engineer @OmdiaHQ

Thomas Betts is the Lead Editor for Architecture and Design at InfoQ, and a Principal Software Engineer at Omdia. For over two decades, his focus has always been on providing software solutions that delight his customers. He has worked in a variety of industries, including retail, finance, health care, defense and travel. Thomas lives in Denver with his wife and son, and they love hiking and otherwise exploring beautiful Colorado.

10:35am - 11:25am

A Brief History of the Future of the API

The API landscape is constantly shifting. In the olden days, an API was just a way of coding against somebody else’s libraries. With the rise of networks in the 1990s, APIs became distributed across multiple systems, and we created patterns, standards and frameworks to make building those systems easier. In the 2000s, when XML ruled the world, we used SOAP to allow cross-platform remote procedure calls. Then the web-friendly ReST and JSON appeared and we all adopted that. Today, we compose complex applications from microservices that need high-performance messaging, which gRPC promises to deliver. Meanwhile, GraphQL competes with ReST to be the favoured solution for public, web-facing APIs.    

In this talk, we’ll look at these various technologies and standards from across the years, the pros and cons of each, and which solutions are appropriate for which problems. We’ll also look at ways of migrating legacy APIs from old technologies to the modern alternatives.

Mark Rendle, Co-Author of gRPC for WCF Developers and Creator @VisualRecode

11:50am - 12:40pm

The Future of Cloud Native API Gateways

The introduction of microservices, Kubernetes, and cloud technology has provided many benefits for developers. However, the age-old problem of getting user traffic routed correctly to the API of your backend applications can still be an issue, and may be complicated with the adoption of cloud native approaches: applications are now composed of multiple (micro)services that are built and released by independent teams; the underlying infrastructure is dynamically changing; services support multiple protocols, from HTTP/JSON to WebSockets and gRPC, and more; and many API endpoints require custom configuration of cross-cutting concerns, such as authn/z, rate limiting, and retry policies.

A cloud native API gateway is on the critical path of all requests, and also on the critical path for the workflow of any developer that is releasing functionality. Join this session to learn about the underlying technology and the required changes in engineering workflows. Key takeaways will include:      

  • A brief overview of the evolution of API gateways over the past ten years, and how the original problems being solved have shifted in relation to cloud native technologies and workflow      
  • Two important challenges when using an API gateway within Kubernetes: scaling the developer workflow; and supporting multiple architecture styles and protocols
  • Strategies for exposing Kubernetes services and APIs at the edge of your system      
  • Insight into the (potential) future of cloud native API gateways

Richard Li, Founder and CEO @datawireio

1:40pm - 2:30pm

Panel: How to Make the Future Become Your Present

"Life moves pretty fast. If you don't stop to look around once in a while, you could miss it." - Ferris Bueller    

Software development moves pretty fast. What's new and amazing one moment is old and boring the next. How do you keep up with all the changes, and figure out when is a good time to jump to using new tech?    

This panel will include experts who have spent their careers keeping up with the changes. Sometimes, adopting new tech took more nurturing than expected to ensure it was successful. Not every decision was the right one, but each presented new learning opportunities.

Mark Rendle, Co-Author of gRPC for WCF Developers and Creator @VisualRecode
Richard Li, Founder and CEO @datawireio
Michelle Garrett, Software Engineer @CondeNast

2:55pm - 3:45pm

Moving Beyond Request-Reply: How Smart APIs Are Different

Integrating microservices or other components is hard, as it involves taming distributed systems. New API technologies are great, but can't magically solve all underlying challenges. This talk distills real-life experiences around typical architecture patterns. You will understand why you have to carefully think about boundaries and responsibilities of all your components. Further you will see why balancing orchestration and choreography is essential to avoid chaos. We also need to talk about idempotency, long-running and event-driven services. Don’t worry if you are new here, I will use easy to understand examples. In the end you will have gained a better feeling how to make your API smarter.

 

Bernd Ruecker, Co-founder and chief technologist @Camunda

4:10pm - 5:00pm

Next Generation Client APIs in Envoy Mobile

Relentlessly pursuing a consistent user experience means deploying a server with 100% reliability is ineffective if it’s not matched by our mobile applications. Learn how Lyft’s Client Networking team has evolved Lyft APIs to create consistency between mobile platforms and the server.

The first part of the talk will guide the audience through the journey of Mobile APIs at Lyft. Starting with hand-written JSON and iterating all the way to consistently generated client and server code based on IDL definitions of the APIs. The second part of the talk will focus on how the team has reaped the benefits of API generation to experiment with the network transport layer. This process has culminated in Envoy Mobile which enables teams to build great experiences by deploying Envoy as one networking stack across the server and millions of mobile devices. The talk will close with recent developments the team has made with Envoy Mobile and the exciting roadmap ahead.

Jose Nino, Software Engineer @lyft and Envoy Maintainer

5:25pm - 6:15pm

Introducing and Scaling a GraphQL BFF

In 2020, many developers are sold on GraphQL, and are choosing to introduce it to their codebase in the form of a "Backend For Frontend" API. But what happens next? After a year or two in production, this GraphQL BFF might need to scale to serve more than just a single application.

This session will talk about the journey of introducing and then scaling a GraphQL BFF to serve multiple applications. We'll cover the benefits of the Backend For Frontend pattern and why it's a popular way to introduce GraphQL. Then we'll discuss evolving this client-specific GraphQL layer into a more universal, application-agnostic data graph in line with industry standards. We'll talk about how to remain agile and support a production application throughout this process.

If you're thinking about introducing GraphQL, this session will give you ideas on how to design and develop your new GraphQL API. And if you have already built a GraphQL API, this session will give you practical advice on how to evolve your architecture incrementally.

Michelle Garrett, Software Engineer @CondeNast

Last Year's Tracks