Articles

Architecture de Patterns: Passerelle API

L’architecture de patterns est un concept important pour la conception et la mise en œuvre d’une passerelle API. Découvrez comment cela peut vous aider à améliorer votre système.

Qu’est-ce qu’une passerelle API ?

API Gateways are also used for testing purposes. They can be used to simulate the behavior of a real API and test the client’s response. This is especially useful when the API is not yet available or when the client needs to be tested with different types of requests.

Qu’est-ce qu’une passerelle API ?

Une passerelle API est un outil qui agit en tant qu’intermédiaire pour les demandes des clients qui recherchent des ressources à partir de serveurs ou de microservices. Il gère, route, agrège et sécurise les demandes API.

Comme pour les modèles que nous avons explorés précédemment, ceci est souvent décrit comme un modèle «contexte de microservices», mais ce n’est pas nécessairement le cas. Il pourrait être utile dans de nombreux cas «non microservices» et parfois ne devrait pas être utilisé dans les microservices.

Les passerelles API sont également utilisées à des fins de tests. Elles peuvent être utilisées pour simuler le comportement d’une véritable API et tester la réponse du client. Cela est particulièrement utile lorsque l’API n’est pas encore disponible ou lorsque le client doit être testé avec différents types de requêtes.

Les tests des passerelles API sont une étape importante pour s’assurer que l’API fonctionne correctement et qu’elle répond aux exigences des clients. Les tests peuvent être effectués en simulant des demandes réelles et en vérifiant si la réponse est correcte. Les tests peuvent également être effectués en simulant des scénarios d’erreur pour s’assurer que l’API gère correctement les erreurs.

Les tests peuvent également être effectués pour vérifier la sécurité de l’API. Les tests peuvent être effectués pour vérifier si l’API est vulnérable aux attaques, telles que les attaques par déni de service, les attaques par injection SQL et les attaques par déni de service distribué. Ces tests peuvent aider à s’assurer que l’API est sûre et ne peut pas être exploitée par des tiers malveillants.

Enfin, les tests peuvent également être effectués pour vérifier la performance de l’API. Les tests peuvent être effectués pour vérifier si l’API répond rapidement aux demandes et si elle peut gérer un grand nombre de demandes simultanées sans ralentir. Ces tests peuvent aider à s’assurer que l’API est performante et répond aux exigences des clients.

Source de l’article sur DZONE

Exécuter mes applications Go de manière sans serveur - Partie 2

Dans cet article, je vais vous montrer comment exécuter vos applications Go sans serveur, en utilisant des services cloud et des outils de développement. Partie 2 de cette série de tutoriels !

## La première partie de cette série vous a présenté le AWS Lambda Go API Proxy et comment ses implémentations d’adaptateur spécifiques au cadre / package (pour gorilla / mux, echo et net / http) vous permettent d’exécuter des applications Go existantes en tant que fonctions AWS Lambda frontées par Amazon API Gateway.

Le premier volet de cette série vous a présenté le AWS Lambda Go API Proxy et comment ses implémentations adaptées au framework/package spécifique (pour gorilla/mux, echo et net/http) vous permettent d’exécuter des applications Go existantes en tant que fonctions AWS Lambda frontées par Amazon API Gateway. Si vous ne l’avez pas encore fait, je vous encourage à y jeter un coup d’œil pour avoir une compréhension de base du AWS Lambda Go API Proxy.

Le AWS Lambda Go API Proxy prend également en charge Gin, qui est l’un des frameworks web Go les plus populaires ! Ce billet de blog suivant démontrera comment prendre un service de raccourcissement d’URL existant écrit à l’aide du framework Gin et le faire fonctionner en tant que fonction AWS Lambda sans serveur. Au lieu d’utiliser AWS SAM, nous allons changer un peu les choses et utiliser le AWS CDK pour déployer la solution.

Pour cela, nous allons créer une base de données DynamoDB pour stocker les URL raccourcies et une fonction Lambda pour gérer les requêtes entrantes. La fonction Lambda sera appelée par Amazon API Gateway et répondra aux requêtes GET et POST. La fonction Lambda utilisera la base de données DynamoDB pour stocker et récupérer les URL raccourcies. Une fois la base de données configurée et la fonction Lambda créée, nous allons utiliser le AWS CDK pour déployer le tout sur AWS.

Source de l’article sur DZONE

Implémentation d'Istio et API Gateway

L’implémentation d’Istio et d’un API Gateway peut offrir une meilleure sécurité et une plus grande flexibilité pour votre système. Découvrez les avantages de cette solution !

Avec l’arrivée des microservices, du cloud et des conteneurs, les architectes et l’équipe DevOps doivent repenser et réinventer comment simplifier la complexité du réseau et atteindre une sécurité réseau sans confiance avant d’être dans de mauvaises eaux. Il y a des limites aux passerelles API dans le parcours de modernisation des applications lorsque nous considérons Istio par rapport aux passerelles API. Cependant, cet article discutera de différents scénarios pour mettre en œuvre Istio avec votre infrastructure de passerelle API existante.

## Avec l’arrivée des microservices, du cloud et des conteneurs, les architectes et l’équipe DevOps doivent réinventer la simplification de la complexité du réseau et atteindre une sécurité réseau sans confiance

Avec l’avènement des microservices, du cloud et des conteneurs, les architectes et l’équipe DevOps doivent repenser et réinventer la manière de simplifier la complexité du réseau et d’atteindre une sécurité de réseau sans confiance avant de se retrouver dans de mauvaises eaux. Il existe des limites aux passerelles API dans le parcours de modernisation de l’application lorsque nous considérons Istio par rapport aux passerelles API. Cependant, cet article discutera de différents scénarios pour mettre en œuvre Istio avec votre infrastructure existante de passerelle API.

Une des principales raisons pour lesquelles les entreprises choisissent Istio est sa capacité à fournir une sécurité de réseau sans confiance. Istio peut être utilisé pour fournir une sécurité de réseau sans confiance en utilisant des stratégies de contrôle d’accès basées sur les rôles, des stratégies de sécurité basées sur le contenu et des stratégies de sécurité basées sur le comportement. Les stratégies de sécurité basées sur le contenu peuvent être appliquées à l’aide d’une base de données qui stocke des informations sur les requêtes et les réponses entre le client et le serveur. Les stratégies de sécurité basées sur le comportement peuvent être appliquées en surveillant les activités des utilisateurs et en identifiant les comportements suspects.

En outre, Istio peut être utilisé pour fournir une visibilité complète du trafic entrant et sortant à l’aide d’un moteur de journalisation intégré. Les journaux peuvent être stockés dans une base de données pour une analyse ultérieure. Les journaux peuvent être utilisés pour surveiller les activités des utilisateurs, identifier les comportements suspects et appliquer des stratégies de sécurité basées sur le comportement. Les journaux peuvent également être utilisés pour déterminer si des attaques ont été effectuées contre le réseau et pour identifier les vulnérabilités du réseau. Enfin, Istio peut être utilisé pour fournir une authentification et une autorisation robustes à l’aide d’une base de données qui stocke des informations sur les utilisateurs et leurs rôles.

Source de l’article sur DZONE

Qu'est-ce que Envoy Gateway et pourquoi est-il nécessaire pour Kubernetes ?

Envoy Gateway est un service proxy open source qui fournit une connectivité sécurisée et un routage intelligent pour les applications Kubernetes. Il est nécessaire pour assurer la sécurité et la disponibilité des applications.

## Envoy Gateway : Faciliter la configuration d’Envoy proxy comme passerelle API et contrôleur d’entrée

Envoy Gateway est un projet qui a été créé pour faciliter le codage des applications multicloud. Il est basé sur le proxy Envoy, qui est le plan de données du service mesh Istio. Envoy est utilisé pour gérer le trafic est-ouest (communication de service à service à l’intérieur d’un centre de données). Cependant, pour que Istio gère un réseau d’applications multicloud, Envoy a été configuré comme un proxy côté pour gérer le trafic nord-sud (trafic entrant et sortant des centres de données).

Il a été constaté que les développeurs d’applications trouvaient difficile de configurer le proxy Envoy en tant que passerelle API et contrôleur d’entrée. Cela prenait beaucoup de temps, ce qui a conduit la communauté à utiliser l’API Gateway Kubernetes en tant que partie du projet Envoy et à finalement construire Envoy Gateway. Envoy Gateway est conçu pour être facilement configurable et peut être utilisé pour fournir des fonctionnalités telles que la sécurité, la mise en cache, la journalisation et la surveillance des API. Il peut également être utilisé pour fournir des fonctionnalités telles que la mise en œuvre de règles de routage, la gestion des certificats TLS et le contrôle d’accès.

Envoy Gateway est un outil très pratique pour les développeurs d’applications multicloud. Il permet aux développeurs de configurer et de gérer facilement leurs applications multicloud. Il permet également aux développeurs de mettre en œuvre des fonctionnalités avancées telles que la sécurité, la mise en cache, la journalisation et la surveillance des API. En outre, il permet aux développeurs de mettre en œuvre des règles de routage, de gérer les certificats TLS et de contrôler l’accès aux applications. Enfin, Envoy Gateway offre une grande flexibilité et une grande scalabilité pour les applications multicloud.

Source de l’article sur DZONE

Chaîner des requêtes API avec API Gateway

Avec API Gateway, vous pouvez facilement chaîner des requêtes API pour créer des solutions plus complexes et plus riches.

Pourquoi avons-nous besoin d’une demande API enchaînée?

La demande API enchaînée (ou demande de pipeline, ou appels API séquentiels) est une technique utilisée dans le développement logiciel pour gérer la complexité des interactions API lorsque le logiciel nécessite plusieurs appels API pour accomplir une tâche. Il est similaire au traitement des demandes par lots, où vous regroupez plusieurs demandes API en une seule demande et les envoyez au serveur en tant que lot. Bien qu’ils puissent sembler similaires, une demande de pipeline implique l’envoi d’une seule demande au serveur qui déclenche une séquence d’appels API à exécuter dans un ordre défini. Chaque demande API dans la séquence peut modifier les données de demande et de réponse, et la réponse d’une demande API est transmise en entrée à la prochaine demande API dans la séquence. Les demandes de pipeline peuvent être utiles lorsqu’un client doit exécuter une séquence de demandes API dépendantes qui doivent être exécutées dans un ordre spécifique.

Comment Apache APISIX API Gateway peut-il nous aider?

Apache APISIX est un moteur de routage et de mise en cache open source pour les services Web modernes. Il fournit une solution complète pour gérer les demandes API enchaînées. En utilisant Apache APISIX, vous pouvez créer des plugins personnalisés pour gérer les demandes client qui doivent être appelées en séquence. Par exemple, vous pouvez créer un plugin qui envoie une requête à l’API de recherche de produits, puis une requête à l’API de détails de produits pour récupérer des informations supplémentaires sur les produits. Apache APISIX fournit également des outils pour surveiller et analyser les performances des API, ce qui permet aux développeurs de mieux comprendre le comportement des API et d’améliorer leurs performances. Enfin, Apache APISIX fournit des fonctionnalités de sécurité pour protéger les données et les services contre les attaques malveillantes.

En conclusion, l’utilisation d’une demande API enchaînée peut aider à gérer la complexité des interactions API et à améliorer la qualité des services Web. Apache APISIX offre une solution complète pour gérer les demandes API enchaînées, y compris des outils pour surveiller et analyser les performances des API, ainsi que des fonctionnalités de sécurité pour protéger les données et les services contre les attaques malveillantes.

Source de l’article sur DZONE

Apache APISIX, the Apache-led API Gateway, comes out of the box with many plugins to implement your use case. Sometimes, however, the plugin you’re looking for is not available. While creating your own is always possible, it’s sometimes necessary. Today, I’ll show you how to route users according to their location without writing a single line of Lua code.

Why Geo-Routing?

Geo-routing is to forward HTTP requests based on a user’s physical location, inferred from their IP. There are many reasons to do that, and here is a couple of them.

Source de l’article sur DZONE

API management solutions, also known as API gateways, are a must in the day and age of APIs. However, once you’ve set up such a gateway, you can use it for different purposes unrelated to APIs. Today, I want to show you how to improve the security of web apps.

Prevent Sniffing

Browsers are fantastic pieces of technology that try to make the life of users as comfortable as possible. However, the balance between ease of use and security may sometimes tip on the former to the latter’s detriment. For example, if an HTTP response doesn’t set the content type, the browser may try to infer it:

Source de l’article sur DZONE

A combination of AWS Lambda and Amazon API Gateway is a widely-used architecture for serverless microservices and API-based solutions. They enable developers to focus on their applications, instead of spending time provisioning and managing servers.

API Gateway is a feature-rich offering that includes support for different API types (HTTP, REST, WebSocket), multiple authentication schemes, API versioning, canary deployments, and much more! However, if your requirements are simpler and all you need is an HTTP(S) endpoint for your Lambda function (for example, to serve as a webhook), you can use Lambda Function URLs! When you create a function URL, Lambda automatically generates a unique HTTP(S) endpoint that is dedicated to your Lambda function.

Source de l’article sur DZONE

Step Functions, the serverless finite state machine service from AWS. With DynamoDB, Lambda, and API Gateway, it forms the core of serverless AWS services. If you have tasks with multiple steps and you want to ensure they will get executed in the proper order, Step Functions is your service of choice.

It offers direct integrations with many AWS services, so you don’t need to use Lambda Functions as glue. This can improve the performance of your state machine and lower its costs.

Source de l’article sur DZONE

This week, we have details of compromised Google Cloud accounts being used to mine cryptocurrency (mainly with weak or no passwords on API connections), there’s an article on how GraphQL can be used as an API gateway (including security controls), a very comprehensive guide to all things relating to API security, and a new API security training course from AppSecEngineer.

Vulnerability: Compromised Google Cloud Accounts Used to Mine Cryptocurrency

The main story this week comes from HackerNews and describes how attackers are able to exploit improperly secured Google Cloud Platform (GCP) tenants. The impact on affected users included compromising their cloud resources, like uploading cryptocurrency mining software, and ransomware and phishing attacks.

Source de l’article sur DZONE