What Can We Learn from Amazon About APIs
There is an infamous email from Jeff Bezos in 2002 that was presumably issued to all Amazon employees. The point of the email was that all teams were mandated to expose their functionality through service interfaces. In today’s terms, Jeff was mandating that the company build everything to be shared through APIs.
Here is a breakdown of the reported communication from former Amazon employee Steve Yegge:
1) All teams will henceforth expose their data and functionality through service interfaces.
2) Teams must communicate with each other through these interfaces.
3) There will be no other form of interprocess communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter.
5) All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.
6) Anyone who doesn’t do this will be fired.
7) Thank you; have a nice day!
You might see this as a very tech savvy leader getting deep into the technology execution weeds and mandating an architectural approach, but if we dissect some of the key points in Bezos’ email, I think you will see that Bezos clearly understood that the ability to decouple and share data and functionality was more than technology. It would be the cornerstone they would build the next generation of their business on.
Amazon Web Services was born out of this strategy in 2004. Today, if the AWS business were a stand alone business it would be valued at $160 billion. That is a pretty impressive shift that resulted in a very successful business. How did Bezos’ mandate lead to that?
All teams will expose their data and functionality through services. The number one challenge that I hear from marketing and business leaders today is that they cannot get the data they need from the enterprise or the data they get is periodic and they need it in real-time.
Teams must communicate with each other through these services. Today, this is referred to as “dog fooding”. How do we know our services work? Because we use them every day, for everything we do. Although, the finer point in this communication is the word “must.” This is a directive from the chief officer of the company. This isn’t a technological work of art dreamed up by an Enterprise Architect in a basement somewhere that we can take or leave. Bezos understood. If Amazon was to become the company he envisioned, this was paramount.
All service interfaces, without exception, must be designed from the ground up to be externalizable. There are two finer points here. First, if we are going to grow successfully, we will need to be able to quickly and efficiently consume our own data. Therefore, if it is written and documented in a manner simple enough to share externally, it will be ideal for internal consumption. Second, we will be able to grow and realize future opportunities if all of our data and services are available for business opportunities that we have not yet conceived. The ability to quickly surface data and capabilities to new business partners, customers and vendors was key to Amazon’s growth.
So the lesson to be learned from Amazon is “data is the currency of the digital economy” and every company, without exception, will succeed or fail based on their ability to consume data from outside the enterprise and source data from inside the enterprise.
Much like the Roman aqueducts were a system for getting water from one place to another, APIs are a system for moving data, but the success of the aqueducts was not in the availability of water. It was in the many ways the water was used. It transformed the way people lived.
The API Movement is greater than the technologies that move data. As Jeff Bezos illustrated in his communication, successful business leaders will understand the power of having data readily available.
What should my business be doing?
1) Educate corporate leaders. Help them understand what the API Movement is about, what opportunities you are facing because of a lack of data availability or interoperability with folks outside the enterprise.
2) Gain corporate leadership buy-in and ownership. Corporate leaders cannot passively agree. The sole reason that Amazon succeeded in transforming its business so quickly was the services approach was a directive from the top down, not a good idea or an option.
3) Craft a road map that will follow this progression:
a. Build and consume your own services (dog fooding)
b. Transform your current data collection and data exposure into a services strategy
c. Realize the opportunities to transform your business based on your new expert capabilities