34
Introduction à la plateforme en tant que Service 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

Introduction à Cloud Foundry et au PaaS

Embed Size (px)

Citation preview

Page 1: Introduction à Cloud Foundry et au PaaS

Introduction à la plateforme en tant que Service 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

Page 2: Introduction à Cloud Foundry et au PaaS

Sommaire• Qu’est ce que la Platform-as-a-Service?• Qu'est-ce que Cloud Foundry? • Exemple de flux Cloud Foundry• 12 Facteurs pour les applications cloud les Micro-services • Questions

Page 3: Introduction à Cloud Foundry et au PaaS

Modèles de fourniture du Cloud

Géré par le fournisseur de service Cloud

Géré par le client

DonnéesRuntime

Applications

MiddlewareSystème

Virtualisation

ServeursStockage

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

Page 4: Introduction à Cloud Foundry et au PaaS

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

Page 5: Introduction à Cloud Foundry et au PaaS

PaaS: Environnement d’opération dans le Cloud

Données

Runtime

Applications

MiddlewareSystèmeVirtualisationServeursStockageRéseau

Plateforme en tant que Service

Utilisateurs

Page 6: Introduction à Cloud Foundry et au PaaS

SaaS: L’économie de l’API

Utilisateurs

DonnéesRuntime

Applications

MiddlewareSystèmeVirtualisationServeursStockageRéseau

Logiciels en tant que Service

Page 7: Introduction à Cloud Foundry et au PaaS

Les avantages clés de PaaS pour les développeursPas besoin de se préoccuper de la mise en place et de la gestion de l’infrastructure : processeurs, stockage, réseaux, systèmes, logiciels middleware et runtime. Les développeurs peuvent

• Les développeurs peuvent créer des prototypes en l’espace de quelques minutes

• Les développeurs peuvent créer de nouvelles versions ou déployer des nouveaux codes plus rapidement

• Les développeurs peuvent assembler tout seul des services pour créer des applications intégrées.

• Les développeurs peuvent étendre des applications de façon plus élastique en démarrant de nouvelles instances

• Les développeurs n’ont pas à se soucier de système d'exploitation sous-jacent et et des correctifs de sécurité du middleware.

• Les développeurs peuvent réduire leurs efforts de sauvegarde et de restauration, en supposant que le PaaS s’en charge

Page 8: Introduction à Cloud Foundry et au PaaS

Les Inconvénients du PaaS pour les développeursApplications nécessitent une architecture pensée différemment• Cela exige des compétences de développeur et de la connaissance des

meilleures pratiques et les limites des applications web• Ne pas avoir autant de contrôle sur l'infrastructure sous-jacente. Sécurité,

versioning, facteurs de performance

Page 9: Introduction à Cloud Foundry et au PaaS

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 • Questions

Page 10: Introduction à Cloud Foundry et au PaaS

Cloud FoundryCloud Foundry est le standard Ouvert de l'industrie du PaaS et offre un choix de Clouds, de frameworks et de services d'application. Sa vision unique est de stimuler les contributions d'une large communauté de développeurs, utilisateurs, clients, partenaires et éditeurs de logiciels tout en faisant progresser le développement de la plate-forme à rapidement

cloudfoundry.org

Page 11: Introduction à Cloud Foundry et au PaaS

La Fondation Cloud Foundry• La mission de la Fondation Cloud Foundry est d'établir et de maintenir Cloud Fondry comme la technologie standard open source de l'industrie mondiale du PaaS avec un écosystème florissant.• Afin de fournir en continu la qualité, la valeur et l'innovation pour les utilisateurs, les opérateurs et les fournisseurs de technologie Cloud Foundry.• Fournir une expérience agile dynamique pour les contributeurs de la communauté qui délivrent les applications et logiciels natifs cloud de grande qualité, à grande vitesse avec l'échelle mondiale.• Ses principes directeurs sont les suivants:

• Gouvernance par Contribution - l’influence au sein de la Fondation est basée sur les contributions

• IP Hygiène - 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.

Page 12: Introduction à Cloud Foundry et au PaaS

La Fondation Cloud Foundry

Page 13: Introduction à Cloud Foundry et au PaaS

L’architecture Fondation Cloud• La plate-forme est abstraite comme

ensemble de services distribués à grande échelle

• Il utilise Cloud Foundry Bosh pour opérer l’ infrastructure sous-jacente à partir des IaaS des fournisseurs.

• Les composants sont dynamiquement découvrable et découplés.

• L’état de santé est exposée à travers points de terminaison HTTP pour que les agents puissent recueillir des informations d'état et d’aigrin conséquence

Page 14: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry : Routeur DynamiqueComment cela fonctionne

• Les formes de routeur et routes tous trafic système externe (HTTP /API) et de l'application du trafic de Internet / intranet.• Il maintient un routage dynamique table pour chaque charge équilibrée par exemple l'application avec des adresses IP et les ports.

Responsable de

• L'équilibrage de charge• Le maintien d'un routage actif table• les journaux d'accès• Prise en charge websockets

Page 15: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: Contrôleur CloudComment cela fonctionne

• Le Cloud Controller maintient commandement et de contrôle, y compris l'interface avec les clients (CLI, interface utilisateur Web, Spring STS), compte et provisionnement contrôle.• Il fournit également RESTful interface pour des objets de domaine (applications, services, organisations,espaces, instances de service, utilisateur rôles et plus).

Responsable de

• Etat App attendu, l'état transitions, et souhaité convergence• Autorisations / Auth Orgs / Espaces / Utilisateurs• la gestion des services• placement App• Audit / Journaling et de facturation événements• Stockage de Blob

Page 16: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: UAA et Connexion ServeursComment cela fonctionne

• «Autorisation de l'utilisateur et Authentification "fournit l'identité, la sécurité et services d'autorisation.

• Il gère tiers Oauth 2.0 informations d'accès et peut fournir l'accès aux applications et identité-as-a-service pour les applications en cours d'exécution sur le Cloud Foundry.

• Composé de: UAA Server, Command Line Interface, Bibliothèque.

Responsable de

• Server Token• ID Server (gestion des utilisateurs)• OAuth Scopes (groupes) et SCIM• Serveur de connexion - Base de données de SAU - Support SAML (SSO intégration) et Active soutien Directory avec le VMware SSO Appliance• Audit d'accès

Page 17: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: Gestionnaire de santéComment cela fonctionne

• Manager surveille la santé la disponibilité des applications en écoutant le bus de messages pour NATS états d'application incompatibles (Prévu vs réel).• Le Cloud Controller publie état attendu et l'ASD publier état actuel.• l'inadéquation de l'État sont signalés au contrôleur Cloud.

Responsable de

• Maintient l'état actuel de singes• Par rapport à l'état prévu• Envoie des suggestions à faire match réel prévu (ne peut pas faire des changements d'état lui-même – ne CC peut le faire!)

Page 18: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: DEAComment cela fonctionne

• "Agents d'exécution Droplet" sont sécurisée et totalement isolée conteneurs.• ASD sont responsables d'une Apps cycle de vie: la construction, à partir et arrêter les applications comme instruit.• Ils diffusent périodiquement messages au sujet de leur état par l'intermédiaire le bus de message NATS.

Responsable de

• Gestion des conteneurs Linux (Directeur)• pools de ressources de surveillance - processus - Système de fichiers - Réseau - Mémoire• Gérer l'application du cycle de vie• journal App et le fichier en streaming• DEA battements de coeur (NATS à CC, HM)

Page 19: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: BuildpacksComment cela fonctionne

• Buildpacks sont des scripts Ruby qui détectent l'application runtimes / cadres / plugins, compiler le code source en exécutables binaires, et la libération l'application d'un DEA affecté.• Les composants d'exécution peuvent êtremis en cache pour une exécution plus rapide desapplication ultérieure pousse.

Responsable de

• Staging * - / Bin / détecter - / Bin / compiler - / Bin / release• gouttelette Configurer - Runtime (Ruby / Java / Node / Python) - Container (Tomcat / Liberty / Jetée) - Application (.WAR, .rxjs, .py)

Page 20: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: Messagerie (NATS)Comment cela fonctionne

• NATS est interne un jeûne messaging bus pour gérer l'ensemble du système de communication par l'intermédiaire une publication et d'abonnement mécanisme.

Responsable de

• Non-Persistent messaging• Pub/Sub• Queues (app events)• Directed messages (INBOX)

Page 21: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: Courtier de serviceComment cela fonctionne

• Les courtiers de services fournissent uninterface pour native et externe services 3ème partie.• les processus de services exécutés sur Les nœuds de service ou avec externe fournisseurs as-a-service (par exemple, email, base de données, messagerie, etc.).

Responsable de

• catalogue de services de publicité.• Permet de créer / supprimer / bind / unbind appels vers des nœuds de service.• Demande inventaire existant instances et fixations de contrôleur nuage pour la mise en cache, gestion orpheline.• passerelle SaaS du marché.• Mise en œuvre en tant enpoint HTTP, écrit dans toutes les langues.

Page 22: Introduction à Cloud Foundry et au PaaS

Les composantes Cloud Foundry: UPSIComment cela fonctionne

• Service fourni par l'utilisateur Instances (Service anciennement «  Connecteurs ") magasin méta-données dans le Service Broker pour permettreCloud Foundry pour se connecter à les services locaux qui ne sont PAS géré par Cloud Foundry(Par exemple, OracleDb, DB2, SQLServer, etc.)

Responsable de

• La gestion des métadonnées

Page 23: Introduction à Cloud Foundry et au PaaS

L’architecture de Cloud Foundry

Page 24: Introduction à Cloud Foundry et au PaaS

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 • Questions

Page 25: Introduction à Cloud Foundry et au PaaS

Pousser une application dans Cloud Foundry

Page 26: Introduction à Cloud Foundry et au PaaS

Accès à une application dans le Cloud Foundry

Page 27: Introduction à Cloud Foundry et au PaaS

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 • Questions

Page 28: Introduction à Cloud Foundry et au PaaS

Les meilleurs pratiques pour les architectures de Micro Services L'application 12 des facteurs est une méthodologie pour les applications de cette construction :• Utilisez des formats déclaratifs pour

l'automatisation de l'installation, • à réduire le temps et le coût pour les nouveaux

développeurs se joindre à la projet.• Avoir un contrat propre à l'exploitation sous-jacent

système, offrant une portabilité maximale entre environnements d'exécution.

• conviennent pour le déploiement sur le Cloud moderne les plates-formes, ce qui évite la nécessité pour les serveurs et l'administration des systèmes.

• Réduire la divergence entre le développement et la production, ce qui permet un déploiement continu de agilité maximale.

• Et peut évoluer sans modifications importantes pratiques outillage, de l'architecture, ou de développement.

12 La méthodologie du facteur peut être appliqué à des applications écrit dans un langage de programmation, et dont l’utilisation toute combinaison

de services de support (base de données, file d’attente, la mémoire cache, etc.)1. Codebase : Un codebase suivi dans le contrôle de révision, de nombreux déploie.2. Dépendances : Explicitement déclarer et isoler les dépendances.3. Config : config de magasin dans l'environnement.4. Services d’Accompagnement : Traiter les services d'accompagnement en tant que ressources attachées.5. Construire, Release, Run : Strictement construction séparé et les étapes gérées.6. Port Reliure : services à l'exportation via liaison de port.7. Concurrence : Échelle via le modèle de processus.8. jetabilité : Maximiser la robustesse avec le démarrage de la graisse et gracieuse fermer.9. Dev / Prod Parité : Gardez le développement, la mise en scène et la production aussi proche que possible.10. Logs : Traiter les journaux comme flux d'événements.11. Processus Admin : Exécuter les tâches admin / gestion en tant que processus ponctuels.

Page 29: Introduction à Cloud Foundry et au PaaS

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

• Local de stockage du système de fichiers est de courte durée• Votre application peut écrire des fichiers locaux alors qu'il est en cours d'exécution, les

fichiers disparaît après l'application redémarre• Les instances de la même application ne partagent pas un système de fichiers local• 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 doit être disponible après une application se bloque ou

arrête, ou qui doit être partagée 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 d'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.

• Conception comme si votre application peut être redémarré, détruit, a commencé à tout moment!

Page 30: Introduction à Cloud Foundry et au PaaS

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 • Questions

Page 31: Introduction à Cloud Foundry et au PaaS

Mise en route de Cloud FoundryNotions de base

• Les comptes d'essai avec les fournisseurs hébergés

http://bluemix.nethttp://run.pivotal.io• Documentation Cloud Foundryhttp://docs.cloudfoundry.org• Communauté Cloud Foundryhttp://cloudfoundry.org• Cloud Foundry sur GitHubhttps://github.com/cloudfoundry

Avancée• «Essayez Cloud Foundry" sur AWShttps://trycf.starkandwayne.com• Bootstrap BOSH

https://github.com/cloudfoundry-community/bosh-bootstrap• Dé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_installer• Stackato Micro Nuagehttp://www.activestate.com/stackato/get_stackato

Page 32: Introduction à Cloud Foundry et au PaaS

Cloud Foundry contre les autres applications

Page 33: Introduction à Cloud Foundry et au PaaS

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

Page 34: Introduction à Cloud Foundry et au PaaS

www.agilly.net