Quelle place pour les APIs dans une architecture de microservices
Votre entreprise souhaite connecter ses utilisateurs via des applications s’adossant à des microservices. Comment pouvons-nous améliorer la communication entre les composants applicatifs et les utilisateurs ?
Les microservices représentent une refonte complète du design applicatif ainsi que du déploiement d’applications. Une architecture de microservices peut impliquer de nombreux services, comme des VM, des conteneurs, des APIs, des services de load balancing, de monitoring ainsi que des outils d’automatisation, mais aussi d’autres éléments conçus pour renforcer la cohérence de l’application. Toutefois, en dépit de ce principe, chaque élément fonctionnel peut exister indépendamment des autres.
Les fournisseurs de services Cloud, comme AWS par exemple, se sont mis à développer une liste de services qui fonctionnent avec des projets de microservices, comme les conteneurs, la gestion d’événement ou encore la gestion d’APIs. Bien que les microservices montent aujourd’hui en puissance, cette approche n’est pourtant pas adaptée à toutes les applications. Les développeurs doivent ainsi bien comprendre le principe des microservices, démarrer petit et employer l’architecture microservices lorsque cela fait sens.
Mais où se situent les APIs dans cette approche ? Les APIs sont devenues un moyen clé pour que les services Cloud s’échangent des informations et fonctionnent de concert pour au final créer une fonctionnalité ou un groupe de fonctions. Avec les microservices, une application est conçue et implémentée comme un groupe de composants pouvant être dimensionnés, plutôt que comme une unique entité monolithique.
Une API peut par exemple permettre à des workloads dans plusieurs conteneurs de partager des données, de prendre en compte les entrées des utilisateurs et de gérer les sorties (pour être stockées ou pour être dirigées vers des services de reporting). Les APIs peuvent également permettre aux applets côté client de communiquer avec les applications côté serveurs, même lorsque ces composants applicatifs sont hébergés dans un Cloud public.
Amazon API Gateway est un service qui permet aux développeurs de créer, de monitorer et de gérer des APIs de façon sécurisée chez AWS. Une fois l’API créée via API Gateway, un SDK permet au développeur de l’intégrer dans sa propre application. Cela permet ainsi à des applications tierces d’accéder à des ressources AWS, comme par exemple des fonctions Lambda, des instances EC2, de stockage ou des terminaux connectés.
Amazon API Gateway n’est pas directement lié aux architectures microservices. Mais le service propose un moyen facilement adaptable pour connecter les utilisateurs à des composants dans le Cloud, assemblés pour former des applications plutôt cohérentes. Les entreprises sont facturées au nombre d’appels aux APIs ; comme avec AWS Lambda, les utilisateurs créent une fonction personnalisée mais ne paie que pour le temps de calcul (compute) utilisé par les appels aux fonctions.
Traduit et adapté par la rédaction