La trilogie Apigee ou le mariage détonnant des API et du Big Data.
Publié par La rédaction le | Mis à jour le
En développant sa plateforme à partir d'une feuille blanche, les spécialistes d'Apigee ont contourné les écueils des ESB qu'ils ont connus dans leurs expériences chez les géants du logiciel. Anatomie partielle d'une plateforme prometteuse.
Les dirigeants d'Apigee, éditeur d'une plateforme API depuis plusieurs années, ont organisé à Londres un événement pour sensibiliser les entreprises à l'évolution majeure de l'informatique vers les API. Une tendance déjà prononcée, comme l'a expliqué silicon.fr à plusieurs reprises. Ainsi, CA technologies a racheté Layer7, ou Axway intervient pour parler du sujet comme dans cet article. Ou encore, en allant chercher le sujet au coeur de la Silicon Valley chez Mulesoft.
Outre cette opération de sensibilisation plutôt réussie (voir notre article, Apigee a également proposé quelques présentations sur ses propres solutions.
Entre ESB et interfaces clientes
Certes, la logique des APIs répond aux attentes applicatives du point de vue du client ou de l'utilisateur (au sens large), contrairement à l'ESB qui règle des problèmes de communication comme le silotage applicatif côté applications back-office. Autre différence, les API sont plus spécialisées et conçues pour traiter au plus vite et unitairement des actions simples. Toutefois, malgré ces différences, Apigee se positionne au-dessus de l'ESB pour «traiter plus efficacement les actions de type "system of engagement", via une approche de type consommation de service». Les dirigeants de l'éditeur, issus de grandes entreprises comme IBM ou BEA, savent combien ces plateformes ont nécessité de temps et d'investissement.
On devine cependant qu'à terme, ils envisagent un monde ou la plateforme API occupera tout l'espace. Encore faudra-t-il former les développeurs à ces technologies et surtout à ces approches.
D'ailleurs, «nous avons développé notre plateforme selon une approche "API First", ce qui permet une ouverture contrôlée et une flexibilité optimales,» explique Anant Jhingran, vice-président Produits chez Apigee. En effet, invoquer des librairies de fonctions augmente forcément la productivité, comparé au temps nécessaire pour développer l'équivalent en écrivant du code. D'autant plus qu'il faut en outre tester, corriger, etc.
De même, un paramétrage apporte un niveau de configuration bien plus élevé que des lignes de code. Surtout avec des fonctions éprouvées et conçues par le spécialiste de la plateforme. A quoi bon refaire la roue "en version dégradée"?
Côté architecture, le compromis n'est pas de mise.
En effet, sur une infrastructure distribuée, et mesurée pour fournir le maximum de performance, tout est prévu pour un minimum de latence, une isolation optimale des applications et une simplicité d'administration.
Positionnée entre les clients et les applications, la plateforme Apigee est idéalement située pour assurer la cohérence du système. Elle prend donc en charge les liens avec un back-end désormais à la demande (BaaS, voir schéma), gère le trafic et propose des fonctions analytiques et de mesure
Un coeur qui palpite sur un rythme de Java
Brique centrale de la solution, Apigee Edge permet d'exposer des services ou fonctions. Les applications clientes (natives, HTML5, ou de tout type parlant le HTTP) peuvent alors interagir avec ces services et recevoir des réponses au format XML ou JSon. Bien entendu, la solution sécurise tous les échanges (authentification, chiffrement, etc.) et acteurs de ces transactions selon de multiples protocoles. Elle gère également les droits d'accès, mesure l'utilisation et permet même monétiser ces opérations, etc.
Développée sous Java, Apigee Edge est accessible à un très grand nombre de programmeurs, et les API sont exécutables sous la plupart des environnements.
Plutôt que d'accéder directement aux fonctions sur le serveur applicatif, les développeurs utilisent l'API sur un proxy généré sur Edge: une sorte de mapping des API disponibles. Au centre de ces utilisations, la plateforme peut assurer la sécurité, la supervision, le contrôle, la monétisation, les mesures, etc.
L'entreprise peut aussi choisir d'isoler les API par rapport à l'applicatif afin de pouvoir modifier le service sans impacter les API.
Et les diverses politiques implémentées dans Edge restent indépendantes des applications en back-office.
Outre les services dédiés aux API et aux développeurs, Edge offre également des services analytiques aussi bien sur les applications que sur la mesure des activités métier (voir illustration).
Du Big Data stratégiquement positionné.
En janvier 2014, la société a fait l'acquisition de la société InsightsOne et de sa technologie prédictive afin d'enrichir sa plateforme Apigee Insights, reposant sur une infrastructure Hadoop et animée par une technologie de base de données de type graphe. Elle permet d'effectuer des requêtes temps réel sur des informations aussi bien structurées que non structurées. Des modèles prédictifs peuvent être définis (y compris en langage open source R), et divers outils sont mis à disposition des data-scientists. Tout cela reposant sur des API, le développeur peut utiliser, adapter, combiner ces éléments pour répondre aux attentes de l'entreprise. Et tout ce qui passe par la plate-forme dans le système d'information peut bénéficier de ces traitements et de cette supervision.
Projet open source destiné à la communauté des développeurs Apigee, Apigee-127 est un outil pour concevoir des API de niveau entreprise, via l'éditeur Swagger. Cet outil utilise le framework node.js (initié et maintenu par Joyent). Le développeur peut travailler entièrement sous Apigee Edge, en lien avec la palet-forme, ou encore sur tout PaaS supportant node.js.
Et le cloud dans tout cela?
Si historiquement Apigee a commencé par proposer une appliance combinant matérielle et logicielle, elle a très vite travaillé à une appliance virtuelle immédiatement transposée en plateforme API.
Evidemment, le cloud est devenu une plateforme privilégiée pour ces férus de middleware et de simplicité. Le cloud Apigee est déjà disponible dans 7 datacenters et disponible aussi dans 19 zones géographiques dans le monde. L'éditeur annonce un demi-milliard de transactions par jour, avec une disponibilité de 99,9% des API et une latence moyenne de 20 ms.
« 70% de nos clients ont choisi le cloud,» affirme Anant Jhingran. «Une installation sur site peut convenir aux entreprises disposant des compétences en administration et en supervision matérielle et logicielle. Une étape intermédiaire consiste à installer le logiciel sur une instance IaaS, sur Amazon Web Service par exemple. Sur le cloud, ils nous confient tous ces aspects. En outre, le code des plateformes étant commun, ils peuvent fonctionner en mode hybride et administrer le tout via nos outils cloud afin de disposer des fonctions évoluées que nous mettons à leur disposition.»
Même si l'on devine une préférence dans ces propos, on constate le pragmatisme attendu par les entreprises encore hésitantes. Et l'on comprend mieux le choix des start-ups innovantes pour ce type de services.