Qu'est-ce que les systèmes de gestion des API

Pourquoi sont-ils nécessaires et quelles fonctions ils remplissent.

Bonjour à tous! Je m'appelle Anton et je suis ingénieur au sein de l'équipe responsable du développement des services informatiques centralisés utilisés par les équipes produits de X5 Retail Group.





Dans cet article, je parlerai des systèmes de la classe API Management et en particulier d'APIM Gravitee ( https://www.gravitee.io ), ce qu'est cette classe de systèmes, comment ils sont utilisés pour répondre aux besoins des équipes de développement. L'article ne plonge pas dans les aspects techniques, mais il peut être utile pour les architectes et les gestionnaires qui envisagent d'essayer d'utiliser cette classe de systèmes, mais ne savent pas s'ils conviennent à leurs tâches, ainsi que pour les développeurs qui pourraient découvrez de nouveaux outils pour un travail pratique avec l'API.





Qu'est-ce que les systèmes de gestion des API

Définition

API Management - - (API), , , , . 





, API Management - , , , API .





"API Management" , API , , . , , , API.





?

, API . ? - . "". API, : , .. API, , , . API : , , , / IP. , JSON , DevOps rate limit, DoS , : Service Discovery, Load Balancing, Blue/Green Canary deploy. 





API Management (. . 1):





  1. Management Core: , , , , API Gateways API, CORS, Failover, Healthcheck, API .





  1. Web/Development Portal: UI, , API, healthcheck , , API.





  1. API Gateways: , , , healthcheck Backend API.





  1. Backend API: - .





  1. Databases: API Management, API, API Gateways, backend, healthcheck, API Management.





figue.  1 Architecture du service de gestion des API
. 1 API Management

API Management

:





  • : .





  • :  , , Keycloak.





  • : API.





  • API: / .





  • : / API.





:





  • Latency: / .





  • TCO: , , nginx . 





API Gateways

API Gateways ( ), (. . 2). API Gateways /, . API Gateways , / . API Gateways , . API Gateways, , (L7) OSI.





figue.  2
. 2

 API Gateways

API Gateways:





  • Local API Gateways  .





  • DMZ API Gateways  .





, , . . - .









Name





Tags





APIGee





Enterprise





WSO2 API Manager





Enterprise/Open source





SAP API





Enterprise





3scale





Enterprise





IBM API Management





Enterprise





Kong





Enterprise/Open source





Mashery





Enterprise





Microsoft Azure API Management





Enterprise





Mule Soft





Enterprise





Gravitee

X5 Retail Group APIM Gravitee (https://www.gravitee.io). – API DMZ.





:





  • 23





  • 69 API Gateways





  • 400





  • 350 RPS





  • 30 000 000+





, APIM Gravitee.





  1. Identity provider: :





  1. MongoDB ( , );





  2. In-memory ( admin);





  3. LDAP / Active Directory;





  4. OpenID Connect IdP (Azure AD, Google);





  1. Fetchers: API :





  1. File (Swagger, OpenAPI);





  2. HTTP;





  3. GIT;





  1. Policies: , . . -, - . :





  1. API Key - API-;





  2. Rate-limiting - backend;





  3. Transform Headers/Transform Query Parameters - ;





  4. etc.





Gravitee Gateway 30 . . , "", . 





  1. Reporters: . :





  1. Reporter file;





  2. Elasticsearch;





  3. Accesslog;





, :





  1. / — , , , api-;





  2. — , , , - ..;





  3. — , , ;





  1. Repositories: - API, , , . :





  1. MongoDB ( );





  2. Redis;





  3. Elasticsearch;





  4. PostgreSQL ( JDBC );





  1. Resources: , :





  1. OAuth2 ( OAuth2 );





  2. Cache ( );





  3. LDAP ( LDAP );





  1. Services: , :





  1. Sync ( );





  2. local-registry ( API json . , API - rest API ( json API, .));





  3. health-check ( );





  4. monitor ( , os / process / jvm, );





  1. Notifiers: . , , Slack.





  1. Email;





  1. Alerts: , Notifier.





  1. Vertx;





https://github.com/gravitee-io, Java, .





API

API :





  1. API









  1. API





API

API , API





, :





  1. !





  1. swagger .





  1. Git/URL



    .





, "->"





API 5





API, , , API .





:





Simple mode backend api, : https://backend-server/backend-api/





Advanced mode   backend api, tenant sharding tags.





tenant - Elasticsearch .





sharding tags - , API Gateways





Plan





Plan - , , Gateway.





Name -  





Security type -  : Keyless(public), API Key, JWT, OAuth2





Description -





Rate limit - - /





Quota -  - ///





Path authorization -





API.





API

swagger.json





API.









" API ", " API"





CREATE API .





 

API . API , - "keyless". , .





:





  1. Tags (. . 3)





Chiffre:  3
. 3

2. (. . 4)





Chiffre:  quatre
. 4

3. Rate Quota (. . 5)





Chiffre:  cinq
. 5

4. , (. . 6)





Chiffre:  6
. 6

, , Management API, . , , . , , ,  APIM Gravitee  . , , .








All Articles