Taking a Product Perspective to API Lifecycle Management

Taking a Product Perspective to API Lifecycle Management

Posted in

More and more companies are beginning to construct their technology to be API-driven. But as this newfound practice becomes more commonplace, API sprawl can easily result in fragmentation and inconsistencies. Without stable management and a plan for change from the start, APIs can, over time, become disjointed and cause breaking changes in client integrations.

Enter API lifecycle management. The API lifecycle can be thought of in multiple stages, from the design stage through development, documentation, maintenance, and eventual retirement. And at each phase in this journey, specific roadblocks may present themselves. Therefore, lifecycle management helps bring more consistency and governance to each part of an API’s life.

A recent Nordic APIs event focused exclusively on API lifecycle management — specifically, the approaches required to continually evolve APIs while retaining stability. Below, we’ll highlight each presentation and cover the main takeaways from the event. We’ll see why taking a product management approach to API management is helpful and take the consumer’s viewpoint to understand how to avoid breaking changes.

Our API Lifecycle Management LiveCast featured Erik Wilde and Marjukka Niinioja. Watch the recording here:

Understanding API Lifecycle Management

So, how do we implement API lifecycle management? Especially when a web API product lifecycle can be more complex than your typical Software-as-a-Service? To implement effective lifecycle management for APIs, an organization will likely require standardized definitions, internal style guides, and common versioning schemes.

To apply these areas consistently, many organizations turn to an API management platform. And there are numerous vendors throughout the market specializing in areas like monitoring, security, testing, development, documentation generation, or monetization. A handful of these vendors offer all these features in one package and can be considered lifecycle management solutions.

In general, focusing on lifecycle management can bring many benefits to an API strategy. For example, centralizing these efforts can help improve development collaboration and retain backward compatibility. Proper management helps maintain a secure, updated footprint that avoids zombie or shadow APIs. Lifecycle management also helps continually evolve services with the customer in mind.

This last note is essential to help avoid breaking changes since API consumers rely heavily on the stability of endpoints and their responses. There’s a big Catch-22 here — because although REST designers strive to build APIs “on the scale of decades,” as Fielding would say, they must simultaneously respond to new digital demands.

Business, Product, And Consumption

Erik Wilde encourages taking a product management approach to an API strategy that is built on true business value.

Erik Wilde encourages taking a product management approach to an API strategy built on true business value. For more insights, check out his ‘Getting APIs to Work‘ YouTube series.

Seriously applying API lifecycle management is an important consideration, but we must first decide which APIs are worthwhile to pursue, says Erik Wilde. To do so, it’s necessary to take a bigger picture that considers the business vision, the product mindset, and a focus on API consumption.

When looking at the business vision, it is important to ask why the APIs are being implemented in the first place. Technical aspects, such as 1:1 connections, are important, but the end goal should be to create reusable business components that are consumed by multiple parties. These desired business outcomes should be front-and-center, but you may have to dig deep to find this purpose. Wilde echoes the words of the Spice Girls: “tell me what you want, what you really really want.”

Secondly, treating APIs as products is also important. As Wilde reminds us, a product is something that is marketed or sold as a commodity. Similarly, APIs should be designed to be reusable for multiple consumers and should reflect their average needs. Once you have identified well-suited APIs for these purposes, investing in API lifecycle management makes more sense.

Finally, it is important to focus on API consumption. APIs should be easy to find and use and should be marketed with a one-to-many relationship in mind. APIs must be accessible and self-serviceable through portals and catalogs, and organizations should focus on creating blueprints that can be consistently applied to multiple APIs. Such best practices could be established and disseminated by an API center of enablement (CoE). Ultimately, it is important to ensure that APIs are aligned with the business strategy and are treated as products.

Taking The Consumer Perspective

API expert and consultant at Osaango, Marjukka Niinioja pioneers what she calls the APIOps Cycles method. Learn more about it here. https://www.apiopscycles.com/

API expert and consultant at Osaango, Marjukka Niinioja pioneers what she calls the APIOps Cycles method.

Versioning is an essential strategy for any software-as-a-service (SaaS) company. But with APIs, there are many potential risks of making changes that could affect consumers. When we discuss breaking changes, people typically associate it with semantic versioning. However, many things other than the version number can cause breaking changes. For example, this might arise when switching between authentication methods. Or, a new response formatting could cause broken integrations. Even response time and latency changes could have unintended consequences.

This reality is outlined by Hyrum’s Law, which details the “implicit interface” an API provider has with its consumer, regardless of the formal documentation or contract in place. On the converse side, if a feature in an API isn’t used, it can’t break, says Niinioja. This is empowering to realize, yet API providers need data backing this up to ensure new changes actually don’t break client interactions. And collecting this data will likely require granular API monitoring.

To effectively manage an API, a company needs to understand the pace of business, the perceived change, and the impact of those changes on its customers. Interestingly, Niinioja also describes the power dynamic between an API-as-a-product company and its consumers. Depending on who has the proverbial upper hand, either side might influence how an API is evolved and versioned.

Many of these points are covered within Niinioja’s APIOps Cycles philosophy, which is an open and lean method of understanding the evolution of an API over time and how it affects the different products and endpoints. Depending on the size of the company and its legacy support agreements, there may be multiple product versions running simultaneously, and companies must introduce tools and capabilities to avoid unintended changes.

API Lifecycle Management: Final Thoughts

As we’ve learned, an effective API management strategy requires a holistic view of product management, the business side of things, and the consumer’s point of view. Making sure to balance the needs of all stakeholders is essential. Additionally, understanding Hyrum’s Law and how APIs can create implicit interfaces, and the importance of careful versioning are all important factors to consider.

With the right strategy and the right resources, companies can effectively manage their API versioning. And by taking all of these elements into account, companies can ensure their API management strategy is successful.

By the way, we’re always looking for new topics to explore within our LiveCasts and blog. If you have an idea that you’d like to share, feel free to submit to talk at one of our events, or submit your idea to the blog here.