Presentation : The Evolution of Your API and Its Value – Daniel Jacobson, Netflix

comments Comments Off on Presentation : The Evolution of Your API and Its Value – Daniel Jacobson, Netflix
By , October 18, 2013 1:04 pm

This full presentation was at the Mashery Business of APIs Conference in 2013.

Daniel Jacobson, Director of API Engineering at Netflix, discusses the evolution of the company’s API program using Simon Sinek’s ‘Start With Why’ framework. Jacobson stresses the importance of designing an API that answers the company’s philosophical needs before deciding how to best expose the platform to internal or external developers. Jacobson further explains why APIs are critical to the success of developer communities, business partnerships, internal development efficiencies and device proliferation.

Key Points:

  • Ensure system reliability and resiliency by scaling the API with the business
  • The advantage of optimizing systems for rapid innovation and improved product experience
  • Why it may be necessary to consider hardware constraints when designing an API

“We’re focusing on our streaming application — what Netflix is trying to do — and then we’re implementing a tactic, which happens to be an API, to accomplish that.”

The following is the video of the full presentation:

And here are the slides from this presentation:

The following is a short clip of the presentation that Mashery published, highlighting APIs as a Tactic to Advance Business Strategy.

The Next Web : Why You Probably Don’t Need an API Strategy

comments Comments Off on The Next Web : Why You Probably Don’t Need an API Strategy
By , September 15, 2013 6:30 pm

This article originally appeared on The Next Web on September 15, 2013.

“Strategy without tactics is the slowest route to victory. Tactics without strategy is the noise before defeat.” – Sun Tzu, The Art of War

Over the course of 2013, the API industry has matured a great deal. Not only have we seen many of the major vendors (ie. ApigeeMashery3ScaleLayer7, etc) get acquired and/or receive large rounds of funding, we are also seeing an uptick in new players, new tools and services, new publications, and even a series of API-focused conferences.

Meanwhile, according to a recent survey by Layer7, more than 85% of companies expect to have an “API program” within the next five years. All of this is evidence that the appetite for tools and information about APIs is robust. Accordingly, there is no shortage of people and companies attempting to satisfy that hunger. The question I have amidst this growth, however, is whether the concepts around API strategies being served by some is the right meal for those who are eager to feast on APIs.

The problem: “API Strategy”

The majority of the non-technical conversations in the API industry seem to be focusing on terms like “API strategy” and “API economy.” In fact, I even co-wrote a book called APIs: A Strategy Guide a couple of years ago, further facilitating the use of those words in the API vernacular. There is absolutely a strong case to be made for needing an API strategy for certain situations. But how many companies should really be thinking about their API in that way?

Before continuing, it is worth being clear on what I mean by the terms “strategy” and “tactic”. Bobby Ghoshal puts it nicely in his post, Greeks Gave us Strategy vs. Tactics: Now Understand the Difference where he says, “A strategy is a grand plan, a tactic is a specific measure implemented to push the grand plan forward.” Applied to APIs, if there is an API strategy then it means that API is the product in-and-of-itself. In other words, the API is the target of a distinct business and opportunity (with its own metrics), which will then have a range of tactics to support it.

There are certainly cases where APIs are businesses and where a strategy is appropriate. The most common example of an API strategy is around companies who aspire to build a developer community as a new revenue source or as the foundation of their business. Twilio is an interesting example of such a company. Twilio’s strategy is to offer APIs that tap into their backend services to allow developers to build apps supporting their communication initiatives.

In this case, the API is a strategy, one that is fundamental to the business as a whole. Accordingly, Twilio invests heavily in the API, supporting documentation for it, fostering the developer community, and all of the other things one would expect such a company to do for their public API (and some would suggest that they do this as well as or better than anyone else). Twilio should invest heavily in this — a significant portion of the opportunity is predicated on the success of the API program.

The reality: “API as a tactic”

But most companies should not be trying to set up distinct businesses with their APIs as the focal point. They should not be trying to generate new revenue streams or reach new audiences through such programs. Instead, most companies should be focusing on their core business and then designing APIs that support larger strategy.

In pursuing that route, most companies should not be discussing their “API Strategy,” they should be talking about their API as a tactic in support of their broader business strategy and objectives.

An example that I am very close to is Netflix. In the early days of the Netflix API when the program was targeted exclusively to public developers, the API had its own metrics and its own objectives, all of which were designed to support the primary goals of the company.

In this sense, the Netflix API was a product designed to offer incentives to developers to motivate them to build applications around the Netflix experience. These applications would hopefully reach new audiences to generate new subscribers and/or create new user experiences for existing subscribers that would increase their satisfaction with our service. Although the API was treated as a new product within Netflix, it was still operating under the company’s larger business objectives.

While the original vision was incrementally valuable to the company, the results were not as transformative as originally expected. As a result, we pursued a new approach with the API, using it to drive the larger strategy of device proliferation for our growing streaming business. In this sense, the API was transitioning from a product to a tactic.

Today, Netflix can be watched on more than 1,000 different device types, the vast majority of which are developed by Netflix-employed UI Engineers. The API served as an excellent engineering tactic that allowed us to quickly get on more devices, which in turn allows us to create a better overall experience for our customers.

More changes have since been made with the API. Most recently, the Netflix API team, which used to provide traditional REST APIs to the Netflix UI teams, is now providing content distribution platforms that enable data to be pushed from our AWS backend systems to the devices in people’s homes and pockets. We are no longer truly an API team, we are a team that embraces the differences of the different devices and empowers the UI teams to customize and optimize the request/response models needed for their specific device. In other words, we are now a platform for API development.

All of these pivots within Netflix further demonstrate that our API is nothing more than a tactic to achieve our broader goals. There are no allegiances to a tactical solution. Tactics can (and should) be modified, discarded and replaced as appropriate. Strategies, on the other hand, should have longer shelf-lives, evolving over time but less frequently overhauled.

The majority of companies that are considering API implementations, based on my conversations and experience in the industry, are more like Netflix than Twilio. There are countless examples of companies who have made similar pivots to refocus their API attention towards supporting the company’s primary business objectives. These examples range from media companies (NPR, The New York Times, The Guardian) to financial institutions (PayPal, E-Trade) to social media sites (Twitter, LinkedIn).

Even service companies like Amazon and Salesforce, whose systems are differentiated in part by their APIs, use them as a tactic to provide increased value for the primary business, which is providing robust services supporting cloud computing and CRM respectively.

The bottom line

The key to a successful API program is to know your audience. Your audience is defined by your business opportunity. So, be very thoughtful about the opportunity and then define your API accordingly. In some cases, pursuing the public developer opportunity is absolutely the right thing to do and it may have a tremendous upside (although realizing that upside is quite rare).

However, if your opportunity is truly to support a broader business objective, then launching a public developer program is not likely to yield large dividends. It is more likely to come with increased costs and risks that will weigh down your returns, dilute your resources for the larger opportunity, and distract you from the real prize. Instead, focus all of your energy on building a great system that helps you optimize for the larger goal. And don’t be married to that system as it is nothing more than a tactic.

Ultimately, if you know your audience, you can define a strategy and then design the right tactics. Otherwise, brace yourself for a very slow route to victory or, more likely, a noisy defeat.

This post originally appeared on The Next Web on September 15, 2013.

 

Presentation : Scaling the Netflix API – From Atlassian Dev Den

comments Comments Off on Presentation : Scaling the Netflix API – From Atlassian Dev Den
By , July 16, 2013 3:14 pm

This presentation was originally given at the Atlassian Dev Den in San Franscisco on July 16, 2013

The term “scale” for engineering often is used to discuss systems and their ability to grow with the needs of its users. This is clearly an important aspect of scaling, but there are many other areas in which an engineering organization needs to scale to be successful in the long term. This presentation discusses some of those other areas and details how Netflix (and specifically the API team) addresses them.

Presentation : Netflix API: Keynote at Disney Tech Conference

comments Comments Off on Presentation : Netflix API: Keynote at Disney Tech Conference
By , June 8, 2013 6:15 pm

In June 2013, Disney hosted what I believe was their first internal tech conference, to be hosted in Orlando at Disney World. They asked me to be a keynote speaker at this conference. Below are the slides from that keynote.

This presentation discusses the evolution of Netflix’s API architecture over time. It begins by explaining Netflix’s initial “one-size-fits-all” REST API model and how requests grew exponentially as more devices were supported. This led Netflix to move away from resource-based APIs to experience-based APIs tailored for specific devices and use cases. Key aspects of the new design included reducing “chattiness”, handling variability across devices, and supporting innovation at different rates. The document also discusses Netflix’s approach to versioning APIs and making them more resilient through techniques like circuit breakers and fallbacks.

Presentation : Techniques for Scaling the Netflix API

comments Comments Off on Presentation : Techniques for Scaling the Netflix API
By , May 9, 2013 3:13 pm

This presentation was initially published to Slideshare on May 9, 2013 and was used in several public appearances around that time.

Daniel Jacobson is the Director of Engineering at Netflix API. He discussed techniques for scaling the Netflix API, including moving from a resource-based API to an experience-based API model to improve efficiency. Netflix uses cloud deployment techniques like autoscaling and canary releases for development and testing. Resiliency is ensured through techniques like circuit breakers and fallbacks.

Panorama Theme by Themocracy