You are viewing content from a past/completed QCon

Presentation: A Brief History of the Future of the API

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

Location: Fleming, 3rd flr.

Duration: 10:35am - 11:25am

Day of week: Tuesday

Slides: Download Slides

Share this on:

What You’ll Learn

  1. Find out about the most important API frameworks and protocols used today, what they are good for and where to use them.
  2. Learn about migrating legacy systems from WCF to gRPC.

Abstract

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.

Question: 

What is the work you are doing today?

Answer: 

At this very moment, I'm working on a tool for .NET developers to migrate from WCF to gRPC, to migrate from a 10-years old legacy system for making APIs and distributed systems to up to date current standards and framework for doing that.

Question: 

What are the goals you have for the talk?

Answer: 

I'm hoping to show people how we got from the start of the whole idea of distributed systems and APIs, how we got from there to where we are today. How that evolution has happened and how it makes sense and what we should be focusing on and thinking about as we start building new APIs, or start building new distributed systems, but also how we can bring legacy systems into that space and update them and get them working alongside our newer code.

Question: 

Do you have preferences? Do you have opinions on which things to apply where?

Answer: 

If you're creating an API that you're going to publish and people can either connect to it for free or through some paid subscription, then generally a RESTful API, a straightforward HTTP returning JSON or possibly XML, is always better for that. It's much easier to dig in and explore an API if the things it returns are human readable. But for internal systems and communications between systems on an internal network, and especially microservices where you care much more about speed and efficiency, then gRPC is the current gold standard for that kind of API. But both of these things are obviously always subject to review because people come up with new things and new ideas and new ways of doing things. But certainly right at this moment, those would be the two things I'd recommend.

Question: 

What do you want people to leave the talk with?

Answer: 

I think a lot of people hear API and they just think HTTP and JSON, and I want to introduce those people to some of the other options that are available, and help them to understand why those other options might be a better choice for some of their use cases. Potentially in any audience I've been talking about WCF and gRPC for about a year now, and I ask the question "Who's using WCF?", and no hands go up. And then I ask "Who has legacy systems in their organization that are built with WCF?", and around 25% of the hands in the room go up. They've got these legacy systems. And so I want to talk a little bit about migration strategies to get from one thing to the other as well and to not get stuck with systems based on very old solutions.

Speaker: Mark Rendle

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

Mark has been developing software professionally for over 30 years, and has lived through many paradigm shifts in the way applications are designed, built and delivered. He now works as an independent consultant and teacher, helping people build cloud-native .NET applications and migrate their legacy .NET systems to .NET Core. At present, Mark is developing a new commercial product for .NET teams, Visual ReCode, which rescues code from obsolete frameworks like WCF and migrates it to current ones like gRPC. He is the co-author of the Microsoft e-book ASP.NET Core gRPC for WCF Developers, and a popular speaker at conferences around the world.

Find Mark Rendle at

Last Year's Tracks