Don't develop and operate your APIs – DevOps them!
To become successful with the implementation of your API strategy you must understand and embrace that we live in a rapidly changing world. No one knows what will be the next hot thing, but we can be sure that what is hot today won't be hot tomorrow. To make your APIs successful in this context, you need to develop APIs that are easy to modify, deploy, maintain and operate. You also need a plan to handle unexpected situations and manage them in an accurate manner. This is why we introduce DevOps thinking to your API endeavors.
The concept of DevOps is not new to the IT industry. Many organizations know that in order to be successful they must combine the work of the development and operations departments.
The objective is to build applications that are easier to maintain and operate by removing the boundary between these departments. A few organizations have even removed the label of ”Development” and ”Operations” and simply refer to their ”Devops” department or function.
Personally I think this puts a healthy view on the objective of the DevOps departments as their objective should be to deliver solutions to organizational issues or opportunities, rather than just a piece of software.
Imagining the future
In order to face the challenges of introducing APIs or to put it on a future API Marketplace we must think in a DevOps manner. We must be ready to take care of user feedback, to modify or add functionality, handle potential over usage, manage a failed deploy and a lot of other things that will occur when we start introducing our APIs. To be ready for this we need to plan and cooperate between traditional developers and operations staff. And these requirements should also be applied when designing and coding the API.
The reality is such that we often deal with very short deadlines. And we often face situations when time from decision to build an API to production date is very short. It is therefore likely that we will have a situation where we will release APIs that haven't been properly tested or QA'd. This is why we also need a strategy to both quickly deploy and undeploy or correct faulty APIs. This can be done effectively through a successful DevOps style cooperation.
DevOps thinking of APIs
- Your APIs WILL change over time
- You need to prepare for this already in the design of your API
- You need a versioning strategy to let your users of the API know where they are.
- Make sure that you deliver an API solution – not just a piece of software
- Make sure that your Development and Operations teams are aligned and cooperating on this – you might even want to DevOps them.
- Don't be afraid to deploy early – just be ready to undeploy or modify if you encounter issues.
- DevOps your APIs to be ready for change!
Other API Ready posts:
- API Ready Model Step 1 - Strategy and Organisation
- API Ready Model Step 2 - Design
- API Ready Model Step 4 - Visualize
- API Ready Model Step 5 - Security
- API Ready Model Step 6 - Test
- API Ready Model Step 7 - Monitor
- API Ready Model Step 8 - Infrastructure
- API Ready Model Step 9 - Analyze