API Automation: 5 Areas to Focus onby@crafter
372 reads
372 reads

API Automation: 5 Areas to Focus on

by Collin RafterOctober 18th, 2022
Read on Terminal Reader
Read this story w/o Javascript
tldt arrow

Too Long; Didn't Read

API automation is a key enabler for organizations looking to accelerate their API programs through streamlined processes and enhanced productivity. But it goes beyond automated testing. In this article, we’ll look at 5 key areas of automation to focus on for maximized success, as well as some challenges and benefits of doing so.

Companies Mentioned

Mention Thumbnail
Mention Thumbnail
featured image - API Automation: 5 Areas to Focus on
Collin Rafter HackerNoon profile picture

API automation is a key enabler for organizations looking to accelerate their API programs through streamlined processes and enhanced productivity. But it goes beyond automated testing.

In this article, we’ll look at 5 key areas of automation to focus on for maximized success, as well as some challenges and benefits of doing so.

API automation? I thought that was just another name for API testing!

When we talk about API automation, first thoughts often go straight to API testing automation - the automatic validation that an API meets its predicted functionality, performance, security, and reliability. This is because API automation testing tools have been around for quite a long time and are commoditized in the market.

However, a more accurate meaning of API automation is the removal of manual effort, or streamlining, of any aspect of an API’s development lifecycle. We can also extend its meaning to automating interactions with APIs too (e.g. automated discovery which we’ll cover later). And of course, it’s not just APIs we’re working with, it’s legacy web services, as well as modern technologies being increasingly adopted such as Async API, GraphQL, and gRPC to name a few.

The time to embrace the full realms of API automation is now. Postman’s 2022 State of the API report found that developers are now spending 51% of their time on APIs. That coupled with growing burnout rates means we increasingly need to help developer talent do more with less, and it’s not just developers; architecture teams are often lean and tasked with urgently building out the connective tissue between what the business wants and what IT has in place to deliver. API automation can help with both. Mature enterprises are using automation to go faster, remove manual errors, and provide a force-multiplier on technical talent.

With that in mind, here are 5 areas of API automation we should all be embracing to maximize our enterprise’s potential.

5 Areas of API Automation to Embrace

1. Automating API Design and Build

With many of us moving to a design-first approach to API development (i.e. an outside-in approach, designing a specification before any code is create), so comes an opportunity for automating extra aspects of API design for faster time to market, such as:

  • Linking the business value in contract-based development to what is produced at the code level to automatically define, create, and deploy artifacts.

  • Providing specification metadata default values and type ahead editing for payload creation etc.

  • Automating versioning and enabling cloning of versions from existing specifications

  • Automating model management so that API designers can leverage reusable elements to quickly create consistent data structures

If working with a catalog, there’s also opportunity for automating API generation and population into the catalog. This can help make it much easier to register all APIs into one central holistic catalog and ensure it’s always active and in-sync with the API, Services, and Events that live out in the enterprise ecosystem.

Finally, automating parts of the API build process can ensure we’re only deploying consistent and complete artifacts to our runtimes. Candidates for auto-generation include artifacts such as code snippets, configuration, documentation, contracts, internal/external consumer & partner offerings.

2. Automated API Lifecycle Management and Governance

Automating activities throughout the lifecycle can not only help speed up development, but also ensure APIs produced are high-quality and reliable. This can include bypassing manual tasks in areas such as:

  • Lifecycle state change management (including automated approvals and workflows) - so providers can easily and quickly follow a well-defined process
  • Governance - to help find the mature governance sweet spot - configurable with a balance of centralized and federated rules and checking to ensure completeness, compliance, and consistency
  • Automated audit history to easily see how services have changed overtime
  • Automated communication and feedback across the lifecycle between providers and consumers e.g. this change is coming up it will affect you this way - notify that vs having to manually reach out to all consumers
  • Automate feedback and tracking of design vs runtime - are SLAs being met? Have any new versions been released etc? This also helps with API discovery as we’ll discuss next

3. Automated API Discovery

Automating the API discovery process can help drive reuse, improved API consumer experience, and better planning and prioritization by collaborative cross-functional teams. And we should be looking at automating internal discovery as well as that which we’re already seeing in the external API marketplace/hub space.

The first area for potential automation centers on being able to accurately show users what they should see, when they should see it. An example of this would be showing consumers only curated reusable APIs in their view of the organization’s catalog (i.e. the versions that are relevant for them, approved-for-reuse, reliable, and complete). This extends to automatic notifications for consumers when an API they’re using changes, as well as the automated feedback and sync between design and runtime we’ve covered prior.

The second area is around understanding maturity: automatic reporting on KPIs and metrics that matter to the business most. For example, how many of our business capabilities are exposed as APIs? How much of the catalog is compliant against our governance model? How many APIs are reusable, and what is the rate of reuse and adoption?

4. Automated Damage Control

Even in the most mature and robust of API programs, things can go wrong, be it with the APIs themselves or the backend systems supplying the functionality and/or data. If we can automate damage control, alongside established and growing trends of API monitoring and API observability respectively, we can drastically improve error mediation. Imagine for example; one of our systems goes down, we can have an automated workflow that tries to reboot the system three times, and if not back up and running after that, can escalate to the right person and/or system.

5. Bonus: Automated User Journeys

Being able to define a well-structured User Journey is one thing, but to remove redundant design, build, and deploy activities that allow users to make a large impact without large resources remains key in today's fast changing tech landscape.

There are several layers to the Provider and Consumer journey that can be automated; ranging from organizational/capability hierarchy alignment down to data level, consumption expectation, and everything north, south, east, and west. Identifying helpful automations related to APIs, Services, and Events is not a difficult task, opportunities are everywhere! However, we need to tie those automations to a framework that allows consistent and permeable automating across business domains.

Like the API space in the early days, it was clear we had a better way of interacting with data but for anyone who was not involved in the development of a specific API, it was difficult to locate and leverage it. The automation space associated to APIs is experiencing a similar effort where the value is clear, but the discoverability and reusability is not. Unless it is tied to a framework that tracks how the ecosystem is working. By defining an end-to-end framework of user journeys clearly laid out alongside the automations, Enterprises can organically improve the ecosystem.

Challenges of automating

Of course, it’s important to recognize that there are some hurdles to overcome with implementing automation in our enterprises.

The first is working out which parts of existing workflows and processes we actually want to automate, as well as the user journeys for which they’ll be applied. For example, we recently spoke with a large bank who wants to automate governance checks and validation for providers, but requires a manual approval process for all APIs before they are deployed. Meanwhile, another banking customer we work with is in the process of automating their entire approval process. Needs also change over time; what needs to be manual now may be an automation candidate now, and vice versa.

We can overcome this challenge by taking the time to collect raw ideas and develop our automation strategy and build configurability into it as we go.

The second challenge is whether to build or buy the automation areas we want to incorporate. Where areas such as testing are becoming commoditized in the automation space, some of the newer areas we’ve discussed today are still emerging. The build vs buy debate is never ending, but as a rule of thumb we can lean towards building that which is part of our core business and supports our mission statement, while looking to buy that which supports the process of reliably exposing that core business.

The final key challenge we’ll mention today is how to integrate automations we’ve built or bought into our existing landscape. The goal state is a sort of automation ”hub” where we can plug things in to our existing people, process, and technology to reap rewards fast and smooth the transition from manual tasks.

Leverage API automation for productivity, quality, and overall digital maturity

Finally, to recap on the benefits of API automation in a wider sense, we’re seeing increasing:

  • Digital efficiency and business agility, while minimizing over-proliferation of APIs (and other service types) and resulting technical debt
  • Productivity and enablement for hard-to-find technical talent e.g., developers being able to focus more time on business logic and customer experiences, and less time on integration plumbing
  • Improved quality, reliability and compliance: programs that are only generating consistent artifacts
  • Business and IT collaboration through an expanded audience for and participation in our API programs

Embrace the full potential of API automation today!