Brevet FR3076383A1 — publié le 20190705

COURTIER DE SERVICE POUR PLATE-FORME CLOUD FOUNDRY DOMAINE TECHNIQUE DE L'INVENTION [0001] L'invention se rapporte au domaine de systerne de plate-forme Cloud Foundry. ETAT DE L'ART ANTERIEUR [0002] Cloud Foundry est une plate-forme en tant que service PaaS (pour platform as a service) d'application multi-nuages open source (code source ouvert). Elle est promue pour la delivrance continue comme elle supporte le cycle de vie de developpement d'application complet, depuis le developpement initial en passant par toutes les phases de test jusqu'au deploiement. L'architecture a base de conteneurs de Cloud Foundry execute des applications dans n'importe quel langage de programmation sur une variete de fournisseurs de services de nuage. Cet environnement multi-nuages permet aux developpeurs de fournir et de deplacer des charges de travail si necessaire en quelques minutes sans changement de ('application. [0003] Le Service Web Amazon (AWS pour Amazon Web Service) est une plate-forme d'informatique en nuage securisee qui donne acces a differents services et particulierement au Service de Base de donnees Relationnelle AWS (RDS AWS), et Aurora RDS AWS qui est un moteur de base de donnees relationnelle compatible MySQL - PostgreSQL, entierement ger& Aurora RDS AWS combine Ia vitesse et la fiabilite de bases de donnees commerciales de pointe avec simplicite et efficacite par rapport au coat de bases de donnees open source. RDS AWS fournit ('administration pour Aurora en prenant en charge une tache de base de donnees de routine comme le provisionnement, Ia retouche, la sauvegarde, Ia recuperation, Ia detection et la reparation de panne ; it fournit egalement des outils de migration push-button pour convertir ('application RDS Amazon pour MySQL et RDS Amazon pour PostgreSQL existante a Aurora [0004] Toutefois, sur un systeme de plate-forme Cloud Foundry normal, le service RDS AWS n'est pas disponible pour des applications par l'intermediaire de Ia plate-forme Cloud Foundry. [0005] De plus, des applications dans la plate-forme Cloud Foundry utilisant MySql ne peuvent pas toujours utiliser le format RDS AWS qui est plus efficace pour augmenter la vitesse operationnelle. [0006] Par consequent it y a besoin d'un systeme qui permette a des developpeurs d'utiliser de tels services. DISCUSSION DE L'INVENTION [0007] La presente invention a par consequent pour objet de proposer une application de courtier de Services pour une plate-forme Cloud Foundry qui provisionnera et deprovisionnera une instance de base de donnees Aurora requise dans AWS. [0008] En effet, l'instance de base de donnees creee peut etre utilisee pour se lier et se defier d'une application compatible, donnant la possibilite de surmonter au moins une partie des inconvenients de I'art anterieur. [0009] Courtier de Service Aurora pour plate-forme Cloud Foundry permettant au developpeur de fournir, gerer et faire evoluer leur application dans un nuage dans lequel le courtier de Service Aurora (2) comprend un agencement materiel et logiciel (20, 21, 22, 23) pour former une interface entre la Plate-forme Open source Cloud Foundry (1) et le Service Web Amazon (3) permettant que le Service de Nuage AWS soit disponible pour des applications par l'intermediaire de la plate-forme Cloud Foundry. [00010] Dans un mode de realisation, le courtier comprend un agencement materiel et logiciel qui inclut au moins un Courtier Rds, un Helper Rds, des informations de Justificatif d'identite memorisees, des informations de Service et Plans memorisees en memoire. [00011]De maniere avantageuse, le Courtier Rds est une premiere classe qui communique avec la plate-forme cloud foundry en mettant en oeuvre une API que la plate-forme Cloud Foundry appelle, comme Authenticate (Authentification), Catalog (Catalogue), Provision (Provision), Poll for Provision (Interrogation pour Provision), Poll for De-provision (Interrogation pour De-provision), Bind (Liaison), Unbind (Deliaison), De-provision (De-provision). [00012] Dans un autre mode de realisation, le Helper Rds est une seconde classe qui met en oeuvre des methodes appelees par la classe Courtier Rds pour communiquer avec AWS en utilisant des methodes de bibliotheque 'aws-sdk' pour effectuer des operations demandees sur AWS et partage- des informations en retour avec la classe Courtier Rds. [00013] De maniere avantageuse, des informations de Justificatif d'identite sont memorisees dans un module, qui contient le justificatif d'identite pour authentifier ('application de courtier de service, le justificatif d'identite AWS et le justificatif d'identite d'Administrateur d'instance Aurora RDS. [00014]De maniere avantageuse, des informations de Service et Plans sont memorisees dans un module, qui peut etre separe en deux sous-modules : Service et Plans, le module Service/Plans peut contenir les informations de catalogue que le module de classe Courtier RDS partage avec la plate-forme, les informations de catalogue peuvent etre les details de services et plans. [00015] Un autre objet est un systerne de plate-forme Cloud Foundry comprenant au moins : - un agencement materiel et logiciel formant un Controleur de Nuage. - un agencement materiel et logiciel formant au mins un environnement d'Application chacun executant une Application (App A, App B, App C), partage avec le Controleur de nuage dans "VCAP_SERVICES", - un agencement materiel et logiciel formant une Interface pour l'utilisateur, dans lequel la plate-forme Cloud Foundry comprend egalement un agencement materiel et logiciel formant un Courtier de Service Aurora selon ('invention. [00016] De maniere avantageuse, ('agencement materiel et logiciel formant un Courtier de Service Aurora permet ('execution d'instances Aurora sur un agencement materiel et logiciel formant un Service Aurora inclus dans le service RDS AWS pour executer une application specifique AWS et les partager avec le Controleur de Nuage. BREVE DESCRIPTION DES FIGURES [00017] D'autres caracteristiques, details et avantages de l'invention deviendront apparents a Ia lecture de la description qui suit en reference aux figures jointes, qui illustrent : - Fig. 1, illustre le Courtier de Service sur un environnement Cloud foundry avec le Service Aurora RDS AWS - Fig. 2 represente un exemple de communication de Courtier de Service disponible avec Ia plate-forme Cloud foundry et AWS - Fig. 3 represente un exemple de modules internes de Courtier de Service Aurora disponibles. DESCRIPTION DETAILLEE DES DIFFERENTS MODES DE REALISATION DE L'INVENTION [00018] De nombreuses combinaisons peuvent etre envisagees sans s'ecarter de Ia portee de !Invention un homme du métier choisira !'une ou l'autre en fonction de contraintes economiques, ergonomiques, dimensionnelles ou autres qu'il aura a observer. [00019] Le systerne de plate-forme Cloud Foundry est alimente par Core OSS Cloud foundry qui est une Plate-forme en tant que Service Open source. II permet au developpeur de fournir, gerer et faire evoluer leur application dans le nuage comme un processus sans encombre. [00020] Plus particulierement, selon un mode de realisation illustre par _la figure 1, une plate-forme Cloud Foundry peut comprendre au moins : - un agencement materiel et logiciel formant un Controleur de Nuage (1). - un agencement materiel et logiciel formant un Courtier de Service (2) et permettant ('execution d'instances Aurora sur un agencement materiel et logiciel formant un Service Aurora inclus dans le service RDS AWS pour executer une application specifique AWS et les partager avec le Controleur de Nuage, - un agencement materiel et logiciel formant au moins un environnement d'Application (5) (environnement d'App) pour chaque Application (App A, App B, App C) formant des instances sur le service aurora, partagees par le Controleur de nuage dans des services virtuels "VCAP_SERVICES", - un agencement materiel et logiciel formant une Interface pour I'utilisateur. [00021] Pour permettre a Ia Plate-forme Cloud Foundry d'utiliser des services RDS AWS, un agencement materiel et logiciel appele Courtier de Service Aurora est utilise pour communiquer avec les Services RDS AWS les rendant disponibles pour I'utilisateur. [00022] Le Courtier de Service Aurora (2) est un agencement materiel et logiciel place entre Ia Cloud Foundry (1) et les Services RDS AWS (3) (egalement appeles Services Aurora RDS AWS). [00023] Comme illustre par la figure 2, I'utilisateur par l'intermediaire d'une interface, qui pent etre par exemple une Interface de Ligne de Commande (CLI) ou une Interface Utilisateur Graphique (GUI), genere et envoie au controleur de Nuage (1) des instructions pour acceder a des Services RDS AWS par l'intermediaire du courtier de service Aurora (2). Ces instructions sont par exemple, "cf create-servicebroker", "cf market-place", "cf create-service", "cf bind-service", "cf unbind-service", "cf delete-service" : - "cf create-service-broker" est pour permettre au contrOleur de nuage d'être connecte avec un courtier de service specifique (2) - "cf market-place" est pour permettre au controleur de nuage de generer une liste de service en fonction du courtier de service connect& - "cf create-service" est pour permettre au controleur de nuage (1) de generer une commande pour provisionner des instances de service avec Id au courtier de service (2) qui generera une commande "create instance" (creer instance) vers le service de nuage AWS (3) et retourner en retour au controleur de nuage (1) Ia reponse du service de nuage AWS. Le controleur de nuage envoie des informations contenues dans Ia reponse a I'utilisateur par l'intermediaire du routeur (4). - "cf bind-service" est pour permettre au contrOleur de nuage (1) de generer une commande "Bind instance" (Lier instance) transmettant des informations "instance-Id" (Id instance) et "binding-id" (id liaison) pour le service de liaison au courtier (2) pour permettre au courtier d'envoyer au service de nuage AWS (3) une commande "create DB User" (creer Utilisateur DB) permettant la creation d'un Utilisateur dans la Base de donnees pour recuperer dans la Base de donnees du nuage les donnees generees par chaque instance. - "cf unbind-service" est pour permettre au controleur de nuage (1) de generer une commande "Unbind instance" (Defier instance) transmettant des informations "instance-Id" et "binding-id" pour le service de deliaison au courtier (2) pour permettre au courtier d'envoyer au service de nuage AWS (3) une commande "Delete DB User" (Supprimer Utilisateur DB) permettant la suppression d'un Utilisateur dans la Base de donnees. - "cf delete-service" est pour permettre au controleur de nuage (1) de generer une commande "Remove instance" (Retirer instance) transmettant une information "instance-Id" au courtier (2) pour permettre au courtier d'envoyer au service de nuage AWS (3) une commande "Delete instance" (Supprimer instance) permettant la suppression de ('instance du serveur de nuage (3). [00024] Dans un mode de realisation, le Courtier de Service Aurora comprend par exemple une application Sinatra codee en Ruby. Sinatra est une bibliotheque d'applications de logiciel libre et ouvert et dans un langage specifique a un domaine ecrit en Ruby. C'est une alternative a d'autres cadres d'application web Ruby comme Ruby on Rails, Merb, Nitro, et Camping. [00025] Un courtier de Nuage est « une entite qui Ore ('utilisation, la performance et la delivrance de services de nuage, et negocie les relations entre fournisseurs de nuage et consommateurs de nuage ». [00026] Comme illustre par la figure 3, le Courtier de Service Aurora comprend un agencement materiel et logiciel qui inclut au moins un Courtier Rds (20), un Helper Rds (21), des informations de Justificatif d'identite memorisees (22), des informations de Service et Plans memorisees (23) en memoire. [00027] Courtier Rds (20) est une premiere classe qui communique avec la plate-forme cloud foundry en mettant en ceuvre une API que la plate-forme Cloud Foundry appelle, comme Authenticate (Authentification), Catalog (Catalogue), Provision (Provision), Poll for Provision (Interrogation pour Provision), Poll for De-provision (Interrogation pour De-provision), Bind (Liaison), Unbind (Deliaison), De-provision (De-provision) : - Authenticate pour authentifier le justificatif d'identite d'utilisateur ou d'application ; - Catalog, cette API repond au ContrOleur de Nuage avec des informations de Services et Plans de Courtier de Service Aurora comme par exemple au format Json, et la plate-forme Cloud Foundry montre ces informations a l'utilisateur en montrant quel utilisateur peut selectionner un service et/ou un plan ou si l'utilisateur est autorise ou non a selectionner un service et/ou un plan ; - Provision, cette API parvient a creer une instance de service Aurora sur AWS en passant par le module helper RDS, suivant un plan selectionne sur une demande d'instance de service creee envoyee par l'utilisateur ; - Poll for Provision/Deprovision ; - Bind, cette API cite un utilisateur pour une Base de donnees Aurora et partage les details de connexion avec un justificatif d'identite avec la plate-forme Cloud Foundry dans "VCAP_SERVICES" pour une application particuliere par l'intermediaire du module Helper RDS ; - Unbind, cette API supprime l'utilisateur cite qui entraThe le fait de restreindre ('application a utiliser l'instance de base de donnees Aurora. - De-provision, cette API est responsable de la suppression de l'instance Aurora provisionnee de AWS lors d'une demande de suppression de service par l'intermediaire du module Helper RDS. [00028] Helper Rds (21) est une seconde classe qui met en ceuvre des methodes appelees par la classe Courtier Rds. Cette classe communique avec AWS (3) en utilisant des methodes de bibliotheque `aws-sdk' pour effectuer des operations demandees sur AWS (3) et partage les informations en retour avec la classe Courtier Rds. De telles instructions peuvent etre par exemple : Greer instance Aurora, Verifier provision/deprovision, Creer utilisateur pour base de donnees, Supprimer utilisateur de base de donnees, Supprimer instance Aurora. [00029] Informations de Justificatif d'identite memorisees dans un module (22), qui contient le justificatif d'identite pour authentifier l'application de courtier de service, le justificatif d'identite AWS (3) et le justificatif d'identite d'Administrateur d'instance Aurora RDS. [00030] Informations de Service et Plans memorisees dans un module (23), qui peut etre separe en deux sous-modules : Service et Plans. Le module Service/Plans peut contenir les informations de catalogue que le module de classe Courtier RDS partage avec la plate-forme, les informations de catalogue peuvent etre les details de services et plans. En utilisant ces informations, ('instance Aurora du plan selectionne peut etre creee sur AWS. [00031] Dans un mode de realisation, le Courtier RDS verifie en fonction de ('instruction donnee par la plate-forme Cloud Foundry, le justificatif d'identite d'application en utilisant le justificatif d'identite contenu dans le module Justificatif d'identite. [00032] II sera facilement compris a Ia lecture de la presente demande que les particularites de la presente invention, telles que decrites et illustrees de fagon generale sur les figures, puissent etre agencees et concues selon une grande variete de configurations differentes. Ainsi, la description de la presente invention et les figures connexes ne sont pas fournies pour limiter Ia portee de !Invention mais simplement illustrer les modes de realisation selectionnes. [00033] Un homme du métier comprendra que les caracteristiques techniques d'un mode de realisation donne puissent en fait etre combinees avec des caracteristiques d'un autre mode de realisation sauf si le contraire est mentionne explicitement ou s'il est evident que ces caracteristiques sont incompatibles. En outre, les caracteristiques techniques decrites dans un mode de realisation donne peuvent etre isolees des autres caracteristiques de ce mode de realisation sauf si le contraire est mentionne explicitement. [00034] II devrait etre evident pour des hommes du métier que la presente invention permette des modes de realisation sous de nombreuses autres formes specifiques sans s'ecarter du domaine defini par la portee des revendications jointes, ces modes de realisation devraient etre consideres comme une illustration et ('invention REVENDICATIONS1. Courtier de Service Aurora (2) pour plate-forme Cloud Foundry permettant au developpeur de fournir, gerer et faire evoluer leur application dans un nuage dans lequel le courtier de Service Aurora (2) comprend un agencement materiel et logiciel (20, 21, 22, 23) constitue d'au moins un processeur et d'une memoire munie d'un logiciel, le processeur etant apte a executer le logiciel enregistre dans la memoire pour former une interface entre Ia Plate-forme Open source Cloud Foundry et le Service Web Amazon (3) permettant que le Service de Nuage AWS soit disponible pour des applications par l'intermediaire de Ia plate-forme Cloud Foundry. caracterise en ce que l'interface entre la Plate-forme Open source Cloud Foundry et le Service Web Amazon (3) inclut au moins un Courtier Rds (20), un Helper Rds (21), des informations de Justificatif d'identite memorisees (22), des informations de Service et Plans memorisees (23) en memoire. 2. Courtier de Service Aurora (2) selon Ia revendication 1, dans lequel le Courtier Rds (20) est une premiere classe qui communique avec la plate-forme cloud foundry en mettant en oeuvre une API que Ia plate-forme Cloud Foundry appelle, comme Authenticate (Authentification), Catalog (Catalogue), Provision (Provision), Poll for Provision (Interrogation pour Provision), Poll for De-provision (Interrogation pour De-provision), Bind (Liaison), Unbind (Deliaison), De-provision (De-provision). 3. Courtier de Service Aurora (2) selon Ia revendication 1 ou 2, dans lequel le Helper Rds (21) est une seconde classe qui met en oeuvre des methodes appelees par Ia classe Courtier Rds pour communiquer avec AWS (3) en utilisant des methodes de bibliotheque `aws-sdk' pour effectuer des operations demandees sur AWS (3) et partage des informations en retour avec Ia classe Courtier Rds. 4. Courtier de Service Aurora (2) selon l'une des revendications 1 a 3, dans lequel des informations de Justificatif d'identite (22) sont memorisees dans un module, qui contient le justificatif d'identite pour authentifier ('application de courtier de service, le justificatif d'identite AWS (3) et le justificatif d'identite d'Administrateur d'instance Aurora RDS. 5. Courtier de Service Aurora (2) selon l'une des revendications 1 a 4, dans lequel des informations de Service et Plans (23) sont memorisees dans un module, qui peut etre separe en deux sous-modules : Service et Plans, le module Service/Plans peut contenir les informations de catalogue que le module de classe Courtier RDS partage avec la plate-forme, les informations de catalogue peuvent etre les details de services et plans. 6. Systeme de plate-forme Cloud Foundry comprenant au moins : - un agencement materiel et logiciel formant un Controleur de Nuage (1). - un agencement materiel et logiciel formant au moins un environnement d'Application (5) chacun executant une Application (App A, App B, App C), partage avec le Controleur de nuage dans "VCAP_SERVICES", - un agencement materiel et logiciel formant une Interface pour l'utilisateur, dans lequel la plate-forme Cloud Foundry comprend egalement un agencement materiel et logiciel constitue d'au moins un processeur et d'une memoire munie d'un logiciel, le processeur etant apte a executer le logiciel enregistre dans Ia memoire pour former un Courtier de Service Aurora (2) selon l'une des revendications 1 a 5. 7. Systeme de plate-forme Cloud Foundry selon Ia revendication 6, dans lequel ('agencement materiel et logiciel formant un Courtier de Service Aurora (2) permet ('execution d'instances Aurora sur un agencement materiel et logiciel formant un Service Aurora inclus dans le service RDS AWS (3) pour executer une application specifique AWS et les partager avec le Controleur de Nuage.