SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Callon Campbell
Solutions Architect | Developer | Microsoft MVP
Cloud Mavericks Inc.
Email: Callon@CloudMavericks.ca
Blog: TheFlyingMaverick.com
Twitter: @Flying_Maverick
GitHub: GitHub.com/calloncampbell
Exposing Services with
Azure API Management
Microsoft Azure
About me
•Solution Architect | Developer
•Microsoft MVP in Azure
•20 years enterprise development with Microsoft
technologies – .NET, Azure, Web, Desktop, SQL, and
Mobile
•Blogging at https://theflyingmaverick.com
•Speaker at community events and meetups
•Co-creator of ReflectInsight, live .NET log viewer
Microsoft Azure
Agenda
•Why API Management?
•Azure API Management Overview
•Demo
•Q&A
3
Microsoft Azure
What’s in common?
4
Mobile
Cloud
Computing
Internet
of
Things
Machine
Learning
Software
as a
Service
Blockchain
APIs
Microsoft Azure
World of APIs
•Every app requires APIs
•Internal and External
•Everyone wants to integrate
•Integration is a must
•Mobility
•IoT
•Customer Experience
5
Microsoft Azure
What is Azure API Management?
•API Management is a managed service for
publishing, securing, analyzing and managing APIs
•Common use cases:
• Enterprise API catalog
• Single place for discovery and onboard your APIs
•Often used with Azure Service Bus, Logic Apps,
Event Grid and Azure Functions
6
Microsoft Azure
Why Azure API Management
• Consolidate your APIs
• Centralize authentication
• Monitor usage & performance
• Unified paths
• Throttling & caching
• Input and output transformations
• Documentation and API testing
• API governance, insights and analytics
7
Microsoft Azure
• Consumption
• Developer
• Basic
• Standard
• Premium
8
Available tiers
Microsoft Azure
Consume PublishMediate
Azure portalGatewayDeveloper portal
Abstract
Secure & protect
Manage lifecycle
Monitor & measure
Onboard developers
Monetize
Discover
Learn
Get access
Try
Get help
SDKs and samples
API Management
Microsoft Azure
Façade and front door
Developer portal
Azure portal
Gateway
Publish
Mediate
Consume
contosoapi-foo.azurewebsites.com
Microsoft Azure
Developer Portal
Documentation and test
environment
Self-service access to APIs
Consumption analytics
Ability to subscribe and get
access keys
Gateway
Proxy API (requests and
responses)
Policies (throttling, security,
etc.)
Products (bundles of APIs)
Transform/Orchestrate
requests and responses
Authentication/Authorization
Caching
Logging and Monitoring
Azure Portal
API Definition
API Lifecycle Management
Manage access and policies
Developer testing and
debugging
11
Core
Components
Microsoft Azure
Provide a first-rate developer experience
Developer Portal
•Self-service API key management
•Auto-generated API catalog, documentation, and
code samples
•OAuth-enabled API console for exploring APIs
without writing a line of code
•Sign in using popular Internet identity providers and
Azure Active Directory
12
Microsoft Azure
Protect and optimize your APIs
Gateway
•Simplify and optimize requests and responses with
transformation policies
•Secure APIs with key, JSON Web Token (JWT)
validation, and IP filtering
•Protect your APIs from overload and overuse with
quotas and rate limits
•Use response caching for improved latency and scale
13
Microsoft Azure
Manage all of your APIs in one place
Azure Portal
•Expose all APIs behind a single static IP and domain
•Get near real-time usage, performance and health
analytics
•Automate management and integrate using REST
API, PowerShell, and Git
•Provision API Management and scale it on demand
in one or more geographical regions
14
Microsoft Azure
Policies
Microsoft Azure
There is a policy for that
Access control, Protection, Transformation, Caching, …
Add a header or throttle for example
Scope determines which APIs are affected
Can define custom scopes in addition to four available b default
Degree of control over inheritance of scopes, i.e. <base/> element
Don’t delete <base/> inadvertently http://aka.ms/apimpolicyexamples
Microsoft Azure
Some policies out of the box
•Rate Limiting
•Quota enforcing
•Check HTTP headers
•Restrict caller IP
•Validate JWT tokens
•Retrying (QoS)
18
•Masking URLs
•Defining cache policies
•Throttling
•CORS
•URL Rewriting
•XML < > JSON
Microsoft Azure
Policy scopes
global
product
api
operation
to backend
from backend
from caller
to caller
GET /foo/bar HTTP/1.1
Host: api.constoso.com
Key: 0123456789 0123456789
/foo
/bar
Microsoft Azure
Versioning and Revisions
Microsoft Azure
API Versioning & Revisions
Version or not?
Semantic versioning?
What is a breaking change?
Where to place version information?
Path? Query? Header? Media type?
How to identify version?
Number? Date? Name?
Versioning is an opt-in
Natively understand versions at the system level
Offer versioning scheme options
Inform developers about the changes
Control when the changes get adopted
Microsoft Azure
New Consumption Tier
Unlike other Azure API Management tiers, the
Consumption Tier exposes serverless properties.
It runs on a shared infrastructure, can scale down to
zero in times of no traffic, and is billed per execution.
24
Microsoft Azure
API Management – Consumption Tier
• API Management layer for microservice-based architectures
• Serverless properties:
• Instant provisioning
• Automatic scaling – out and back to zero
• Built-in high availability
• Per action pricing
• Curated feature set:
• No developer portal
• Bring your own response cache
• Usage limits
25
Microsoft Azure
Consumption tier is well suited for:
•Applications implemented with serverless compute,
such as Functions, or other serverless services (for
example, Storage Account or Event Grid)
•Applications with microservices-based architectures
such as Kubernetes
•Applications with highly spikey traffic
•Applications in evaluation or test environments
26
Microsoft Azure
Basic Enterprise Integration
27
Architecture reference:
https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/basic-enterprise-integration
Demos
Start coding
http://aka.ms/apimlove
Demo notes
• ASP.NET Web API
• Import using Open API Specification
• Policies – throttling, transform
• Testing
• Versioning and Revisions
• Developer Portal – docs, subscription, testing
Microsoft Azure
Developer Portal
Auto-generated API catalog,
documentation, and code samples
Choose between managed instance
or self-hosted
Available in
the Premium, Standard, Basic and
Developer tiers of API
Management.
30
Microsoft Azure
Developer documentation with Swagger
Install the following NuGet Packages into your ASP.NET Core:
• Swashbuckle.AspNetCore – v5
• Swashbuckle.AspNetCore.Annotations – v5
• Swashbuckle.AspNetCore.Newtonsoft – v5
Then decorate your method as shown here…
31
Microsoft Azure
In closing…
• Easily create an API façade for the existing backend services
• Quickly add new capabilities to the APIs, such as response caching
and cross domain access
• Package and publish APIs to developers and partners
• Reliably protect published APIs from misuse and abuse
• Engage developers with dynamically generated, interactive API
documentation, samples, forum, and blog
• Gain business and operational insights from analytics reports
Microsoft Azure
Microsoft Learn
Complete interactive learning
exercises, watch videos, and practice
and apply your new skills.
https://bit.ly/2VxJCew
Microsoft Azure
Download e-book
While there is no “one-size-fits-
all” approach to API design,
there is a set of common
patterns, techniques, and tips
we can suggest. This resource
offers a potential starting point
when thinking about the design
for your APIs.
https://aka.ms/api-design-ebook
Microsoft Azure
Resources
Session Materials on GitHub
Session Resources
https://github.com/calloncampbell/Azure-API-Management-Demo/
All in one resource: http://aka.ms/apimlove
Overview: https://azure.microsoft.com/en-us/services/api-management/
Docs: https://docs.microsoft.com/en-us/azure/api-management/
Article: Expose APIs with peace of mind when using Azure API Management
Get Certified
Microsoft Azure
Thank you!
Callon@CloudMavericks.ca
TheFlyingMaverick.com
@Flying_Maverick
36
Microsoft Azure
Pricing
Microsoft Azure
CD/CD with API Management
38

Weitere ähnliche Inhalte

Was ist angesagt?

TechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdfTechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdf
MIlton788007
 

Was ist angesagt? (20)

What is an API Gateway?
What is an API Gateway?What is an API Gateway?
What is an API Gateway?
 
API Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API ManagementAPI Management Part 1 - An Introduction to Azure API Management
API Management Part 1 - An Introduction to Azure API Management
 
Azure App Modernization
Azure App ModernizationAzure App Modernization
Azure App Modernization
 
Api management best practices with wso2 api manager
Api management best practices with wso2 api managerApi management best practices with wso2 api manager
Api management best practices with wso2 api manager
 
Azure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptxAzure Virtual Desktop Overview.pptx
Azure Virtual Desktop Overview.pptx
 
Azure Arc by K.Narisorn // Azure Multi-Cloud
Azure Arc by K.Narisorn // Azure Multi-CloudAzure Arc by K.Narisorn // Azure Multi-Cloud
Azure Arc by K.Narisorn // Azure Multi-Cloud
 
App Modernisation with Microsoft Azure
App Modernisation with Microsoft AzureApp Modernisation with Microsoft Azure
App Modernisation with Microsoft Azure
 
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
왜 컨테이너인가? - OpenShift 구축 사례와 컨테이너로 환경 전환 시 고려사항
 
(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code(ARC307) Infrastructure as Code
(ARC307) Infrastructure as Code
 
Azure Application insights - An Introduction
Azure Application insights - An IntroductionAzure Application insights - An Introduction
Azure Application insights - An Introduction
 
Introduction to Azure Functions
Introduction to Azure FunctionsIntroduction to Azure Functions
Introduction to Azure Functions
 
Let's Talk About: Azure Monitor
Let's Talk About: Azure MonitorLet's Talk About: Azure Monitor
Let's Talk About: Azure Monitor
 
Architect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft AzureArchitect your app modernization journey with containers on Microsoft Azure
Architect your app modernization journey with containers on Microsoft Azure
 
Azure DevOps Best Practices Webinar
Azure DevOps Best Practices WebinarAzure DevOps Best Practices Webinar
Azure DevOps Best Practices Webinar
 
A Roadmap to Cloud Center of Excellence Adoption
A Roadmap to Cloud Center of Excellence AdoptionA Roadmap to Cloud Center of Excellence Adoption
A Roadmap to Cloud Center of Excellence Adoption
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...Open API and API Management - Introduction and Comparison of Products: TIBCO ...
Open API and API Management - Introduction and Comparison of Products: TIBCO ...
 
Azure web apps
Azure web appsAzure web apps
Azure web apps
 
TechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdfTechnicalTerraformLandingZones121120229238.pdf
TechnicalTerraformLandingZones121120229238.pdf
 
Azure DevOps
Azure DevOpsAzure DevOps
Azure DevOps
 

Ähnlich wie Exposing services with Azure API Management

Api management update for optus
Api management update for optusApi management update for optus
Api management update for optus
sflynn073
 

Ähnlich wie Exposing services with Azure API Management (20)

Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
 
M meijer api management - tech-days 2015
M meijer   api management - tech-days 2015M meijer   api management - tech-days 2015
M meijer api management - tech-days 2015
 
Connector API Apps
Connector API AppsConnector API Apps
Connector API Apps
 
Gab2015 samir arezki_api management
Gab2015 samir arezki_api managementGab2015 samir arezki_api management
Gab2015 samir arezki_api management
 
Azure API Management
Azure API ManagementAzure API Management
Azure API Management
 
Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)Azure functions: Build apps faster with serverless architecture (March 2018)
Azure functions: Build apps faster with serverless architecture (March 2018)
 
Serverless Application Development with Azure
Serverless Application Development with AzureServerless Application Development with Azure
Serverless Application Development with Azure
 
Mobile Services for Windows Azure
Mobile Services for Windows AzureMobile Services for Windows Azure
Mobile Services for Windows Azure
 
Secure and Optimize APIs using Azure API Management
Secure and Optimize APIs using Azure API ManagementSecure and Optimize APIs using Azure API Management
Secure and Optimize APIs using Azure API Management
 
Accelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft AzureAccelerate Sitecore DevOps on Microsoft Azure
Accelerate Sitecore DevOps on Microsoft Azure
 
Day 1 axway apim-training
Day 1   axway apim-trainingDay 1   axway apim-training
Day 1 axway apim-training
 
Azure Pilot Test
Azure Pilot TestAzure Pilot Test
Azure Pilot Test
 
Designing Microservices
Designing MicroservicesDesigning Microservices
Designing Microservices
 
Azure serverless architectures
Azure serverless architecturesAzure serverless architectures
Azure serverless architectures
 
Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)Serverless integrations using Azure Logic Apps (intro)
Serverless integrations using Azure Logic Apps (intro)
 
Whats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptxWhats new in Azure Functions and .NET 6.pptx
Whats new in Azure Functions and .NET 6.pptx
 
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
 
Api management update for optus
Api management update for optusApi management update for optus
Api management update for optus
 
Microsoft certified azure developer associate
Microsoft certified azure developer associateMicrosoft certified azure developer associate
Microsoft certified azure developer associate
 
First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)First Look at Azure Logic Apps (BAUG)
First Look at Azure Logic Apps (BAUG)
 

Mehr von Callon Campbell

Mehr von Callon Campbell (20)

Global Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in AzureGlobal Azure 2023 - Building Multitenant SaaS Applications in Azure
Global Azure 2023 - Building Multitenant SaaS Applications in Azure
 
Getting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated ModeGetting started with Azure Functions in Isolated Mode
Getting started with Azure Functions in Isolated Mode
 
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
Azure Durable Functions: The Festive Magic of Scalable Serverless Workflows f...
 
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App JourneyGlobal Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
Global Azure 2024 - On-Premises to Azure Cloud: .NET Web App Journey
 
Festive Tech Calendar 2021
Festive Tech Calendar 2021Festive Tech Calendar 2021
Festive Tech Calendar 2021
 
Festive Tech Calendar 2022
Festive Tech Calendar 2022Festive Tech Calendar 2022
Festive Tech Calendar 2022
 
BestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptxBestOfBuild2021 - Azure Functions (15min).pptx
BestOfBuild2021 - Azure Functions (15min).pptx
 
Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...Building stateful serverless orchestrations with Azure Durable Azure Function...
Building stateful serverless orchestrations with Azure Durable Azure Function...
 
Building scalable applications using serverless on the cloud
Building scalable applications using serverless on the cloudBuilding scalable applications using serverless on the cloud
Building scalable applications using serverless on the cloud
 
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
Bringing Serverless into the Enterprise (Global Azure Virtual 2020)
 
Developing scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .netDeveloping scalable enterprise serverless applications on azure with .net
Developing scalable enterprise serverless applications on azure with .net
 
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
Build embedded and IoT solutions with Microsoft Windows IoT Core (BRK30077)
 
Centralized configuration with azure app configuration
Centralized configuration with azure app configurationCentralized configuration with azure app configuration
Centralized configuration with azure app configuration
 
Creating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event GridCreating Event Driven Applications with Azure Event Grid
Creating Event Driven Applications with Azure Event Grid
 
Getting Started with Azure Artifacts
Getting Started with Azure ArtifactsGetting Started with Azure Artifacts
Getting Started with Azure Artifacts
 
Serverless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable FunctionsServerless Orchestration with Azure Durable Functions
Serverless Orchestration with Azure Durable Functions
 
Azure DevOps in Action
Azure DevOps in ActionAzure DevOps in Action
Azure DevOps in Action
 
Tour of Azure DevOps
Tour of Azure DevOpsTour of Azure DevOps
Tour of Azure DevOps
 
Introduction to Azure Event Grid
Introduction to Azure Event GridIntroduction to Azure Event Grid
Introduction to Azure Event Grid
 
Bring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive servicesBring ai into your xamarin apps with microsoft cognitive services
Bring ai into your xamarin apps with microsoft cognitive services
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 

Exposing services with Azure API Management

  • 1. Callon Campbell Solutions Architect | Developer | Microsoft MVP Cloud Mavericks Inc. Email: Callon@CloudMavericks.ca Blog: TheFlyingMaverick.com Twitter: @Flying_Maverick GitHub: GitHub.com/calloncampbell Exposing Services with Azure API Management
  • 2. Microsoft Azure About me •Solution Architect | Developer •Microsoft MVP in Azure •20 years enterprise development with Microsoft technologies – .NET, Azure, Web, Desktop, SQL, and Mobile •Blogging at https://theflyingmaverick.com •Speaker at community events and meetups •Co-creator of ReflectInsight, live .NET log viewer
  • 3. Microsoft Azure Agenda •Why API Management? •Azure API Management Overview •Demo •Q&A 3
  • 4. Microsoft Azure What’s in common? 4 Mobile Cloud Computing Internet of Things Machine Learning Software as a Service Blockchain APIs
  • 5. Microsoft Azure World of APIs •Every app requires APIs •Internal and External •Everyone wants to integrate •Integration is a must •Mobility •IoT •Customer Experience 5
  • 6. Microsoft Azure What is Azure API Management? •API Management is a managed service for publishing, securing, analyzing and managing APIs •Common use cases: • Enterprise API catalog • Single place for discovery and onboard your APIs •Often used with Azure Service Bus, Logic Apps, Event Grid and Azure Functions 6
  • 7. Microsoft Azure Why Azure API Management • Consolidate your APIs • Centralize authentication • Monitor usage & performance • Unified paths • Throttling & caching • Input and output transformations • Documentation and API testing • API governance, insights and analytics 7
  • 8. Microsoft Azure • Consumption • Developer • Basic • Standard • Premium 8 Available tiers
  • 9. Microsoft Azure Consume PublishMediate Azure portalGatewayDeveloper portal Abstract Secure & protect Manage lifecycle Monitor & measure Onboard developers Monetize Discover Learn Get access Try Get help SDKs and samples API Management
  • 10. Microsoft Azure Façade and front door Developer portal Azure portal Gateway Publish Mediate Consume contosoapi-foo.azurewebsites.com
  • 11. Microsoft Azure Developer Portal Documentation and test environment Self-service access to APIs Consumption analytics Ability to subscribe and get access keys Gateway Proxy API (requests and responses) Policies (throttling, security, etc.) Products (bundles of APIs) Transform/Orchestrate requests and responses Authentication/Authorization Caching Logging and Monitoring Azure Portal API Definition API Lifecycle Management Manage access and policies Developer testing and debugging 11 Core Components
  • 12. Microsoft Azure Provide a first-rate developer experience Developer Portal •Self-service API key management •Auto-generated API catalog, documentation, and code samples •OAuth-enabled API console for exploring APIs without writing a line of code •Sign in using popular Internet identity providers and Azure Active Directory 12
  • 13. Microsoft Azure Protect and optimize your APIs Gateway •Simplify and optimize requests and responses with transformation policies •Secure APIs with key, JSON Web Token (JWT) validation, and IP filtering •Protect your APIs from overload and overuse with quotas and rate limits •Use response caching for improved latency and scale 13
  • 14. Microsoft Azure Manage all of your APIs in one place Azure Portal •Expose all APIs behind a single static IP and domain •Get near real-time usage, performance and health analytics •Automate management and integrate using REST API, PowerShell, and Git •Provision API Management and scale it on demand in one or more geographical regions 14
  • 16. Microsoft Azure There is a policy for that Access control, Protection, Transformation, Caching, … Add a header or throttle for example Scope determines which APIs are affected Can define custom scopes in addition to four available b default Degree of control over inheritance of scopes, i.e. <base/> element Don’t delete <base/> inadvertently http://aka.ms/apimpolicyexamples
  • 17. Microsoft Azure Some policies out of the box •Rate Limiting •Quota enforcing •Check HTTP headers •Restrict caller IP •Validate JWT tokens •Retrying (QoS) 18 •Masking URLs •Defining cache policies •Throttling •CORS •URL Rewriting •XML < > JSON
  • 18. Microsoft Azure Policy scopes global product api operation to backend from backend from caller to caller GET /foo/bar HTTP/1.1 Host: api.constoso.com Key: 0123456789 0123456789 /foo /bar
  • 20. Microsoft Azure API Versioning & Revisions Version or not? Semantic versioning? What is a breaking change? Where to place version information? Path? Query? Header? Media type? How to identify version? Number? Date? Name? Versioning is an opt-in Natively understand versions at the system level Offer versioning scheme options Inform developers about the changes Control when the changes get adopted
  • 21. Microsoft Azure New Consumption Tier Unlike other Azure API Management tiers, the Consumption Tier exposes serverless properties. It runs on a shared infrastructure, can scale down to zero in times of no traffic, and is billed per execution. 24
  • 22. Microsoft Azure API Management – Consumption Tier • API Management layer for microservice-based architectures • Serverless properties: • Instant provisioning • Automatic scaling – out and back to zero • Built-in high availability • Per action pricing • Curated feature set: • No developer portal • Bring your own response cache • Usage limits 25
  • 23. Microsoft Azure Consumption tier is well suited for: •Applications implemented with serverless compute, such as Functions, or other serverless services (for example, Storage Account or Event Grid) •Applications with microservices-based architectures such as Kubernetes •Applications with highly spikey traffic •Applications in evaluation or test environments 26
  • 24. Microsoft Azure Basic Enterprise Integration 27 Architecture reference: https://docs.microsoft.com/en-us/azure/architecture/reference-architectures/enterprise-integration/basic-enterprise-integration
  • 26. Demo notes • ASP.NET Web API • Import using Open API Specification • Policies – throttling, transform • Testing • Versioning and Revisions • Developer Portal – docs, subscription, testing
  • 27. Microsoft Azure Developer Portal Auto-generated API catalog, documentation, and code samples Choose between managed instance or self-hosted Available in the Premium, Standard, Basic and Developer tiers of API Management. 30
  • 28. Microsoft Azure Developer documentation with Swagger Install the following NuGet Packages into your ASP.NET Core: • Swashbuckle.AspNetCore – v5 • Swashbuckle.AspNetCore.Annotations – v5 • Swashbuckle.AspNetCore.Newtonsoft – v5 Then decorate your method as shown here… 31
  • 29. Microsoft Azure In closing… • Easily create an API façade for the existing backend services • Quickly add new capabilities to the APIs, such as response caching and cross domain access • Package and publish APIs to developers and partners • Reliably protect published APIs from misuse and abuse • Engage developers with dynamically generated, interactive API documentation, samples, forum, and blog • Gain business and operational insights from analytics reports
  • 30. Microsoft Azure Microsoft Learn Complete interactive learning exercises, watch videos, and practice and apply your new skills. https://bit.ly/2VxJCew
  • 31. Microsoft Azure Download e-book While there is no “one-size-fits- all” approach to API design, there is a set of common patterns, techniques, and tips we can suggest. This resource offers a potential starting point when thinking about the design for your APIs. https://aka.ms/api-design-ebook
  • 32. Microsoft Azure Resources Session Materials on GitHub Session Resources https://github.com/calloncampbell/Azure-API-Management-Demo/ All in one resource: http://aka.ms/apimlove Overview: https://azure.microsoft.com/en-us/services/api-management/ Docs: https://docs.microsoft.com/en-us/azure/api-management/ Article: Expose APIs with peace of mind when using Azure API Management Get Certified
  • 35. Microsoft Azure CD/CD with API Management 38

Hinweis der Redaktion

  1. Azure API Management abstracts, protects and optimizes your APIs. Cloud hosted, turnkey, and fully managed. Works with APIs running in the cloud or on-prem. Publish, secure and transform your APIs. Promotes and supports app developer engagement. Provides API governance, insights, and analytics.
  2. Self-hosted gateway is currently in preview and only available in the developer and premium tiers. No developer portal for the consumption tier, but you can use the self-hosted developer portal.
  3. Azure Portal Manage - creation, versioning, revisions, retirement Gateway - Developer Portal -
  4. In Azure API Management (APIM), policies are a powerful capability of the system that allow the publisher to change the behavior of the API through configuration. Policies are a collection of Statements that are executed sequentially on the request or response of an API.  Policies are applied inside the gateway which sits between the API consumer and the managed API. The gateway receives all requests and usually forwards them unaltered to the underlying API. However a policy can apply changes to both the inbound request and outbound response.
  5. https://docs.microsoft.com/en-us/azure/api-management/api-management-policies
  6. See announcement
  7. This reference architecture uses Azure Integration Services to orchestrate calls to enterprise backend systems. The backend systems may include software as a service (SaaS) systems, Azure services, and existing web services in your enterprise.
  8. https://github.com/Azure/api-management-developer-portal https://docs.microsoft.com/en-us/azure/api-management/api-management-howto-developer-portal
  9. If you want to learn more about Azure API Management, there is an excellent learning path on Microsoft Learn about how to Architect API integrations in Azure. Cost is free and a sandbox will automatically provisioned for your hands-on learning.
  10. http://aka.ms/apimlove
  11. 1 Requires deployment of at least one unit in two or more regions. 2 Actual throughput is affected by many factors including the number and rate of concurrent client connections, the kind and number of configured policies, payload sizes and backend API performance. The numbers presented in the table were obtained by testing with 1000 concurrent persistent client secure HTTP connections, minimal payload sizes, no policies configured, and a low latency backend API. Prices are in Canadian Dollar and based per month. The developer tier is for API Management trial, development, and functional test. Customers should not use this tier for production. There is no on-premises deployment option available at this time. However, you can certainly use Azure-based API management with on-premises systems and data.
  12. DevOps Resource Kit: https://github.com/Azure/azure-api-management-devops-resource-kit