REMARQUE :
- Ceci n’est PAS un cours de codage. L’accent est mis sur les outils de gestion des API utilisant des logiciels standard (prêts à l’emploi)
- Vous n’avez besoin d’aucune carte de crédit ou paiement pour utiliser les outils de ce cours . Tous les logiciels (y compris API manager lui-même) sont disponibles en édition gratuite. Certains pourraient même ouvrir leurs codes en open source.
—————– ————————————————– ————————————————– ——————
Mise à jour novembre 2020
Mise à jour majeure
- Utilisez Kong 2, Elastic 7 et la dernière version du logiciel (à partir de 2020)
- Ajouté : OAuth2
- Ajout : Cache proxy
- Audio amélioré pour TOUS les cours
————————————- ————————————————– ————————————————-
Avant de commencer
Si vous voulez apprendre, vous avez simplement besoin d’un navigateur Web. Pour exécuter des outils et des travaux pratiques, du matériel et des logiciels spécifiques sont requis. Veuillez consulter les exigences de la première conférence (avec le titre Lisez-moi d’abord : matériel et logiciel requis).
Prérequis
Nous utiliserons Docker (qui est une technologie de conteneur) pour installer les outils requis pour ce cours de gestion des API. Dans ce cours, vous apprendrez les connaissances de base de Docker. Pour installer Docker, vous devez être familiarisé avec :
- Windows : utilisation de base de l’invite de commande & commande, accès administrateur
- Mac / Linux : utilisation de base du terminal & commande, accès root / sudo
Je fournis les instructions d’installation de Docker pour Windows 10 Professionnel Édition. Pour tout autre système d’exploitation -y compris les autres versions de Windows-, je fais référence à la documentation officielle, mais pas à la vidéo. Je suis désolé car je n’ai pas de machine Mac/Linux.
Ne vous inquiétez pas, la documentation officielle est complète et assez facile à suivre.
——————————————————– ————————————————– ————————————————– ————
Fonctionne avec REST API
Votre lieu de travail adopte une architecture moderne et s’appuie sur l’API REST. Avoir REST API offre des avantages, mais les avantages ont un coût. Pour la plupart des équipes, les processus de définition et d’application des normes ou des politiques dans leurs API sont entièrement manuels. Ce processus implique souvent plusieurs équipes ou membres d’équipe et devient encore plus pénible à mesure que le nombre d’API augmente.
Maintenant que vous avez provisionné vos API, vous devez également avoir une visibilité sur vos API. Comment évolue votre trafic API au fil du temps ? Quelle API utilisée le plus ? Quelle API a un taux d’erreur élevé ? Disposer de ces données vous aidera à analyser et à prendre les bonnes décisions pour le développement ultérieur de l’API.
La mise en œuvre des politiques, des sécurités ou des analyses peut être effectuée en écrivant une logique supplémentaire sur vos API. Vous pouvez même créer vos propres outils d’analyse pour surveiller et analyser vos API. Mais ces processus seront redondants et prendront du temps. Pourquoi ne trouvons-nous pas un moyen plus efficace pour que les développeurs puissent se concentrer sur les besoins de l’entreprise ? Cela maximisera en fin de compte la productivité des développeurs qui s’appuient sur l’API, et apportera à son tour des avantages à l’entreprise.
Logiciel de gestion d’API
Les outils de gestion d’API peuvent être une réponse. Les outils de gestion d’API sur le marché fournissent probablement des fonctionnalités d’API communes, telles que :
- API gateway, un point de communication unique pour accéder à l’API
- Sécurité de base pour accéder à l’API
- Contrôle du trafic, comme la limitation du débit ou le quota
- API Monitor health (est API accessible ou en panne ?)
- Équilibrage de charge
- API Analytics (taux de réussite, taux d’erreur)
- Enregistrement de votre trafic
- Portail développeur, agit comme API documentation. Un format de documentation API courant est swagger/Open API Specification
Les grands acteurs comme Google, IBM ou Axway offrent de bonnes fonctionnalités pour la gestion de l’API -si vous êtes prêt à payer une certaine somme d’argent-. Mais si vous préférez l’approche open source, start-small (mais toujours bonne), il existe également plusieurs outils de gestion d’API sur le marché, dont Kong API Manager (que nous utilisons dans ce cours).
Dans ce cours, nous allons apprendre la gestion des API à l’aide de plusieurs outils. Tous les logiciels disponibles en édition gratuite. Certains sont livrés avec une option de mise à niveau vers l’édition premium avec plus de fonctionnalités. Les outils que nous allons apprendre ici sont :
- Kong API managementC’est l’objectif principal de ce cours.
- Docker et docker composentTechnologie de conteneur populaire pour accélérer notre installation et notre configuration. Cependant, ce cours n’est PAS un cours de docker, nous n’irons donc pas en profondeur sur docker.
- ZipkinUn outils de traçage REST API open source. Utile pour le traçage distribué sur différents services, même si les services API dispersés sur plusieurs machines.
- Elasticsearch, Logstash & KibanaUn moteur de recherche populaire et ses outils de visualisation. Ce cours est un cours d’introduction sur la façon d’utiliser ces piles pour analyser votre trafic API. Mais ce cours ne se concentre pas sur la pile élastique.
- Prometheus & GrafanaOutils de surveillance open source à rassembler métriques de performance et afficher ces métriques sous forme de graphiques de séries chronologiques.
Avantage de l’API Management (pour l’ingénierie et l’entreprise )
Avouons-le : nous avons des contraintes de temps. Les entreprises ont besoin de ces API. Et ils en ont besoin rapidement.
L’écriture d’une API qui fonctionne uniquement sur le plan fonctionnel mais pas sécurisée, ou techniquement défectueuse, apportera des problèmes tôt ou tard. Peut-être que quelqu’un trouve une faille de sécurité dans votre API et l’exploite. Ou vous travaillez dans un endroit où l’API est utilisée dans de nombreux endroits par de nombreuses personnes/systèmes ? Sans avoir la transparence des API analytics (utilisation, taux d’erreur, etc.), il est difficile de savoir si votre API fonctionne correctement, ou besoin d’amélioration.
Écrire des codes pour la mise en œuvre de l’API la sécurité, l’analyse ou d’autres aspects techniques est une bonne chose. Que ce soit un programmeur chevronné ou de nouveaux enfants à la maison adoreront le défi d’écrire de tels codes et de résoudre des problèmes complexes.
Mais les contraintes de temps parlent fort. L’écriture de tels codes peut prendre beaucoup de temps. C’est une bonne chose de concentrer les efforts des développeurs sur la mise en place d’une logique métier qui, à son tour, permet à l’entreprise de rester en tête.
La gestion des API peut être utilisée pour vous aider à résoudre les aspects courants des API, tels que la sécurité, l’analyse , ou qui peut accéder à quelle API. Et la plupart du temps, vous n’avez pas besoin d’écrire de code. Placez votre API derrière une gestion des API et configurez-la pour qu’elle fonctionne avec votre API.
Cela signifie que la productivité augmente. Quel que soit votre rôle dans l’entreprise, la productivité est toujours une bonne chose, et la gestion des API (même open source) peut vous aider à la booster.
Kong API Management
Kong fournit une passerelle API pour les API REST avec une architecture de plug-in pour permettre aux utilisateurs d’ajouter des fonctionnalités à la passerelle Kong principale. La plate-forme de gestion des API de Kong est attrayante. Il devrait plaire aux utilisateurs ayant des exigences de base
qui souhaitent obtenir une plate-forme initiale qu’ils peuvent ensuite ajouter au fur et à mesure,
avec des plug-ins fournis par Kong ou par la communauté , ou avec leurs propres développements (oui, il est possible de développer le plugin Kong en fonction de vos propres besoins, bien que nous ne le traitions pas dans ce cours). Les entreprises qui souhaitent utiliser la plate-forme de gestion des API Kong peuvent démarrer rapidement comme vous pouvez le voir dans le cours -moins d’une heure pour la configuration et l’exécution-.
Les utilisateurs cherchant à exécuter des stratégies numériques trouveront Kong utile pour activer leurs plateformes.
API Monitoring & Analytics
Dans ce cours, nous apprendrons à faire de l’analyse et de la surveillance non seulement à l’aide de Kong API Manager, mais aussi d’autres outils, et surtout comment les intégrer. Un seul outil est assez puissant, mais l’intégration nous apportera plus d’avantages
Les outils de gestion d’API sont généralement fournis avec un module d’analyse d’API. Nous pouvons utiliser les analyses pour gagner en visibilité sur l’ensemble de l’écosystème des API. L’analyse collectera automatiquement et en continu toutes les données de trafic API, telles que le temps de performance, le taux de réussite (combien de réussites par seconde), le taux d’erreur. En tirant parti de l’analyse des API, nous pouvons connaître les données sur les API qui ont une bonne valeur et celles qui doivent être améliorées.
Du côté des opérations, nous pouvons utiliser des outils de surveillance des API pour détecter de manière proactive le trafic et les performances des API. questions. Imaginez qu’un service tombe en panne à 10 heures et que personne ne le sache avant une heure plus tard, ce qui signifie que des problèmes sont déjà survenus et qu’une opportunité commerciale pourrait déjà être perdue. En tirant parti de la gestion open source des API Kong (et de plusieurs autres outils gratuits), nous pouvons recevoir une notification en moins de 5 minutes après la panne du service.