Microsoft Azure API Management Service
Tags: javascript, webdev, programming, azure
Published: 2023-04-29 14:44:19

## Introduction 
An overview of frequent scenarios and important Azure API Management components is given in this post. Azure API Management is a hybrid, multi-cloud management tool for APIs in all settings. API Management, a platform-as-a-service, provides the entire API lifecycle.
APIs make data and services reusable and widely accessible, simplify application integration, support new digital goods, and enable digital experiences. Due to API growth and reliance, businesses must manage them as first-class assets throughout their lifecycles.  
 
## Customers can overcome these difficulties with Azure API Management 
1.Abstract backend architecture diversity and complexity from API consumers
2.Securely expose services hosted on and outside of Azure as APIs
3.Protect, accelerate, and observe APIs
4.Enable API discovery and consumption by internal and external users






## Typical situations include 
### Unlocking legacy assets 
To make legacy backends accessible from new cloud services and cutting-edge apps, APIs are employed to abstract and modernize them. APIs enable innovation without the dangers, expenses, and delays of migration.
### API-centric app integration 
To expose and access data, applications, and processes, APIs are simple, standards-based, and self-descriptive techniques. They streamline and lower the price of app integration.
### Multi-channel user experiences 
User experiences like web, mobile, wearable, or Internet of Things applications are commonly made possible using APIs. Use API repurposing to hasten development and ROI.
### B2B integration 
APIs that are made available to partners and clients minimize the barrier to integrating corporate operations and transferring data between commercial entities. APIs get rid of the complexity that comes with point-to-point integration. The main instruments for scalability in B2B integration are APIs, particularly when self-service discovery and onboarding are enabled.
## API Management components
A developer portal, a management plane, and an API gateway make up Azure API Management. These elements are by default fully managed and hosted by Azure. Different degrees of API management are available, with capacities and capabilities varying. 
## API gateway
The API gateway receives all requests from client apps and routes them to the appropriate backend services. As a front for the backend services, the API gateway enables API providers to abstract API implementations and modify the backend architecture without affecting API users. Through the gateway, routing, security, throttle, caching, and observability can all be configured consistently.
more particularly, the gateway
• Accepts API calls and routes them to the proper backends to serve as a front for backend services.
• Checks API keys and other credentials, like certificates and JWT tokens, that are presented during requests.
• Enforces rate caps and usage limitations
• Eequests and responses can be optionally transformed in accordance with policy statements.
• Caches responses if specified, reducing the burden on backend services, and improving response latency.
• Emits data for monitoring, reporting, and troubleshooting, including logs, metrics, and traces.
## An independent gateway
To maximize API traffic and guarantee adherence to regional laws and regulations, customers can use the self-hosted gateway to deploy the API gateway in the same settings where they host their APIs. Customers with hybrid IT infrastructure can manage on-premises and cloud-hosted APIs using the self-hosted gateway from a single API Management service in Azure.
The self-hosted gateway is packaged as a Docker container that runs on Linux and is frequently deployed to Kubernetes, including Azure Kubernetes Service and Azure Arc-enabled Kubernetes.
## Management aircraft
API providers interact with the service through the management plane, which provides full access to the API Management service capabilities.
Customers interact with the management plane through Azure tools including the Azure portal, Azure PowerShell, Azure CLI, a Visual Studio Code extension, or client SDKs in several popular programming languages.
Utilize the managerial approach to 
1.Provision and configure API Management service settings
2.Define or import API schemas from a wide range of sources, including OpenAPI specifications, Azure compute services, or WebSocket or GraphQL backends
3.Package APIs into products
4.Set up policies like quotas or transformations on the APIs
5.Get insights from analytics
6.Manage users
## Integration with Azure services
To build enterprise solutions, API Management interfaces with other complementing Azure services, such as 
1.Azure Key Vault to manage and store client certificates and secrets securely
2.Logging, reporting, and alerting on management operations, system events, and API calls using Azure Monitor
3.Application Insights for end-to-end tracing, live analytics, and troubleshooting
4.Application Gateway, virtual networks, and private endpoints for network security
5.For developer identification and request authorization, use Azure Active Directory
6.Hubs for events that stream
7.Building and hosting APIs on Azure typically make use of several Azure compute products, such as Functions, Logic Apps, Web Apps, Service Fabric, and others.
## Core Concepts About API Management
### APIs
An API Management service instance is built on APIs. For app developers, each API represents a set of operations. Each API has a map of its operations to backend operations and a reference to the backend service that implements the API.
With control over URL mapping, query and path parameters, request and response content, and operation response caching, API Management operations are highly adjustable.
### Products
APIs are revealed to developers through products. Products in API management can be open or secured and have one or more APIs. Open products can be consumed without a subscription key, whereas protected products do.
A product may be published after it is prepared for use by developers. Developers may view or subscribe to it after it has been published. At the product level, subscription approval can be set to either automatically approve subscriptions or require administrator permission.
### Groups
Groups are employed to control a product's developer visibility. There are the following built-in groups for API Management 
#### Administrators 
Create the APIs, activities, and products that developers utilize, and manage API Management service instances.
Administrators of Azure subscriptions are included in this group.
#### Developers 
Authenticated users of your developer portal who create applications with your APIs. Developers are given access to the developer portal where they can create applications that use API functions.
#### Guests 
visitors to the developer portal who are not signed in, such as potential clients. Certain read-only access can be given to them, allowing them to examine APIs but not use them.
### Developers
The user accounts in an API Management service instance are represented by developers. Administrators can create new developers, invite them to join, or allow them to register through the developer portal. Each developer belongs to one or more groups and has the option to subscribe to the goods that provide those groups visibility.
For usage when calling a product's APIs, developers who subscribe to a product are given access to both the primary and secondary keys.
### Policies
With policies, an API publisher can configure an API to change its behavior. Policies are a set of instructions that are applied sequentially to an API's request or response. XML to JSON format conversion and call-rate limitation, which limits the number of incoming calls from a developer, are common statements. See API Management policies for a comprehensive list.
Unless otherwise specified by the policy, policy expressions can be used as text values or attribute values in any API Management policy. Some policies, including the set variable and control flow policies, are built using policy expressions.
Depending on your needs, policies can be implemented at several scopes, including global (all APIs), a product, a particular API, and an API action.
## Some Key Features in API Management 
### With unified API administration, move more quickly.
API designs are being used by forward-thinking companies today to speed up growth. You may streamline your work in hybrid and multi-cloud environments by managing all your APIs in one place.
### In-house and cloud API management
Optimize API traffic flow by deploying API gateways alongside APIs hosted in Azure, alternative clouds, and on-premises. Enjoy a uniform administration interface and full observability across all internal and external APIs while meeting security and regulatory standards.
### Contribute to resource protection
Applying authentication, authorization, and use restrictions will allow you to limit the access that workers, partners, and customers have to data and services. 
### Accelerate your business
By using API-first strategies, you can create apps more quickly and offer your clients immediate value. By using API mocking, API revisions and versioning, and automated API documentation, you can separate the front-end and back-end teams. Discover how Wegmans, a grocery store company, developed a new mobile application in under eight weeks. 
### Increasing API discovery
For each of your APIs, create a personalized developer portal. APIs may be easily managed and shared with internal employees, outside partners, and clients.
### Improve your current services
Create facades for your back-end services to automatically convert outdated web services into contemporary REST-based APIs. Discover how developers are changing development using Azure API Management from pioneers like Vipps, a prominent payment provider in Norway.
## Conclusion
Keep all your APIs hidden behind a single static IP address or domain and for added security, use IP filtering, keys, and tokens. Apply flexible and precise rate limitations and quotas. Use policies to change the appearance and behavior of your APIs. With response caching, you can scale your APIs and reduce latency. By building a façade that enables secure integration of on-premises and cloud environments, you can connect on-premises APIs to cloud services.