introduction à cloud foundry journée du code 2017
TRANSCRIPT
Introduction au PaaS et à Cloud Foundry
Manuel SilveraSenior Architecte Cloud [email protected]@manuel_silveyra
IBM Open Technologieshttps://developer.ibm.com/opentech/
Gerard KonanFoudre & CEO, AGILLYCloud & Mobility [email protected]@gekonan
www.agilly.net
Sommaire
• Qu’est ce que le PaaS• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• La méthodologie des 12 facteurs et les Micro services • Annexes
Modèles de fourniture du Cloud
Géré par le fournisseur de service CloudGéré par le client
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Informatique traditionnelle
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Plateforme en tant que Service
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Infrastructure en tant que Service
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Logiciels en tant que Service
IaaS: Le datacenter définit par le logiciel
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Infrastructure en tant que Service
Utilisateurs
PaaS: Environnement d’opération dans le Cloud
UtilisateursDonnées
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Plateforme en tant que Service
SaaS: L’économie de l’API
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Logiciels en tant que Service
Les avantages clés de PaaS pour les développeurs
Pas besoin de se préoccuper de la mise en place et de la gestion del’infrastructure : processeurs, stockage, réseaux, systèmes, logicielsmiddleware et runtime :
• Les développeurs peuvent créer des prototypes fonctionnels en l’espace dequelques minutes
• Les développeurs peuvent créer de nouvelles versions ou déployer desnouveaux codes plus rapidement
• Les développeurs peuvent auto-assembler des services pour créer desapplications intégrées.
• Les développeurs peuvent étendre des applications de façon plus élastiqueen démarrant de nouvelles instances
• Les développeurs n’ont pas à se soucier de système d'exploitation sous-jacent et des correctifs de sécurité du middleware.
• Les développeurs peuvent réduire leurs efforts de sauvegarde et derestauration, en supposant que le PaaS s’en charge
Les Inconvénients du PaaS pour les développeurs
• Les développeurs doivent penser différemment l’architecture de leursapplications
• Les développeurs doivent mettre à niveau leurs compétences avec lesnotions du cloud, et acquérir les connaissances des meilleurs pratiqueset les limites des applications web traditionnelles.
• Les développeurs n’ont pas autant de contrôle sur l’infrastructure sous-jacente : Sécurité, versioning, facteurs de performance
Sommaire
• Quelle est la plate-forme-as-a-Service?• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• La méthodologie des 12 facteurs et les Micro services • Annexes
Cloud Foundry
Cloud Foundry est le standard Ouvert de l'industrie du PaaS et offre unchoix de Clouds, de frameworks et de services d'application. Sa vision estde stimuler les contributions d'une large communauté de développeurs,utilisateurs, clients, partenaires et éditeurs de logiciels tout en faisantprogresser le développement de la plate-forme à rapidement
cloudfoundry.org
La Fondation Cloud Foundry
• La mission de la Fondation Cloud Foundry est d'établir et de maintenirCloud Fondry comme la technologie standard open source de l'industriemondiale du PaaS avec un écosystème florissant.• Afin de fournir en continu la qualité, la valeur et l'innovation pour lesutilisateurs, les opérateurs et les fournisseurs de technologie Cloud Foundry.• Fournir une expérience agile et dynamique pour les contributeurs de lacommunauté qui délivrent les applications et logiciels cloud natifs de grandequalité, à grande vitesse à l'échelle mondiale.• Ses principes directeurs sont les suivants:
• Gouvernance par la Contribution - l’influence au sein de la Fondation est baséesur les contributions
• Hygiène IP - la propreté de l’IP doit être préservée à tout moment• L'égalité des chances pour participer - Tout le monde a une chance égale de
participer à des projets• Pas de Surprises - processus de planification et l'état du projet sont ouverts à
tous.
L’architecture Fondation Cloud
• La plate-forme est abstraite avec unensemble de services distribués àgrande échelle
• Elle utilise Cloud Foundry Bosh pouropérer l’infrastructure sous-jacente àpartir des IaaS des fournisseurs.
• Les composants sont dynamiquementdécouvrable et découplés.
• L’état de santé est exposé à traversdes points de terminaison HTTP pourque les agents puissent recueillir desinformations d'état et agir enconséquence
Sommaire
• Quelle est la plate-forme-as-a-Service?• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• L'application des 12 Facteurs et Micro services • Annexes
Sommaire
• Quelle est la plate-forme-as-a-Service?• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• La méthodologie des 12 facteurs et les Micro services • Annexes
La méthodologie des 12 facteurs et les Micro services 12factor.net• Le 12 Factor App est une méthodologie permettant de construire des applications qui• Utilisent des formats déclaratifs pour l'automatisation de l'installation, pour réduire le
temps et le coût pour les nouveaux développeurs qui se joignent au projet.• Disposent d’un contrat propre avec le système l'exploitation sous-jacent, offrant une
portabilité maximale entre environnements d'exécution.• Conviennent pour le déploiement sur les plates-formes Cloud modernes, ce qui élimine
le recours à des serveurs et l'administration des systèmes.• Réduisent la divergence entre le développement et la production, ce qui permet un
déploiement continu pour une agilité maximale.• Et peuvent évoluer sans modifications importantes des outils utilisés, de l'architecture,
ou de méthode de développement.• La méthodologie des 12 facteurs peut être appliquée à des applications écrites dans
n’importe quel langage de programmation, et qui utilisent toute combinaison de services en back end (base de données, file d’attente, mémoire cache, etc.)
La méthodologie des 12 facteurs• 1. Codebase : Un code de base suivi avec un contrôle des révisions, plusieurs déploiements.• 2. Dependencies : Déclarer explicitement les dépendances et les isoler• 3. Config : Enregistrez les configurations dans l’environnement• 4. Backing ServicesTraitez les services d’arrière plan comme des ressources liées• 5. Build, Release, RunSéparer strictement les étapes de construction et d’exécution• 6. Port BindingExporter les services via la liaison de ports• 7. ConcurrencyFaites évoluer via un modèle de processus • 8. DisposabilityMaximisez la robustesse avec un démarrage rapide et un arrêt en douceur• 9. Dev/Prod ParityGarder les processus de développement, de constitution, et de production aussi similaires que possible10. LogsTraiter les logs comme des flux d’évènements11. Admin ProcessesExécutez les taches d’administration et de gestion comme des processus à part entière
Concevoir les applications pour le Cloud : meilleures pratiquesQuelques consignes pour rendre une application Cloud-native, et faciliter le déploiement sur Cloud Fondry ou d’autres plates-formes Cloud.Évitez d'écrire sur le système de fichiers local
• Le système local de stockage de fichier a une courte durée de vie.Votre application peut écrire des fichiers dans le stockage local pendant qu’elle est en coures d'exécution, les fichiers disparaissent au redémarrage de l’application.
• Les instances de la même application ne partagent pas le même système local de fichiers.Chaque instance d'application fonctionne dans son propre conteneur isolé. Ainsi un fichier écrit par une seule instance est pas visible à d'autres instances de la même application.
Sessions HTTP ne sont pas conservées ou reproduites• Les données de session qui doivent être disponible après un éventuelle plantage ou l’arrête
d’une application, ou qui doivent être partagées par toutes les instances d'une application, doivent être stockés dans un service Cloud Foundry.
Exécuter plusieurs instances pour augmenter la disponibilité• Pour éviter le risque qu'une application ne soit pas disponible au cours des processus de
mise à jour Cloud Foundry, vous devrait exécuter plus d'une instance d'une application.Concevoir le projet comme si votre application peut être redémarré, détruite,et reprise à tout moment!
Sommaire
• Quelle est la plate-forme-as-a-Service?• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• La méthodologie des 12 facteurs et les Micro services • Liens utiles
Démarrer avec Cloud Foundry
Notions de base
Les comptes d'essai avec les fournisseurs hébergéshttp://bluemix.nethttp://run.pivotal.ioDocumentation Cloud Foundryhttp://docs.cloudfoundry.orgCommunauté Cloud Foundryhttp://cloudfoundry.orgCloud Foundry sur GitHubhttps://github.com/cloudfoundry
Avancée
«Essayez Cloud Foundry" sur AWShttps://trycf.starkandwayne.comBootstrap BOSHhttps://github.com/cloudfoundry-community/bosh-bootstrapDéployer votre propre à AWShttp://www.slideshare.net/SpringCentral/build-yourowncfhttp://docs.cloudfoundry.org/deploying/ec2/Installez le sur un ordinateur portablehttps://github.com/cloudfoundry/bosh-litehttps://github.com/yudai/cf_nise_installerStackato Micro Nuagehttp://www.activestate.com/stackato/get_stackato
Liens
• Cloud Foundry pour les développeurs PHPhttp://bit.ly/cf-for-php• Cloud Foundry 101 - Plate-forme: La Conférence Foundry Nuagehttps://www.youtube.com/watch?v=nOuxMHJIKFU• Matt Stine - Cloud Foundry et Microservices: A mutualisme symbiotique Relation (Sommet CF 2014)https://www.youtube.com/watch?v=RGZefc92tZs• Cloud Foundry Présentation techniquehttp://www.slideshare.net/cdavisafc/cloud-foundry-technical-overview• Une brève histoire de Cloud Foundry et Stackatohttp://www.activestate.com/blog/2014/03/brief-history-cloud-foundry-and-stackato• PaaS Comparaison: Cloud Foundry, Microsoft Azure, Google App Engine, Amazon, Heroku et OpenShifthttp://blog.pivotal.io/cloud-foundry-pivotal/features/paas-comparison-cloud-foundrymicrosoft-azur-google-app-engine-amazon-heroku-et-OpenShift• CF Summit Sessions: "PaaS Comparaison 2014»http://blog.altoros.com/cf-summit-2014-paas-comparison.html