
APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. Gateway d’Amazon Web Service (AWSLe Cloud AWS (Amazon WebServices) est une plateforme de services cloud développée par le géant américain Amazon.) est un service qu’on pourrait comparer à une sorte de super proxy pour vos APIs.
APIUne API est un programme permettant à deux applications distinctes de communiquer entre elles et d’échanger des données. Gateway d’Amazon Web Service (AWSLe Cloud AWS (Amazon WebServices) est une plateforme de services cloud développée par le géant américain Amazon.) est un service qu’on pourrait comparer à une sorte de super proxy pour vos APIs.
L’objectif d’API Gateway est de pouvoir proposer une API sur le WEB. Les fonctionnalités offertes par le service sont particulièrement intéressantes :
Pour commencer, il faut créer son API ! Pour cela, deux solutions :
– votre API possède un Swagger et vous pouvez l’importer directement
– vous êtes obligé de créer chaque méthode à la main ( ce qui, entre nous, n’est pas très pratique…)
Une fois que votre API est définie, il faut spécifier où sont les endpoints de votre API. Par exemple, pour votre appel GET /pets, il est nécessaire de définir où trouver la ressource.
Pour spécifier les localisations des endpoints, il faut aller dans l’interface et choisir l’URLUniform Ressource Locator ou le service AWS à appeler correspondant à cette méthode. De même, pour chacun des appels, vous pouvez configurer les headers et les paramètres d’entrée de la méthode. Cette fonction est très pratique si vous avez plusieurs versions de l’API qui n’ont pas les mêmes paramètres d’entrée.
Une fois l’API documentée, il faut réaliser « un déploiement », ce qui correspond généralement à une version de l’API ou à un Environnement (dev, rec, prod). Cette notion s’appelle l’ETAPE.
Une fois sur l’ETAPE, l’API est prête à être directement appelée. L’URL d’accès se situe en haut de la page. A ce moment, il est possible d’appliquer des restrictions d’appels et d’utiliser le certificat client.
Le certificat client est un certificat SSL qui permet de valider, côté API, que vos appels proviennent bien de l’API Gateway et non d’un autre appelant.
A l’heure actuelle, ce qui est dommage avec l’API Gateway , c’est qu’il n’est pas possible de mettre l’API Gateway publique et d’appeler une ressource privée dans un VPC de votre AMAZON.
Par exemple dans notre cas, il n’était pas possible d’appeler un Elastic Beanstalk dans un VPC. Il faut donc bien sécuriser d’une manière ou d’une autre… Pour cela, les certificats clients peuvent permettre cette validation, même si ce n’est pas l’idéal.
Une clé d’API peut servir à autoriser un de vos clients (au sens utilisateur de votre API) à effectuer un certain usage pour une certaine durée. On peut donc configurer des restrictions par clé. Il est possible d’exporter l’usage par clé, ce qui peut permettre une facturation à vos clients.
Par contre, il n’est pas forcément évident d’obliger à saisir une clé pour chaque appel. Le besoin de clé se configure au niveau de l’appel dans la partie Ressource ce qui n’est pas évident au premier abord.
Il est possible de coupler la sécurité avec un Amazon Cognito. Pour rappel, ce service d’AWS permet d’assurer une inscription et une gestion de vos utilisateurs avec des comptes tels que Facebook, ou Google, ou tout simplement avec un LDAP ou un AD d’entreprise. C’est assez simple à configurer directement pour toute l’API, ce qui, on va se l’avouer, est assez bien pratique 🙂
Ce qui est très bien fait dans Amazon Api Gateway, c’est la possibilité de visualiser simplement l’usage de l’API avec des statistiques très précises sur ce qui se passe : les temps de réponse, la latence…
Dernier point intéressant, il est possible de mettre du cache sur l’API directement depuis la console ce qui permet de très facilement utiliser API Gateway comme un proxy cache.
De manière générale, API Gateway est très facile à prendre en main et est très performant. Le principal point négatif à nos yeux est la faible capacité de sécuriser les ressources en aval de l’API Gateway avec, en particulier, la non possibilité d’utiliser les VPC. Mais on espère que cela évoluera dans un futur proche !
La Tierce Maintenance Applicative (TMA) est la maintenance et l'évolution des applications d'une entreprise assurée par un prestataire. La TMA inclut la résolution des incidents, l'optimisation des performances, et la gestion des évolutions fonctionnelles. Elle permet aux entreprises de se concentrer sur leur cœur de métier tout en garantissant une haute disponibilité et une performance optimale de leurs applications. Une collaboration réussie entre le client et le prestataire assure la pérennité et l'efficacité des applications. En voici quelques clés :
Le premier élément de la sécurisation d’un environnement est la présence d’un firewall entre Internet, et votre environnement. Cet élément doit être le seul point d’entrée de votre environnement, protégeant ainsi toutes vos machines d’attaques possibles
Afin d’alleger les WAR et EAR et limiter le temps de déploiement, JBOSS 7 propose une solution de module particulièrement pratique. Explication sur la méthode de mise en place.