IBM MaaS360 : Maîtriser les Risques liée à la Mobilité et au BYOD
Introduction à Cloud Foundry Journée du Code 2017
1. Introduction au PaaS 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 le PaaS
• Qu'est-ce que Cloud Foundry?
• Exemple de flux Cloud Foundry
• La méthodologie des 12 facteurs et les Micro services
• Annexes
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
Utilisateurs
5. PaaS: Environnement d’opération dans le Cloud
Utilisateurs
Données
Runtime
Applications
Middleware
Système
Virtualisation
Serveurs
Stockage
Réseau
Plateforme en tant que
Service
6. SaaS: L’économie de l’API
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 créer des prototypes fonctionnels 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 auto-assembler 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 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
• Les développeurs doivent penser différemment l’architecture de leurs
applications
• Les développeurs doivent mettre à niveau leurs compétences avec les
notions du cloud, et acquérir les connaissances des meilleurs pratiques
et 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
9. 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
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 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 et dynamique pour les contributeurs de la
communauté qui délivrent les applications et logiciels cloud natifs de grande
qualité, à grande vitesse à l'échelle mondiale.
• Ses principes directeurs sont les suivants:
• Gouvernance par la Contribution - l’influence au sein de la Fondation est basée
sur 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.
13. L’architecture Fondation Cloud
• La plate-forme est abstraite avec un
ensemble de services distribués à
grande échelle
• Elle 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é à travers
des points de terminaison HTTP pour
que les agents puissent recueillir des
informations d'état et agir en
conséquence
14. 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
17. 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
18. 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.)
19. 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 Services
Traitez les services d’arrière plan comme des ressources liées
• 5. Build, Release, Run
Séparer strictement les étapes de construction et d’exécution
• 6. Port Binding
Exporter les services via la liaison de ports
• 7. Concurrency
Faites évoluer via un modèle de processus
• 8. Disposability
Maximisez la robustesse avec un démarrage rapide et un arrêt en douceur
• 9. Dev/Prod Parity
Garder les processus de développement, de constitution, et de production aussi similaires que possible
10. Logs
Traiter les logs comme des flux d’évènements
11. Admin Processes
Exécutez les taches d’administration et de gestion comme des processus à part entière
20. 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
• 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!
21. 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
22. Démarrer avec 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/buil
d-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_sta
ckato