"How Do I Convince My Managers of the Importance of Having Internal APIs?"
One of the ways I develop content for this site is by talking through my day to day experiences as an API Evangelist. I feel that talking through what I’m learning in real-time, is the best way to make it stick, while also sharing with the public. There is a lot of value that comes out of my daily learning, and it would be wrong to not share this.
I had someone approach me on LinkedIn today and ask:
I'm trying to convince my colleagues and managers on the importance of having internal API, not just as a prologue to public API, but also as a way to have cleaner, better-understood interfaces internally for our developers. Do you have any thoughts or tips on the subject?
Internal evangelism is a big part of my role, and I know its something that other API advocates face as they are trying to sell the concept of APIs to decision makers within their company. Testing the water with APIs internally is the best way to get started, and learn what goes into planning, deploying and managing an API.
When trying to sell your bosses on APIs for internal use, I would start with:
- Decoupling - Deploying resources and your data within your company as individual RESTful resources decouple them, allowing them to consumed and managed independently. This kind of of decoupling of data and resources enable more agile scaling, migration and integration into a wide range of organizations and applications across your company. Consider how APIs have enabled Netflix to migrate from the data-center to the cloud, with unprecedented growth simultaneously, and also enabling them to grow globally.
- Product Management - Allocating your companies data and resources as independent RESTful APIs will simplify your product management allowing them to be defined, launched, deployed and even killed off independently of each other. This type of allocation will allow very granular ownership of each product, allowing product managers to own specific APIs or groups of API products, and scale product ownership with new managers as needed.
- Organization Interoperability - APIs enable much more flexible collaboration between different departments that may be geographically or organizational distant. With a growing virtual workforce, this type of interoperability will be key to companies being able to staff up and meet the demands of their growing businesses.
- Multi-Use - APIs will enable your companies resources and data to be used across multiple implementations from internal applications, websites, mobile and tablet devices without building out separate systems.
That is where I’d start with selling colleagues and managers on the importance of having internal APIs. APIs can introduce flexibility and agility not only into your IT and development operations, but also introduce a RESTful business architecture into your company.
In addition to the benefits APIs will introduce internally, all of this will set the stage for improved business development with your partners and your company will be primed, if and when you are ready to open up your APIs to the public.
The person who contacted me on LinkedIn got back to me with this:
Thank you. I showed your post to one of the managers here and it actually made him changed his mind. The next step it to persuade we need to use vendors such as 3Scale, Apigee or Mashery instead of building it all by ourselves.