Presentation: A Brief History of the Future of the API

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

Location: Mountbatten, 6th flr.

Duration: 2:55pm - 3:45pm

Day of week: Tuesday

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

Find Mark Rendle at

Similar Talks

Monitoring All the Things: Keeping Track of a Mixed Estate

Qcon

Principal Engineer Operations and Reliability Programme @FT

Luke Blaney

3 Disciplines for Leading a Distributed Agile Organization

Qcon

Distributed Coach/Mentor & Community Cultivator

Mark Kilby

Preparing for the Unexpected

Qcon

Principal Engineer @FinancialTimes

Samuel Parkinson

Tracks

  • Architectures You've Always Wondered About

    Hard-earned lessons from the names you know on scalability, reliability, security, and performance.

  • Machine Learning: The Latest Innovations

    AI and machine learning is more approachable than ever. Discover how ML, deep learning, and other modern approaches are being used in practice.

  • Kubernetes and Cloud Architectures

    Learn about cloud native architectural approaches from the leading industry experts who have operated Kubernetes and FaaS at scale, and explore the associated modern DevOps practices.

  • Evolving Java

    JVM futures, JIT directions and improvements to the runtimes stack is the theme of this year’s JVM track.

  • Next Generation Microservices: Building Distributed Systems the Right Way

    Microservice-based applications are everywhere, but well-built distributed systems are not so common. Early adopters of microservices share their insights on how to design systems the right way.

  • Chaos and Resilience: Architecting for Success

    Making systems resilient involves people and tech. Learn about strategies being used, from cognitive systems engineering to chaos engineering.

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

    The humble web-based API is evolving. This track provides the what, how, and why of future APIs.

  • Streaming Data Architectures

    Today's systems move huge volumes of data. Hear how the innovators in this space are designing systems and leveraging modern data stream processing platforms.

  • Modern Compilation Targets

    Learn about the innovation happening in the compilation target space. WebAssembly is only the tip of the iceberg.

  • Leaving the Ivory Tower: Modern CS Research in the Real World

    Thoughts pushing software forward, including consensus, CRDT's, formal methods & probabilistic programming.

  • Bare Knuckle Performance

    Crushing latency and getting the most out of your hardware.

  • Leading Distributed Teams

    Remote and distributed working are increasing in popularity, but many organisations underestimate the leadership challenges. Learn from those who are doing this effectively.

  • Driving Full Cycle Engineering Teams at Every Level

    "Full cycle developers" is not just another catch phrase; it's about engineers taking ownership and delivering value, and doing so with the support of their entire organisation. Learn more from the pioneers.

  • JavaScript: Pushing the Client Beyond the Browser

    JavaScript is not just the language of the web. Join this track to learn how the innovators are pushing the boundaries of this classic language and ecosystem

  • When Things Go Wrong: GDPR, Ethics, & Politics

    Privacy, confidentiality, safety and security: learning from the frontlines, from both good and bad experiences

  • Growing Unicorns in the EU: Building, Leading and Scaling Financial Tech Start Ups

    Learn how EU FinTech innovators have designed, built, and led both their technologies and organisations.

  • Building High Performing Teams

    There are many discussions outlining the secret sauce of high-performing teams. Learn how to balance the essential ingredients of high performing teams such as trust and delegation, as well as recognising the pitfalls and problems that will ruin any recipe.

  • Scaling Security, from Device to Cloud

    Implementing effective security is vitally important, regardless of where you are deploying software applications