You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: learn-pr/azure/introduction-to-azure-api-management/includes/1-introduction.md
+6-6Lines changed: 6 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,22 +1,22 @@
1
-
Publishing an application programming interface (API) is a great way to increase market share, generate revenue, and foster innovation. However, maintaining even one API brings significant challenges such as, onboarding users, managing revisions, implementing security, and running analytics
1
+
Publishing an application programming interface (API) is a great way to increase market share, generate revenue, and foster innovation. However, maintaining even one API brings significant challenges such as onboarding users, managing revisions, implementing security, and running analytics
2
2
3
-
Imagine that your organization publishes multiple APIs for different types of users including partners, developers, and employees. These APIs are used in multiple settings, including mobile and web apps, and Internet of Things (IoT) devices.
3
+
Imagine that your organization publishes multiple APIs for different types of users including partners, developers, and employees. These APIs are used in multiple settings, including mobile apps, web apps, and Internet of Things (IoT) devices.
4
4
5
5
:::image type="content" source="../media/1-introduction-before.png" alt-text="Multiple APIs connect to multiple servers, where each API maintains its own set of users, security policies, and analytics data." lightbox="../media/1-introduction-before.png":::
6
6
7
-
Microsoft Azure API Management reduces the complexity of managing all your API traffic and offers intuitive portals for managing your APIs and surfacing them to developers. It also provides tools for implementing security, managing revisions, and performing analytics.
7
+
Microsoft Azure API Management reduces the complexity of managing all your API traffic, and it offers intuitive portals for managing your APIs as well as surfacing them to developers. It also provides tools for implementing security, managing revisions, and performing analytics.
8
8
9
9
:::image type="content" source="../media/1-introduction-after.png" alt-text="Azure API Management acts as a 'front door' for all of an organization's APIs. API calls are then routed to the server where the API is deployed." lightbox="../media/1-introduction-after.png":::
10
10
11
11
## Example scenario
12
12
13
-
Suppose you work at a company that operates a food-delivery platform. Your customers use your mobile app or website to browse the menus of multiple restaurants and place an order. The APIs that you publish are used by your mobile app, web app, partner restaurants, IoT devices on your delivery vehicles, and others among a large collection of APIs.
13
+
Suppose you work at a company that operates a food-delivery platform. Your customers use your mobile app or website to browse the menus of multiple restaurants and place an order. The APIs that you publish are used by a large collection of consumers, and each resides on a different server, has its own user onboarding process, and policies for security, revisions, analytics, and more.
14
14
15
-
Each published API resides on a different server, has its own user onboarding process, and polices for security, revisions, analytics, and more. Here you learn how Azure API Management can standardize, centralize, and help secure all the aspects of publishing and maintaining APIs across the full API lifecycle to reduce complexity.
15
+
Here, you learn how Azure API Management can standardize, centralize, and help secure all the aspects of publishing and maintaining APIs across the full API lifecycle to reduce complexity.
16
16
17
17
## What will we be doing?
18
18
19
-
Examining Azure API Management to help you decide if it's the correct solution to reduce your company's API complexity, by studying these three main components:
19
+
We'll examine Azure API Management to help you decide if it's the correct solution to reduce your company's API complexity by studying these three main components:
20
20
21
21
-**Gateway**. A single endpoint for all your API calls, which eases the implementation of security, rate limits, caching, and transformations.
22
22
-**Administration interface**. A single interface where you import APIs, set policies, create API products, manage users and groups, and run analytics.
Copy file name to clipboardExpand all lines: learn-pr/azure/introduction-to-azure-api-management/includes/2-what-is-azure-api-management.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,34 +15,36 @@ Let's start with a quick overview of Azure API Management and its core features.
15
15
16
16
## Azure API Management definition
17
17
18
-
*Azure API Management* is a cloud service that gives you a platform for publishing, securing, maintaining, and analyzing all your company's APIs. Azure API Management accomplishes these tasks by offering three main components, which we'll dive into next.
18
+
*Azure API Management* is a cloud service that gives you a platform for publishing, securing, maintaining, and analyzing all your company's APIs. The following image helps depict this service:
19
19
20
20
:::image type="content" source="../media/2-what-is-azure-api-management-overview.png" alt-text="The main components of Azure API Management include the administration interface, gateway, and developer portal." lightbox="../media/2-what-is-azure-api-management-overview.png":::
21
21
22
22
> [!IMPORTANT]
23
-
> Azure API Management does *not* host your actual APIs; your APIs remain where they were originally deployed. Instead, Azure API Management acts as a kind of "front door" for your APIs. In this way, Azure API Management *decouples* your APIs by letting you set API policies and other management options in Azure, while leaving your deployed backend APIs untouched.
23
+
> Azure API Management doesn't host your actual APIs; your APIs remain where they were originally deployed. Instead, Azure API Management acts as a kind of "front door" for your APIs. In this way, Azure API Management *decouples* your APIs by letting you set API policies and other management options in Azure, while leaving your deployed backend APIs untouched.
24
+
25
+
Azure API Management accomplishes these tasks by offering three main components, which we'll dive into next.
24
26
25
27
### Gateway component
26
28
27
29
The *Azure API Management gateway* is an Azure endpoint that accepts all calls from all your APIs. The gateway verifies API subscription keys and other credentials, enforces your usage quotas and rate limits, and transforms the API as needed for backend compatibility. It also routes each call to its appropriate backend server, caches backend responses, and collects call metadata for analytics workloads.
28
30
29
31
### Administration interface component
30
32
31
-
The *Azure API Management administration interface* is a set of Azure portal pages and tools that enable you to administer your service and your APIs. You use the administrative interface for provisioning, scaling, and monitoring the service. You can also also define or import API specifications, implement usage policies, set security policies, and manage users. Finally, you can package APIs into products, define API transformations, manage API revisions and versions, and run analytics on your API metadata.
33
+
The *Azure API Management administration interface* is a set of Azure portal pages and tools that enable you to administer your service and your APIs. You use the administrative interface for provisioning, scaling, and monitoring the service. You can also define or import API specifications, implement usage policies, set security policies, and manage users. Finally, you can package APIs into products, define API transformations, manage API revisions and versions, and run analytics on your API metadata.
32
34
33
35
### Developer portal component
34
36
35
37
The *Azure API Management developer portal* is a fully customizable website that enables developers to interact with your APIs. They can review documentation, try an API, review code samples, subscribe to an API, and run analytics on the developer's usage.
36
38
37
39
## Apply policies to API requests and responses
38
40
39
-
One of the biggest problems with having multiple published APIs is that each API requires a separate set of policies, which is a setting or action that controls the behavior of the API. Azure API Management solves the API policy problem by enabling you to set policies for all your APIs in a single place through the Azure API Management administration interface. With Azure API Management, you can set policies in many categories. A partial list includes:
41
+
One of the biggest problems with having multiple published APIs is that each API requires a separate set of policies, which is a setting or action that controls the behavior of the API. Azure API Management solves the API policy problem by enabling you to set policies for all your APIs in a single place. You can set policies in many categories, but a partial list includes:
40
42
41
43
-**Access restriction**. These policies determine when an API request is allowed through the gateway. For example, enforce rate limits and usage quotas, filter caller IPs, and check for a valid JSON Web Token (JWT).
42
44
-**Authentication**. Authenticate API calls by using Basic authentication, a client certificate, or a managed identity as examples.
43
45
-**Caching**. Improve API performance by storing and retrieving responses in the cache.
44
46
-**Validation**. Validate API calls by comparing certain parameters to what's in your API specification. For example, validate the request or response body, the request header parameters, and the response headers.
45
47
46
-
Flexibly combine your policies in *policy definitions*, which are XML documents that consist of a series of statements representing a policy and its parameters. Policy definitions let you configure separate policies at different stages of the API request-response pipeline:
48
+
Flexibly combine your policies in *policy definitions*, which are XML documents that consist of a series of statements representing a policy and its parameters. Policy definitions let you configure separate policies at different stages of the API request-response pipeline as shown here:
47
49
48
50
:::image type="content" source="../media/2-what-is-azure-api-management-policies.png" alt-text="A consumer's API request enters the Azure API Management gateway where it passes through inbound policies before being sent to the backend server. The API response then passes through the gateway's outbound policies before being sent to the originating API consumer." lightbox="../media/2-what-is-azure-api-management-policies.png":::
Copy file name to clipboardExpand all lines: learn-pr/azure/introduction-to-azure-api-management/includes/3-how-azure-api-management-works.md
+10-6Lines changed: 10 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,15 +16,19 @@ The gateway performs many tasks from the consumer's point of view, but the follo
16
16
17
17
## Azure API Management for API providers
18
18
19
-
If you're an API provider, you still have work to do after your APIs have been published. This work includes setting API policies, managing API consumers, managing API revisions and versions, and monitoring and analyzing your APIs. You can perform these tasks using the Azure API Management administration interface, Azure CLI, or Azure Powershell.
19
+
If you're an API provider, you still have work to do after your APIs have been published. This work includes setting API policies, managing API consumers, managing API revisions and versions, and monitoring and analyzing your APIs. You can perform these tasks using the Azure API Management administration interface, Azure CLI, or Azure PowerShell.
20
20
21
21
The administration interface enables you to perform the following tasks:
22
22
23
-
-**Define and import API specs**: Import an OpenAPI specification, a REST API, a Simple Object Access Protocol (SOAP) API, a WebSocket API, or a GraphQL API. You can also create an API by importing instances of the following Azure services: Web App, Container App, Function App, Logic App, and Service Fabric. You can also create a blank API and define it manually.
24
-
-**Manage users and groups**: A *user* is a developer account for an API consumer that you can add manually or invite to create an account. A *group* is a collection of related users that you can associate with a particular API product, and then each group's user has access to the product.
25
-
-**Package APIs into products**: A *product* is a group of related APIs. By packaging multiple APIs as a single product, you can configure just the product instead of configuring all the APIs separately. This configuration gets applied to all the APIs in the product, and after published consumers can subscribe with a single subscription key.
26
-
-**Monitor and analyze APIs**: The administration interface includes built-in monitoring tools to trace and review API traffic in real time and analytics for insights on how consumers are using your published APIs. Azure API Management also supports several Azure tools including Azure Monitor Logs, Application Insights, and Event Hubs.
27
-
-**Manage API revisions and versions**: When your API developer team needs to make changes to an API, expose the change in a safe and controlled manner by using revisions and versions. A *revision* is a relatively minor or nonbreaking change to an API. Your development team can code and test the revision separately from the production API, and then set the updated API as the current revision once ready as in the following image. A *version* is a relatively major or breaking change to an API. Azure API Management enables you to offer developers multiple versions of the API simultaneously and offers several versioning schemes.
23
+
**Define and import API specs**: Import an OpenAPI specification, a REST API, a Simple Object Access Protocol (SOAP) API, a WebSocket API, or a GraphQL API. You can also create an API by importing instances of Azure services like Web App, Container App, Function App, Logic App, and Service Fabric. You can also create a blank API and define it manually.
24
+
25
+
**Manage users and groups**: A *user* is a developer account for an API consumer that you can add manually or invite to create an account. A *group* is a collection of related users that you can associate with a particular API product, and then each group's user has access to the product.
26
+
27
+
**Package APIs into products**: A *product* is a group of related APIs. By packaging multiple APIs as a single product, you can configure just the product instead of configuring all the APIs separately. This configuration gets applied to all the APIs in the product, and after published consumers can subscribe with a single subscription key.
28
+
29
+
**Monitor and analyze APIs**: The administration interface includes built-in monitoring tools to trace and review API traffic in real time and analytics for insights on how consumers are using your published APIs. Azure API Management also supports several Azure tools including Azure Monitor Logs, Application Insights, and Event Hubs.
30
+
31
+
**Manage API revisions and versions**: When your API developer team needs to make changes to an API, expose the change in a safe and controlled manner by using revisions and versions. A *revision* is a relatively minor or nonbreaking change to an API. Your development team can code and test the revision separately from the production API, and then set the updated API as the current revision once ready as in the following image. A *version* is a relatively major or breaking change to an API. Azure API Management enables you to offer developers multiple versions of the API simultaneously and offers several versioning schemes.
28
32
29
33
:::image type="content" source="../media/3-how-azure-api-management-works-revisions.png" alt-text="Depiction of how revisions work in Azure API Management. API requests from consumers are routed to the current revision of the API, whereas API requests from the in-house development team are routed to the API revision." lightbox="../media/3-how-azure-api-management-works-revisions.png":::
Now let's discuss some scenarios that illustrate when it's appropriate to use Azure API Management. Let's investigate API lifecycle management with respect to standardizing APIs, centralizing API management and exposure, and enhancing API security.
2
-
3
-
To help you decide whether Azure API Management is a suitable choice, consider the number of APIs you manage, the rate of API changes, and the API administration load. These criteria don't apply equally to all use cases, but let's look deeper at each one.
1
+
Now let's discuss some scenarios that illustrate when it's appropriate to use Azure API Management. Let's investigate API lifecycle management with respect to standardizing APIs, centralizing API management and exposure, and enhancing API security. These don't apply equally to all use cases, but let's look deeper at each one.
4
2
5
3
### Should you use Azure API Management to standardize APIs?
6
4
7
5
By enabling management of multiple APIs from a single administrative interface, Azure API Management makes it easier to create consistency across multiple APIs. You can standardize many API features, including:
8
6
9
7
-**Specifications**: Reduces development time, decreases errors, and enables your organization to respond faster to customer suggestions and market forces.
10
8
-**Documentation**: Enables developers to get up to speed with an API quickly, reduces technical support queries, and encourages developers to use more of your APIs.
11
-
-**URLs**: Rreduces consumer errors and gives your API deployments a more professional appearance.
9
+
-**URLs**: Reduces consumer errors and gives your API deployments a more professional appearance.
12
10
-**Analytics**: Enables management teams and engineers to compare usage and performance across multiple APIs.
13
11
-**Regulations**: Helps ensure compliance toward government or industry rules and regulations across all APIs.
14
12
15
13
:::image type="content" source="../media/4-when-to-use-azure-api-management-standardization.png" alt-text="Several APIs with varying configurations are imported into Azure API Management. When they emerge from API Management, they have standardized configurations." lightbox="../media/4-when-to-use-azure-api-management-standardization.png":::
16
14
17
-
This is true of the food delivery scenario, which requires consistency across the APIs for the consumers.
15
+
This is true of the food delivery scenario, which requires consistency across the APIs for consumers.
18
16
19
17
### Should you use Azure API Management to centralize API operations?
20
18
@@ -26,9 +24,9 @@ All these factors apply to our food delivery scenario. Centralized consumer acce
26
24
27
25
Azure API Management was designed with API security in mind. So many organizations rely on APIs for the internal and external exchange of data between apps and devices. A proper API security strategy covers the following bases:
28
26
29
-
-**Permissions**. Control who can work with an API and what they can do with it.
30
-
-**Access**. Only allow authorized users to submit requests.
31
-
-**Protection**. Secure the API from malicious usage.
32
-
-**Compliance**. Make sure your APIs satisfy all corporate or government security policies.
27
+
-**Permissions**: Control who can work with an API and what they can do with it.
28
+
-**Access**: Only allow authorized users to submit requests.
29
+
-**Protection**: Secure the API from malicious usage.
30
+
-**Compliance**: Make sure your APIs satisfy all corporate or government security policies.
33
31
34
32
These security concerns are paramount in our food delivery scenario. Our platform generates and stores a great deal of sensitive data, including restaurant payments, customer names and addresses, and delivery vehicle locations.
0 commit comments