Apollo CEO Bullish on GraphQL’s Potential in the Enterprise
With $130 million in new venture funding and a valuation in excess of $1.5 billion, Geoff Schmidt, the CEO and co-founder of GraphQL-backer Apollo, has a lot to be excited about. But the way Schmidt sees it, Apollo is just getting started, as he thinks GraphQL has the potential to fundamentally rewrite the rules of enterprise IT.
“We think it’s going to be as big as virtualization or as big as big data,” Schmidt says. “We think every enterprise is going to need a graph strategy.”
GraphQL, you will remember, is an open source technology created by Facebook to simplify how developers access APIs. Like many large companies, Facebook relies on APIs to get data from its servers to all the Web browsers and mobile clients that it supports. However, Facebook’s developers experienced an impedance mismatch between how they thought about their data and what the server actually demanded.
“We were frustrated with the differences between the data we wanted to use in our apps and the server queries they required,” writes GraphQL creator Lee Byron in a 2015 post on the Facebook Engineering blog. “We don’t think of data in terms of resource URLs, secondary keys, or join tables; we think about it in terms of a graph of objects and the models we ultimately use in our apps like NSObjects or JSON.”
The amount of handwritten code was also dragging on the Facebook developers, so they decided to come up with something new: a graph-based query language for data, or GraphQL.
Technically a query language and a runtime, GraphQL has many advantages over REST approaches, which first emerged around the turn of the millennium. Instead of REST’s all-or-nothing approach, a GraphQL query can specify the exact data elements requested, which can cut down on processing and network requirements. GraphQL’s hierarchical nature allows it to more naturally follow the relationships between objects. The fact that it’s strongly typed lends to support for type checking out-of-the-box, while is adherence to a schema provides better predictability in query results.
The benefits of GraphQL accrue predominantly to the mobile and Web developer, who no longer must toil in writing line upon line of static REST code to pull data from databases and assorted other data repositories. By working within the GraphQL syntax, the developer works at a different abstraction layer, writing much less code, and leaving the nitty-gritty details to the GraphQL innards.
“I think it’s clear to everybody that there is this missing layer of the stack and this niche that it fills,” Schmidt tells Datanami. “There’s so much stuff in the cloud now that you need to connect to, so many services. There are so many places you’re trying to deliver that [data]. The old way of writing a bunch of hand rolled, backend or frontend code or using REST APIs or point to point connections–that’s just not working for everyone anymore.”
“I think it’s pretty clear that, for people who are building more complex [applications] or are a little bit farther ahead of the curve, it is become a standard for how you access [data],” he says. “You have a lot of different data sources in an enterprise you need to bring together, I think it’s definitely the standard for that.”
By inserting GraphQL as an abstraction layer between the clients that are requesting the data and the servers that are fetching the data, application developers are freed from having to worry about getting the code to power the microservice perfect. They just describe the data they’re after, and “the graph” does the rest.
“If I’m an application developer in the enterprise, I can look at all the data and services that span dozens or hundreds of teams, and I don’t have to know where any of those services live or how to access them. It’s an abstraction layer, in other words,” Schmidt says. “And you can absolutely just slide it right in. We knew that if you had to do a lot of work to integrate with the backends, it wouldn’t be easy.”
Schmidt uses Apollo customer Expedia as an example of the power of GraphQL. The popular travel website was facing competitive pressure from Google, which had just started allowing customers to buy plane tickets directly from the search results page. Expedia needed to consolidate all of its various travel products and services into a single logical entity to continue offering a differentiated experience, which had the makings of an integration nightmare.
“The challenge for them is how do you bring that together for one experience,” Schmidt says. “That’s what Expedia Trips is all about. Let’s not just sell you a plane ticket–let’s bring together flights and hotels and rental cars and all of the wisdom and intelligence that Expedia has about how to travel, all the data they have, all the service.”
Expedia used GraphQL and the Apollo tooling to build Expedia Trips in about a year, as opposed to the three years initially scoped out. “What’s that worth?” Schmidt asks. “Google is coming at you, trying to commoditize your business, and you can bring a really defensible, differentiated solution that leverage all of your strengths as an enterprise to market in one year instead of three. I think that’s pretty incredible.”
Many of the use cases for GraphQL involved customer-facing applications, including websites and mobile applications. But Schmidt sees GraphQL bringing benefit for business-to-business use cases too, particularly when the number of individual REST-based microservices starts to grow and become hard to manage
“It’s an even tougher problem when you’re trying to share data across companies. You need this abstraction layer even more,” Schmidt says. “The people building REST applications, it’s really tough for them to anticipate the way that a partner is going to use that API, and that creates really powerful use cases–an even more powerful use case I’d say–for a graph for partner-to-partner integration.”
Schmidt has lots of plans on how to spend that $130 million, raised in a Series D round led by Insight Partners. The potential for GraphQL-enabled marketplaces of data services, for example, is an obvious one that could (or could not) be on the agenda at Apollo (Schmidt says he has nothing to announced).
“It’s going to become the standard for how we enable partners to access all of our data and services,” Schmidt says. “I think it’s going to unlock partnership and integration that we couldn’t have even had had before, maybe weren’t even thinking about, when it’s now so easy to integrate my services with your service and go to market together.”
When you consider the competitive pressured for enterprises to offering compelling experiences, and the substantial technical barriers that exist to connect established backend data processing systems to new front-ends, there is clearly a need for a technological accelerant to get companies from A to B. Schmidt clearly likes GraphQL as that where he is at, and is enthusiastic about the potential of GraphQL.
“This is really the technology that lubricates the digital value chain,” he says. “We’re seeing people who aren’t just connecting one thing to another thing. They’re putting the graph at the center of their of strategy, for how they create value out of their whole investment on the backend. They’re going into it in a big way.”