API internes ou externes : comment choisir ?

5 min
32
0
0
Publié le

Les API ou interfaces de programmation sont des ensembles de procédures et fonctions qui facilitent le développement d’applications. Basiquement, elles servent d’intermédiaires entre différentes plateformes logicielles et permettent à des programmes distants de communiquer entre eux. Ces API peuvent être internes ou privées, c’est-à-dire créées et uniquement mises à disposition des développeurs d’une entreprise. À l’inverse, certaines API sont externes ou publiques, c’est-à-dire accessibles par des tiers (développeurs, partenaires, etc.) extérieurs à une organisation. Si leur fonctionnement est sensiblement le même, les API internes et externes ont une conception, une sécurisation et un cycle de vie très différents. Lors de la création d’un site, d’une application ou de tout autre projet informatique, l’utilisation d’un type d’API doit être soigneusement réfléchie. Découvrez dans cet article comment choisir entre API internes et externes.

Une meilleure sécurité pour les API internes

Dans l’optique de renforcer la sécurité des données échangées, les entreprises ont tendance à privilégier les API internes. Elles partent du postulat que concevoir une interface en interne permet d’avoir une meilleure visibilité sur d’éventuelles vulnérabilités. L’envoi de données à des ressources externes pouvant représenter en lui-même une vulnérabilité. Le cabinet Gartner, spécialiste du conseil et de la recherche dans le domaine des techniques avancées, prévoit d’ailleurs que les API deviendront les vecteurs de cyberattaques les plus fréquents dans les prochains mois.

En adoptant une politique de sécurisation stricte des interfaces publiques utilisées, les risques peuvent être fortement limités, mais restent supérieurs à ceux des API internes. Par exemple, en exploitant une API externe vulnérable, un cybercriminel peut se connecter à une application, obtenir un jeton global et accéder aux détails du compte d’un autre utilisateur. En interne ces failles ne pourront être utilisées que par des attaquants internes, puisqu’elles sont normalement isolées dans le réseau privé d’une organisation

Une rapidité de développement accrue avec les API externes

Une API externe ou ouverte est conçue pour être accessible à tous les utilisateurs qui souhaitent créer des applications et les intégrer. Son succès et sa popularité dépendent de sa capacité à attirer des développeurs externes. Généralement, les éditeurs et plateformes d’API publiques proposent des fonctionnalités qui facilitent la conception, la publication, le partage et la consommation d’API.

Pour les programmeurs l’utilisation d’une API externe évite souvent de devoir « réinventer la roue ». Le recours à ces interfaces publiques les aide à gagner du temps lors de l’écriture de code en limitant le nombre d’erreurs. Les API externes réduisent encore leur temps de prise en main grâce à leur documentation. Comme elles sont « ouvertes », les développeurs peuvent les intégrer sur de multiples plateformes différentes. 

Une surveillance plus précise avec les API privées 

Contrairement à ce que l’on pourrait penser, la surveillance des API et le suivi de leurs performances ne varient pas significativement entre les interfaces internes ou externes. Toute API utilisée à des fins de production, que ce soit par des développeurs internes ou externes, nécessite une supervision attentive des pannes et des éventuelles pertes de performances.

Avec les API internes, les programmeurs peuvent généralement collecter autant de données qu’ils le souhaitent, car ils peuvent surveiller à la fois le serveur d’API et les composants clients. Avec les API externes, ils sont fréquemment limités aux métriques disponibles sur le serveur. Toutefois, de multiples outils et plateformes permettent de mettre en place un monitoring des API à l’aide de tests automatisés qui mesurent notamment :

  • la disponibilité des interfaces ;

  • l’utilisation du processeur et de la mémoire ;

  • la latence moyenne et maximale ;

  • le nombre de requêtes par minute (RPM) ;

  • les erreurs et ressources défaillantes ;

  • les problèmes réseau ;

  • l’état des informations d’identification ;

  • la disponibilité de la base de données.

Une publication et une découverte simplifiées avec les API externes

La publication et la découverte d’API sont les phases qui permettent aux développeurs de trouver les interfaces et de les intégrer à leurs programmes et applications. Les API externes sont publiées de manière à être facilement utilisables et compréhensibles par le plus grand nombre.

Pour les API internes, ce sont les développeurs de l’organisation qui ont pour responsabilité de les publier en fonction de ce que les autres membres doivent connaître et surtout faire avec les interfaces. Avec les API internes, les équipes de développement doivent anticiper les besoins potentiels des différents services et utilisateurs finaux. Ils doivent ensuite les maintenir et les faire évoluer en fonction des objectifs de l’entreprise.

API internes ou externes : faut-il vraiment choisir ?

Les API internes et externes présentent donc chacune leurs propres avantages et inconvénients. Dans le but de sécuriser au maximum leur données, les entreprises disposant de compétences internes choisissent généralement de développer leurs propres interfaces réutilisables, avant d’éventuellement les rendre disponibles à des tiers externes.

Les plus petites structures ou les secteurs d’activité demandant de mises en production rapides opteront pour la facilité d’utilisation et la flexibilité des API externes. Certaines entreprises matures et disposant de développeurs en interne, optent aussi pour des interfaces publiques afin de gagner en productivité et en réactivité.

Les principaux critères de choix des organisations vont concerner :

  • la possibilité d’obtenir des moyens simples pour gérer le cycle de vie de l’API (création, publication, mise à jour et suppression) ;

  • l’accès sécurisé pour protéger les données sensibles qui sont exposées ;

  • les protocoles utilisés par les API ;

  • la facilité d’intégration dans les applications existantes et des projets en cours ;

  • la faculté de surveiller en temps réel les accès et performances des API.

Selon ces critères et surtout leur priorité, les organisations et professionnels de l’IT pourront opter pour des API externes ou internes ou encore mixer les deux types d’interfaces au sein d’un même projet informatique.

Et vous en tant que professionnel de l’IT, avec quels types d’interfaces travaillez-vous le plus dans vos projets ou missions ? Privilégiez-vous les API internes ou externes ? Partagez-nous vos avis sur le forum IT !
  

Sources et liens utiles :

Le Rapport sur l’état de l’économie des API 2021 de Google

Comprendre les API de RedHat

Boostez votre carrière

Les meilleures offres d’emploi sont chez Free-Work

Notre CVthèque est la première source de recherche de talents pour + 1 000 entreprises. Déposez votre CV et postulez en un clic !

Continuez votre lecture autour des sujets :
# Développeur
# Gestion de projet
# Conseils

Commentaire

Dans la même catégorie