What does API Management (APIM) provide?
What is APIM made up of?
What is API gateway?
Endpoint that…
-Accepts API calls and routes them to appropriate backends
- verifies API keys and other credentials presented with requests
- enforces usage quotas and rate limits
- transforms request and responses specified in policy statements
- caches responses to imrpvoe response latency and minimise the load on the backend service
emits logs, metrics and traces for monitoring, reporting and troubleshooting
What is the management plane on APIM, what can we use it for?
Admin interface where you set up your API program and use it to…
- provision and configure API mgmt service settings
- define or import API schema
- package APIs into products
- set up policies like quotas or transformations on the APIs
- get insights from analytics
- manage users
What is the developer portal in terms of APIM?
Auto generated, fully customisable website with the docs of your API where devs can…
- reads docs
- call API via interactive console
- create an account and sub to get API keys
- access analytics on their own usage
- download API definitions
- manage API keys
What are products in APIM?
What are the 3 groups in APIM?
Used to manage visibility of products to devs
- Admins = Manage API mgmt, create APIs and products
- Developers = Authenticated dev p[ortal users that build apps using APIs, can access dev portal
- Guests = unauthenticated dev portal uses, can be granted read-only access so view APIs but not call them
What are developers in APIM?
What are policies in APIM?
What are policy expressions in APIM?
What does the API gateway manage?
What are the issues with exposing services directly to clients in relation to APIM?
what is the managed APIM gateway?
what is self hosted APIM gateway?
What do APIM policies allow?
What is an APIM policy defintion?
<policies>
<inbound>statements to be applied to request go here</inbound>
<backend>statements to be applied before the request is forwarded to backend go here</backend>
<outbound>statements to be applied to the response go here</outbound>
<on-error>statements to be applied if theres an error go here</on-error>
</policies>
what is the context var in terms of policy expressions in APIM?
Example of a policy statement that adds user data to incoming request
<policies>
<inbound>
<base></base>
<set-header>
<value>@(context.User.Id)</value>
<value>@(context.Deployment.Region)</value>
</set-header>
</inbound>
</policies>
what is the <base></base> tag in policy statement?
What is control flow in APIM policies?
<choose>
<when>...</choose>
<when>...</choose>
<otherwise>…</otherwise>
</choose>
</when></when></choose>
What is a forward request in APIM policies?
<forward-request></forward-request>
What is the limit concurrency tag in APIM policies?
<limit-concurrency>…</limit-concurrency>
What is the log to event hub tag in APIM policies?
<log-to-event-hub>Expression returning a string to be logged</log-to-event-hub>
What is the mock response tag in APIM policies?
<mock-response></mock-response>