Universal API Center - a truly comprehensive API catalog that warmly welcomes all your APIs!
Published May 31 2024 04:55 PM 3,602 Views

Silent yet powerful, APIs are the unsung heroes of our digital era! 

Welcome! Your presence here, fully engaged in this article, indicates an insightful understanding of the immense importance and catalytic role that APIs, or Application Programming Interfaces, play in shaping our technology-driven lives today!  

Findings show that businesses across sectors have been amassing APIs year after year, a trend that has sharply escalated in recent months due to groundbreaking advancements in the field of Artificial Intelligence (AI). 

Have you ever counted the number of APIs used within your organization? Moreover, do you know how many of these APIs are efficiently governed, securely managed, and observed to verify their compliance with service-level objectives? Quite probably, you don't - simply because managing these governance tasks isn't easy and often doesn't take the top priority.

Various factors contribute to the challenges of managing the API landscape: 

  • A key factor is the deployment of APIs across a vast selection of hybrid and multi-cloud environments. This encompasses SaaS applications, no code/low code platforms, cloud platforms utilizing containers and microservices, as well as legacy systems. Each of these environments possesses distinctive attributes that affect the API lifecycle and its effective governance. 
  • Another consideration is the diverse spectrum of API protocols, specifications, and architectural styles available. At present, REST APIs, primarily using the OpenAPI specification for newer APIs, enjoy the highest popularity. Nonetheless, it's crucial to note that the API landscape incorporates other protocols and specifications including but not limited to AsyncAPI, GraphQL, SOAP, WebSockets and more. 
  • Additionally, the enterprise scene features a diverse array of API Gateways and API management solutions. Numerous vendors offer a wide spectrum of services, extending from distinct API gateway functionality to complete lifecycle API management. These solutions make a major contribution to API management within a given scope. However, they often remain dispersed across different environments, cloud providers, and API types, adding to the difficulty of managing the complete API landscape. 

 

Introducing the Azure API Center, a comprehensive platform for all your APIs! 

apic2.png

Recognizing these challenges, Microsoft has launched the Azure API Center, which is now generally available. It offers a centralized API inventory for seamless API discovery, reuse, and governance, regardless of the API type, lifecycle stage, or deployment location. By addressing the critical need for a centralized API inventory, Azure API Center guarantees that the unprecedented growth of APIs augments, rather than hampers, the digital transformation through APIs.

 

Main benefits:

  • Build and maintain a comprehensive inventory of all APIs within your organization.

  • Encourage communication and collaboration between API program managers and developers to boost API reuse, quality, security, compliance, and productivity.

  • Implement efficient governing strategies to APIs to adhere to your organizational standards using custom metadata and analysis of API definitions.

  • Promote easy API discovery to encourage API reuse and enhance developer productivity with the help of AI assisted development powered by GitHub Copilot.

  • Boost API consumption to minimize the time it takes for the first API call. This guarantees security and standardizes usage in line with your organization's standards.

Browse the Azure API Center overview page to know more.

 

 

How to build a universal API inventory of all your APIs?

A Universal API inventory substantially boosts an organization's ability to manage any API, regardless of its origins or deployment location.

universal.png

 

This article will delve into the techniques for inventorying APIs from diverse sources, including API gateways and full life cycle API management solutions.

Firstly, you'll need to provision an Azure API Center resource if you haven't already done so. Comprehensive guides are available in the service documentation, detailing ways to accomplish this task using the Azure Portal, Azure CLI, or infrastructure as code such as Bicep or ARM.

Before you begin the process of inventorying your APIs, you should define the custom metadata that needs to be configured in the Azure API Center.

 

metadata.png

Both built-in and custom metadata can be utilized to effectively organize your APIs, environments, and deployments within your API center. By requiring specific metadata for APIs, environments, and deployments, you can enforce governance standards within your organization. API Center supports a wide range of metadata types, including objects, arrays and predefined choices.

 

Identifying custom metadata is a dynamic process. Initiate it by thoroughly exploring the entire API landscape, all the different sources and systems, and understanding the crucial properties necessary for correctly classifying APIs, environments, and deployments.

Tip! Begin with a compact set of properties and gradually incorporate additional custom metadata over time for an enriched catalog.

Follow this tutorial to configure the custom metadata in Azure API Center.

 

Inventorying your APIs

Now that you're ready to start inventorying your APIs, we're going to equip you with tools to import APIs from a wide variety of sources using samples from an open-source repo. This includes sources like Git source control systems, Azure API Management, Amazon API Gateway, Google Apigee API Management, Kong API Gateway, MuleSoft Anypoint API Manager, along with a generic import for other sources and API gateways. Get ready for a smooth and efficient import process!

 

Visit the public GitHub repository listed below to gain access to our provided labs. These guides will streamline your learning experience about the API Center inventory process.

https://aka.ms/apicenter/labs

 

For the import process, we're going to use the straightforward Azure Command-Line Interface (CLI) commands provided by Azure API Center. The Azure CLI is a versatile, cross-platform command-line tool designed to connect with Azure and perform administrative commands on Azure resources. It facilitates the running of commands through a terminal using either interactive command-line prompts or a script.

 

The inventory guides provided below feature scripts powered by Azure CLI. These can be seamlessly adapted and expanded to cater to your unique requirements and added to your automation workflows.

 

1.jpg

🧪Azure API Management

 Uses the import-from-apim command to bulk import your Azure API Management APIs into API Center. Please follow this guide for a more customized approach.  

   
2.jpg

🧪Amazon API Gateway

 Uses the AWS CLI to export REST APIs with all the available details and import the APIs into API Center with versions, API specifications and the relevant metadata. 

   
3.jpg

🧪Google Apigee API Management

Exports the Apigee APIs using Google Cloud CLI and then imports API details, revisions, definitions and deployments. Consider reusing this repo, that offers a custom approach migrating Apigee to Azure APIM.

   
4.jpg

🧪Kong API Gateway

Leverages the Kong Admin API that works with OSS, Plus and Enterprise Kong API Gateways to export APIs and import them into API Center. You can easily extend this lab to work with Kong Konnect.
   
5.jpg

🧪MuleSoft Anypoint API Manager

Exports the MuleSoft  Anypoint envs and respective API artifacts from API Manager using the Anypoint Platform CLI and loads everything into API Center. You can extend this lab to load Exchange assets.
   
6.jpg

🧪Git version control systems

 Clone the Git repository to your local file system and start crawling the files to identify valid API specifications. These specifications are then imported into API Center.

 

 

7.jpg

🧪Generic OpenAPI specs

Uses the API OpenAPI specification as the source of truth to register the API with version, definition, and associated deployments  in a single command. Reuse this lab for other sources and API gateways.

 

Next steps?

With the inventory guides provided, you are able to consolidate in a unified catalog all the APIs used throughout your organization!

To keep the API Center always updated, you should encourage your developers to maximize the use of API Center VS Code extensions for APIs being built with an API-first or code-first approach. It is even better to automate the process with CI/CD workflows. This not only facilitates efficient API registration directly from VS Code but also streamlines the overall API supply chain.

 

You are now prepared to enhance API governance and boost the quality and security of your API landscape. Azure API Center offers the capability of performing automatic linting and analysis on API definitions in accordance with your organization's API style rules. This feature ensures enhanced API quality, promoting consistency and the highest standards in API usage within your organization.

 

When you are confident your APIs are consolidated in a single, organized view for optimal quality, it's time to promote discovery and API usage. For that Azure API Center provides different interfaces to meet users where they are:

  • The Azure Portal provides robust API Center discovery capabilities for administrators, operators, and developers, among others, right out of the box with the UI or the Azure CLI.
  • API Center provides the API Center portal as an open-source project to enable full customization. It provides a platform for developers and other stakeholders within your organization to explore APIs and delve into specific API details with ease. This uses the highly versatile API Center Data API, enabling effortless integration with any existing tool.
  • VS Code with the API Center extension. With the API Center extension for VS Code, you can effortlessly discover APIs and API definitions in your Azure API Center. Employ the GitHub Copilot Chat agent in conjunction with Azure API Center extension for Visual Studio Code to enhance your coding experience. The chat agent, @apicenter, along with additional features provided by the Azure API Center extension, proves tremendously beneficial for developers. These tools not only assist in discovering, testing, and utilizing APIs but also help maintain developer's productivity momentum.

We're eager to hear your thoughts! Kindly leave your comments below or contact the API Center product team. We warmly welcome your feedback, as it helps us immensely by highlighting areas for improvement. Whether it pertains to your experiences, problems, or feature requests, we are always ready to listen and evolve.

 

Thank you!

2 Comments