What Is APIOps? How to Be Successful at It
This article compares APIOps to other X-Ops and what you can do in order to make your APIOps journey successful.
Join the DZone community and get the full member experience.Join For Free
Since the first introduction of the term DevOps, it seems that new 'Ops" related terms pop up as quickly as technology trends. For example:
- AIOPs: Enhance and automate various IT processes with AI.
- MLOps: Develop, deploy, and manage machine learning.
- FinOps: Optimizing and managing cloud cost.
- DevSecOps: Integrate security into the Software development lifecycle (SDLC).
- GitOps: Manage and deploy infrastructure and applications (code and configuration) using Git.
I bet the next Ops-related term will be ChatGPT-Ops ;-). Finally, an OPs term that has popped up in recent months is APIOps, but what does it mean, especially as APIs are not new and come in many different styles?
APIOps is an approach that utilizes the principles of GitOps and DevOps in deploying APIs. Similar to DevOps, APIOps facilitates streamlined modification and automated deployment of API changes into production. Just like DevOps, automation is a key pillar of APIOps, but to be successful at APIOps, you must consider more than just your automation pipelines. You need to adopt the principles associated with CALMS to be successful.
You should treat your API as a Product. This means that you need to move away from the technical. An API should not just be seen as a Jira task and should not just be the sole responsibility of software engineers. Your API should have a Product Manager assigned to help make adoption successful. Your product will have a roadmap, a lifecycle, and business success criteria.
DevOps teams use DORA metrics (DevOps Research and Assessment) to gauge their performance level and determine if they fall into the category of "low performers" or "elite performers." Adopting DORA metrics will give you an insight into the delivery performance of your CI/CD pipelines to get your API into production. DORA metrics:
- Deployment Frequency: How often an organization successfully releases to production.
- Lead Time for Changes: The amount of time it takes a commitment to get into production.
- Change Failure Rate: The percentage of deployments causing a failure in production.
- Time to Restore Service: How long it takes an organization to recover from a failure in production.
Make sure that when you're looking at the DORA metrics, you include items from an API-centric perspective. For example, introducing a breaking change to your API contract into production should be included in the 'Change Failure Rate' metric, especially if the change is unmanaged.
Success means adopting a lean approach to eliminate waste and focusing on delivering value to customers quickly and continuously. If a tree falls in the forest, does it make a sound? Similarly, if an API is not used in production, does anyone care? Don't rush into the implementation of the service of your API; first, make sure the success criteria are known. Implementation should wait until the API has been reviewed and approved by its potential consumers. For example, early feedback from consumers to show an API will address their use case/pain point.
Technical KPIs are table stakes for any API program; this would include transactions per second, error rate, latency, and tracking of the SLA of the API that you're providing to your consumers. In addition, you need to include more business-level goals to move to the next level of measuring what really matters. Below are some examples of what can be tracked:
- RoI (return on investment) KPIs, for example, is your API helping to drive direct or indirect revenue growth, or cost reductions if you hit the nirvana of API reuse, etc.
- Consumption KPIs: What is the growth trend in your API traffic monthly, or does your API help grow the ecosystem of partners onboarded to your organization?
- Engagement KPIs: Track the NPS (Net Promoter Score) of your API, or as your API is your product, are you tracking retention and churn?
Regardless if your API is targeted as private (consumed within an organization), partner (consumed by partners of your organization), or public (consumed by anybody interested in the API), you must have a vehicle to share your APIs and for you to receive feedback from your API consumers. This vehicle would be an internal API developer portal or a public Marketplace where consumers can discover and onboard/register to your APIs in a self-service fashion. Also importantly, for the evolution of your API, you need to be able, as API consumers, to provide feedback on the API so that it can evolve in the appropriate direction.
Applying the above DevOps principles to the API lifecycle, APIOps can help organizations improve collaboration, reduce time to market, deliver better customer experiences, and ultimately better business outcomes.
Opinions expressed by DZone contributors are their own.