Introduction à Cloud Foundry Journée du Code 2017

25
Introduction au PaaS et à Cloud Foundry Manuel Silvera Senior Architecte Cloud Solutions [email protected] @manuel_silveyra IBM Open Technologies https://developer.ibm.com/opentech/ Gerard Konan Foudre & CEO, AGILLY Cloud & Mobility Advocate [email protected] @gekonan www.agilly.net

Transcript of Introduction à Cloud Foundry Journée du Code 2017

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.

La Fondation Cloud Foundry

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

Pousser une application dans Cloud Foundry

Accès à une application dans le Cloud Foundry

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

Cloud Foundry et les autres

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

www.agilly.net