gestion des apis avec azure api management - samir arezki
TRANSCRIPT
Software Architect chez Exakis - MVP Azure
Gérez vos APIs
avec
Azure API Management
Samir AREZKI
@itfana
#MSCloudSummit - MS Cloud Summit Paris 2017 Un événement proposé par Agile.Net, aOS, AZUG FR, CMD, GUSS
SPEAKER
Samir AREZKISoftware Architect chez Exakis
MVP Azure
@itfana
Agenda
1. Introduction
2. Etude de cas
3. Démarche
4. Mise en place
5. Conclusion
INTRODUCTION
C’EST QUOI UNE APIS ?
• Les API sont un moyen efficace de faire communiquer
entre elles deux applications.
CONSUMERSALWAYS CONNECTED
APPs ON DEVICES
PARTNERS
INTERNAL
APIs & DIGITAL TRANSFORMATION
• Les APIs alimentent les
applications et les
plateformes
• Les APIs sont la base
d’une stratégie multi-
canal et/ou omni-canal
APIs
Web Apps
Tablet
Mobile device
Gaming Console
Internet TV
Connected Car
Strategic Partner Integration
API ECONOMY
• Il y a plus de 20 millions de développeurs dans
le monde
• D'ici 2020, il y aura plus de 50 milliards
d'appareils connectés
API ECONOMY
> 15B + API calls a day
> 10 B + API calls a day
> 7B API calls a day
Saleforce
> 1B + API calls a day
Ebay
> 1B + API calls a day
Netflix
1,5B API calls a day
LES OPPORTUNITÉS
• Étendre votre plate-forme– Ouvrir de nouveaux canaux
– Améliorer votre visibilité
– Présenter une façade uniforme
• Comprendre vos clients– Découvrir de nouveaux scénarios et marchés
– Prioriser vos offres
– Offrir plus de valeur
LES OPPORTUNITÉS
• Monétisation de vos données et services
– Vendre des APIs
– Augmenter les ventes via API
– Améliorer l'image de marque
– Améliorer l'agilité interne
MONÉTISER VOS DONNÉES ET SERVICES
API is the product
API projects the product
APIs promotes the product
API powers and feeds
the product
Direct revenue
Utility / Pay per transaction
Tiered Pricing Bands
Reach more placesProvide more utility
Allow deeper integration
Enable Mobile
Biz Development Lead Gen
User Acquisition
Advertising
Affiliate Programs
Brand promotion
Content AcquisitionPartner tie-in
Internal Innovation
Core value is tied up in the API
Extends availability of functionality to new places
Secondary function and indirect revenue impact
Content acquisition via the API
ETUDE DE CAS
LE CONTEXTE
• Client : Un groupe hôtelier
• En chiffre :
– En 2016: 1000 hôtels
– Cible 2020 : 5000 hôtels
LE BESOIN • Lancement d’un nouveau programme d’API
• Les objectifs du programme API : – Développement de nouvelles applications innovantes (web
/ mobiles)
– Ouverture d’APIs à des partenaires
– Analytiques sur l’utilisation des APIs pour le département marketing
– Animer une communauté de développeurs (internes et externes)
LES EXIGENCES – FOCUS APIS
• Faciliter l’utilisation des APIs par les développeurs
(internes/externes)
• Une expérience self-service
• Une solution globalisée
• Surveillance et contrôle des flux entrants et sortants
• Sécurité
DÉMARCHE
CYCLE DE VIE DES APIS
DESIGN
DEV
TEST
DEPLOY
MANAGE
MONITOR
ARCHITECTURE TECHNIQUE
APP DEVELOPERS
APPS
API PUBLISHERS
Hosted anywhere.Developed using any tech
nology.
BACKENDAPIs
DIRECT ORVPN
Publisher portal
Gateway
Developer Portal
MISE EN PLACE
ÉTAPES D’IMPLÉMENTATION1) API design
2) Develop
(Implement Logic)
Swagger
4) Publish 5) Share 7) Monitor
AzureMobile
Engagement
6) Control
3) Deploy
Developer Portal
API Apps
APIMAPIM APIMAPIM
API DESIGN
• Types d’APIs :
– Interne
– Externe
– Public/Privé
• RESTful
• Spécification
• Versioning
RENDEZ SWAG VOS APIS
• Swagger
– Décrire d’une manière agnostique et standard les APIs REST.
– Permet aux humains et aux ordinateurs de comprendre les capacités du service.
• The OpenAPI Specification
– https://github.com/OAI/OpenAPI-Specification
DÉVELOPPEMENT
• Frameworks :
– ASP.NET Web API
– ASP.NET Core
– JAVA
– Node.JS
– ….
DEMO 1
API Design & Development
DÉPLOIMENT
• Azure App Service - API App
– Service PaaS
– Hébergement d’APIs REST
• En .Net
• Ou autres technologies : Node.JS, Java, PHP…
DEMO 4
Déploiement
AZURE API MANAGEMENT
• Azure API Management
– Une solution clé en main (PaaS)
pour la publication d’APIs à
destination de développeurs
internes et externes
AZURE APIM – COMPOSANTS CLÉS (1/2)
• Publisher Portal :
– Interface d’administration pour
configurer votre programme d’API
• Gateway :
– le point de terminaison (Endpoint) des
APIs managées
• Policies :
– Les règles à appliquer sur les APIs
(restrictions, transformation
authentification, mise en cache, etc..)
Publisher Portal
Gateway
PoliciesDeveloper
Portal
AZURE APIM – COMPOSANTS CLÉS (2/2)
• Developer Portal
– Documentation des APIs
– Tester les APIs
– Demander de l’aide
– Etc
Publisher Portal
Gateway
PoliciesDeveloper
Portal
DEMO 5
APIM - Publisher Portal
Policies• Modifier le comportement de l'API via de la configuration
• Types : – Access restriction
– Authentication
– Transformation
– Advanced
– Custom
• La liste des policies : https://docs.microsoft.com/en-us/azure/api-management/api-management-policy-reference
Policies
DEMO 6
APIM - Policies
DEMO 7
APIM - Developer Portal
DEMO 8
Client Libraries / SDKs
ANALYTICS • Dashboard accessible
directement depuis le Publisher
Portal : – Usage :
• Calls, Bandwidth
– Health :
• Status codes, API response time,
Service response time, cache
– Activity :
• Developers, Products, Subscriptions,
APIs, Operations
Usage Health
Activity
ANALYTICS – SCENARIO AVANCÉ
ApplicationsAzure API Management
Azure EventHub
Azure Stream Analytics
PowerBI
Storage SQL Database
Log events to Azure Event
DEMO 8
APIM - Analytics
API Security • Transport
– HTTPS/SSL
• Authentification– HTTP Basic
– Client Certificates
– Authorization Servers• OAuth2
• OpenIdConnect
• Last Mile Security – Sécurisation du lien entre la Gateway et le Backend
DEMO 8
APIM - API Security
CONCLUSION
API MANAGEMENT & IPAAS VISION
• Stratégie IPaaS (IntegrationPlatform as a Service) sur Azure
• Composantes de cette stratégie :
– Logic Apps
– Connectors
– Azure Services : API Apps, Functions..
– Azure Service Bus
– API Management
Logic
Apps
APIs - PREVIEW
Microsoft Azure makes all you want …
…except French Kiss!
QUESTIONS ?
http://bit.ly/MSCSevalJ2
Evaluez les sessions…
…et tentez de gagner une Surface Pro 4
Merci beaucoup à nos sponsors!
Thank you to all our sponsors!
Join the conversation
#MSCloudSummit
@MSCloudSummit
Merci Beaucoup! Thank you!
Join the conversation
#MSCloudSummit
@MSCloudSummit