gestion des apis avec azure api management - samir arezki

49
Software Architect chez Exakis - MVP Azure Gérez vos APIs avec Azure API Management Samir AREZKI @ itfana

Upload: samir-arezki-

Post on 13-Apr-2017

114 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Gestion des APIs avec Azure API Management - Samir AREZKI

Software Architect chez Exakis - MVP Azure

Gérez vos APIs

avec

Azure API Management

Samir AREZKI

@itfana

Page 2: Gestion des APIs avec Azure API Management - Samir AREZKI

#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

Page 3: Gestion des APIs avec Azure API Management - Samir AREZKI

Agenda

1. Introduction

2. Etude de cas

3. Démarche

4. Mise en place

5. Conclusion

Page 4: Gestion des APIs avec Azure API Management - Samir AREZKI

INTRODUCTION

Page 5: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 6: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 7: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 8: Gestion des APIs avec Azure API Management - Samir AREZKI

API ECONOMY

Twitter

> 15B + API calls a day

Google

> 10 B + API calls a day

Facebook

> 7B API calls a day

Saleforce

> 1B + API calls a day

Ebay

> 1B + API calls a day

Netflix

1,5B API calls a day

Page 9: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 10: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 11: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 12: Gestion des APIs avec Azure API Management - Samir AREZKI

ETUDE DE CAS

Page 13: Gestion des APIs avec Azure API Management - Samir AREZKI

LE CONTEXTE

• Client : Un groupe hôtelier

• En chiffre :

– En 2016: 1000 hôtels

– Cible 2020 : 5000 hôtels

Page 14: Gestion des APIs avec Azure API Management - Samir AREZKI

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)

Page 15: Gestion des APIs avec Azure API Management - Samir AREZKI

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é

Page 16: Gestion des APIs avec Azure API Management - Samir AREZKI

DÉMARCHE

Page 17: Gestion des APIs avec Azure API Management - Samir AREZKI

CYCLE DE VIE DES APIS

DESIGN

DEV

TEST

DEPLOY

MANAGE

MONITOR

Page 18: Gestion des APIs avec Azure API Management - Samir AREZKI

ARCHITECTURE TECHNIQUE

APP DEVELOPERS

APPS

API PUBLISHERS

Hosted anywhere.Developed using any tech

nology.

BACKENDAPIs

DIRECT ORVPN

Publisher portal

Gateway

Developer Portal

Page 19: Gestion des APIs avec Azure API Management - Samir AREZKI

MISE EN PLACE

Page 20: Gestion des APIs avec Azure API Management - Samir AREZKI

É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

Page 21: Gestion des APIs avec Azure API Management - Samir AREZKI

API DESIGN

• Types d’APIs :

– Interne

– Externe

– Public/Privé

• RESTful

• Spécification

• Versioning

Page 22: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 23: Gestion des APIs avec Azure API Management - Samir AREZKI

DÉVELOPPEMENT

• Frameworks :

– ASP.NET Web API

– ASP.NET Core

– JAVA

– Node.JS

– ….

Page 24: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 1

API Design & Development

Page 25: Gestion des APIs avec Azure API Management - Samir AREZKI

DÉPLOIMENT

• Azure App Service - API App

– Service PaaS

– Hébergement d’APIs REST

• En .Net

• Ou autres technologies : Node.JS, Java, PHP…

Page 26: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 4

Déploiement

Page 27: Gestion des APIs avec Azure API Management - Samir AREZKI

AZURE API MANAGEMENT

• Azure API Management

– Une solution clé en main (PaaS)

pour la publication d’APIs à

destination de développeurs

internes et externes

Page 28: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 29: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 30: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 5

APIM - Publisher Portal

Page 31: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 32: Gestion des APIs avec Azure API Management - Samir AREZKI

Policies

Page 33: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 6

APIM - Policies

Page 34: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 7

APIM - Developer Portal

Page 35: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 8

Client Libraries / SDKs

Page 36: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 37: Gestion des APIs avec Azure API Management - Samir AREZKI

ANALYTICS – SCENARIO AVANCÉ

ApplicationsAzure API Management

Azure EventHub

Azure Stream Analytics

PowerBI

Storage SQL Database

Log events to Azure Event

Page 38: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 8

APIM - Analytics

Page 39: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 40: Gestion des APIs avec Azure API Management - Samir AREZKI

DEMO 8

APIM - API Security

Page 41: Gestion des APIs avec Azure API Management - Samir AREZKI

CONCLUSION

Page 42: Gestion des APIs avec Azure API Management - Samir AREZKI

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

Page 43: Gestion des APIs avec Azure API Management - Samir AREZKI

AZURE APIM PUBLIC ROADMAP

http://aka.ms/apimroadmap

Page 44: Gestion des APIs avec Azure API Management - Samir AREZKI

APIs - PREVIEW

Page 45: Gestion des APIs avec Azure API Management - Samir AREZKI

Microsoft Azure makes all you want …

…except French Kiss!

Page 46: Gestion des APIs avec Azure API Management - Samir AREZKI

QUESTIONS ?

Page 47: Gestion des APIs avec Azure API Management - Samir AREZKI

http://bit.ly/MSCSevalJ2

Evaluez les sessions…

…et tentez de gagner une Surface Pro 4

Page 48: Gestion des APIs avec Azure API Management - Samir AREZKI

Merci beaucoup à nos sponsors!

Thank you to all our sponsors!

Join the conversation

#MSCloudSummit

@MSCloudSummit

Page 49: Gestion des APIs avec Azure API Management - Samir AREZKI

Merci Beaucoup! Thank you!

Join the conversation

#MSCloudSummit

@MSCloudSummit