VT2016 CloudFoundry

=Présentation=


 * Sujet : CloudFoundry
 * Auteur : ZHAO ZILONG
 * Enseignants : Didier DONSEZ, Georges-Pierre BONNEAU
 * DATE: 28/11/2016
 * [[Media:VT2016_CloudFoundry.pdf|Transparents]]



=Résumé= CloudFoundry est une open source cloud computing plate-forme, développé à l'origine par VMware, désormais supervisé par la Cloud Foundry Foundation. Le déploiement de Cloud Foundry utilise le script de déploiement de Cloud Foundry BOSH. Une version commerciale appelée Pivotal Cloud Foundry (PCF) est disponible auprès de Pivotal, il fournit des outils supplémentaires pour l'installation et l'administration non inclus dans le produit OSS(Open Source Software)

=Abstract= CloudFoundry is a open source cloud computing platform, developed by VMware and now overseen by the Cloud Foundry Foundation. Deploying Cloud Foundry uses Cloud Foundry BOSH deployment scripting language. A commercial version called Pivotal Cloud Foundry (PCF) is available from Pivotal, il provides extra tools for installation and administration not included in in OSS product.

=Synthèse=

IaaS PaaS SaaS
Cloud Foundry est PaaS(Platform as a Service), si on mentionne PaaS, on ne peut pas ignorer les deux autres services IaaS et SaaS. D'abord, on voit un image pour bien expliquer



Packaged Software est la logiciel traditionnel, toutes les étapes se sont occupé par des développeur. Et pour IaaS, par exemple AWS, le fournisseur a déjà bien fait des parties fondamentaux(CPU, RAM, DISQUE). On ne s'occupe que des parties plus hautes(OS, environnement). Et pour plate-forme PaaS, on n'a même pas besoin de OS, c'est la plate-forme qui fournit les OS et Runtime, avec des ressources externes(Base de Donnée par exemple), cela va être très facile de deployer de site web. Pour SaaS.

Base de Données
Comme on veut deployer notre site web sur cloud, on ne peut pas utiliser notre base de donnée local, si c'est sur AWS instance, on peut accéder à terminal pour installer tous les environnements, mais pour CloudFoundry, on n'a pas un terminal sur cloud, il faut utiliser un ressource externe, ici, on utilise MongoDB sur Pivotal Cloud Foundry comme un exemple:



On peut voir que sur Pivotal Cloud Foundry, il a déjà fournit des base de données sur cloud, on peut simplement créer une nouvelle instance, lier avec notre application, et on peut utiliser cette base de donnée comme en local. Comment accéder? Voir le capture d'écran suivant:



Copier le lien où connecter le base de données, on peut utiliser cette base de donnée alors. Après, le problème est où on peut voir le contexte dans notre base de donnée? Sur le site Pivotal Cloud Foundry, clique la base de donnée qu'on a crée, ensuit clique Manage, il va nous mener dans un site, et afficher:



puis utiliser la ligne de commande pour connecter le base de donnée local:



Déploiement par command line
Une fois la base de donnée est prête, on peut deployer notre site web sur Cloud Foundry, ici, on utilise des command lines fournit par Pivotal, et on va essayer de deployer un site web réalisé en NodeJS. D'abord, cela est notre dossier où contient notre fichiers:



On peut apercevoir que dans notre dossier, il ne contient pas de node_modules dépendances, c'est parce que quand on déploie l'application sur CloudFoundry, on n'a pas besoin de gérer des dépendances, CloudFoundry va insérer automatique des dépendances dans notre application. Pour notre projet, une ligne de commande est suffit:



Il va prendre un peu de temps pour télécharger notre code sur cloud, puis nous générer une adresse de notre site:



Ouvrir le lien, il peut voir que notre site est bien déployé:



=Bibliographie=
 * https://github.com/zhao-zilong/mean-stack-homepage
 * https://docs.pivotal.io/pivotalcf/1-8/installing/pcf-docs.html