Cloud 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
IBM MaaS360 : Maîtriser les Risques liée à la Mobilité et au BYOD
Introduction à Cloud Foundry et au PaaS
1. Introduction à la plateforme en tant que Service et à
Cloud Foundry
Manuel Silvera
Senior Architecte Cloud Solutions
silveyra@us.ibm.com
@manuel_silveyra
IBM Open Technologies
https://developer.ibm.com/opentech/
Gerard Konan
Foudre & CEO, AGILLY
Cloud & Mobility Advocate
gerard.konan@agilly.net
@gekonan
www.agilly.net
2. 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
3. Modèles de fourniture du Cloud
Géré par le fournisseur de service Cloud
Gé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
4. 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
5. PaaS: Environnement d’opération dans le Cloud
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Plateforme en tant que
Service
Utilisateurs
6. SaaS: L’économie de l’API
Utilisateurs
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Logiciels en tant que
Service
7. 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 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
8. Les Inconvénients du PaaS pour les développeurs
Applications 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
9. 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
10. Cloud Foundry
Cloud 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
11. 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.
13. 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
14. Les composantes Cloud Foundry : Routeur Dynamique
Comment 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
15. Les composantes Cloud Foundry: Contrôleur Cloud
Comment 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
16. Les composantes Cloud Foundry: UAA et Connexion Serveurs
Comment 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
17. 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!)
18. Les composantes Cloud Foundry: DEA
Comment 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)
19. Les composantes Cloud Foundry: Buildpacks
Comment 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 être
mis en cache pour une exécution plus
rapide des
application 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)
20. 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)
21. Les composantes Cloud Foundry: Courtier de service
Comment cela fonctionne
• Les courtiers de services fournissent un
interface 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.
22. Les composantes Cloud Foundry: UPSI
Comment cela fonctionne
• Service fourni par l'utilisateur Instances
(Service anciennement « Connecteurs ")
magasin méta-données dans le Service
Broker pour permettre
Cloud 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
24. 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
27. 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
28. 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.
29. Concevoir les applications pour le Cloud : meilleures
pratiques
Quelques 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!
30. 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
31. Mise en route de Cloud Foundry
Notions de base
• Les comptes d'essai avec les fournisseurs hébergés
http://bluemix.net
http://run.pivotal.io
• Documentation Cloud Foundry
http://docs.cloudfoundry.org
• Communauté Cloud Foundry
http://cloudfoundry.org
• Cloud Foundry sur GitHub
https://github.com/cloudfoundry
Avancée
• «Essayez Cloud Foundry" sur AWS
https://trycf.starkandwayne.com
• Bootstrap BOSH
https://github.com/cloudfoundry-community/bosh-bootstrap
• Déployer votre propre à AWS
http://www.slideshare.net/SpringCentral/build-yourowncf
http://docs.cloudfoundry.org/deploying/ec2/
• Installez le sur un ordinateur portable
https://github.com/cloudfoundry/bosh-lite
https://github.com/yudai/cf_nise_installer
• Stackato Micro Nuage
http://www.activestate.com/stackato/get_stackato