Platform as a Service (PaaS)

Cloud Computing, Software Development · course

Voir tous les documents en systèmes d'exploitation et cloud

1.Modèles de services

1.2.PaaS (Platform as a Service)

58

Platform as a service (PaaS)

59

 PaaS propose à l'utilisateur d'avoir accès à un

environnement de développement managé,

hébergé, maintenu par un prestataire, basé sur

une infrastructure externe à son entreprise.

 Le fournisseur PaaS livre cette plate-forme sur le

web, et dans la plupart des cas, il est possible de

l’utiliser à partir d’un navigateur, sans avoir

besoin de télécharger un logiciel.

 Dans ce type de service, l’OS, le runtime et les

outils d'infrastructure sont sous la responsabilité

du fournisseur.

Platform as a service (PaaS)

60 Développement Classique

Développement Cloud PaaS

 La nécessité d’une équipe complète

d’informaticiens pour acheter et installer le

matériel, les systèmes d’exploitation, ou

encore le middleware comme les bases de

données ou les serveurs web.

 Acquisition de licenses…

 Configuration manuelle de

l’environnement de développement.

Perte du temps et d’énergie considérable

avant la mise en production

Environnement de développement configuré à

la demande , élastique et prêt à l’utilisation.

Mise en production quasi instantanée

Limitation des ressources

Capacités d’expérimentation quasi illimitées

« Single User »

Usage Multi-tenant

Payement des licences et la mise en place de

la plateforme.

Gestion manuelle des pannes et maintenance

continue de la plateforme de développement.

Payement uniquement à l’usage

Rien à faire

Acteurs du PAAS

Publicité

61

Quelques Solutions Commerciales

 Windows Azure de Microsoft.

 AppEngine de Google.

 Bluemix d’IBM.

 Chaque PaaS propose des modèles de développement différents.

 Exemple: Google App Engine se limite à Java et à Python alors que

Windows Azure travaille avec les langages .Net, Python, PHP, Ruby et

Java.

Acteurs du PAAS

62

Solutions Open Source

 OpenShift

 CloudFoundry

Platform as a service (PaaS)

63

Remarque:

 La situation est analogue à celle de l'hébergement web où

le consommateur loue l'exploitation de serveurs sur lesquels

les outils nécessaires sont préalablement placés et contrôlés

par le fournisseur.

 La différence principale étant que les systèmes sont

mutualisés et offrent une grande élasticité - capacité de

s'adapter automatiquement à la demande, alors que dans

une offre classique d'hébergement web l'adaptation se fait

suite à une demande formelle du consommateur.

Exemple de PaaS: Cloud9 d’AWS

64

 AWS Cloud9 est un environnement de développement

basé sur le cloud (IDE) qui permet d'écrire, d'exécuter et

de déboguer du code depuis un navigateur.

 Comprend un éditeur de code, un débogueur et un

terminal.

 Intègre les outils essentiels pour les langages de

programmation les plus courants, dont JavaScript,

Python, PHP et d'autres.

 Permet à une équipe de partager un environnement de

développement: codage collaboratif en temps réel.

Exemple de PaaS: IBM BLUEMIX

65

 Bluemix repose sur des technologies OpenSource :

 Toute la couche "PaaS" en particulier est gérée par

CloudFoundry (là où les concurrents utilisent en général des

Publicité

solutions propriétaires)

 Des conteneurs, via Docker : qui permettent de porter les

applications en ligne sans avoir à gérer le système d'exploitation.

 Des machines virtuelles, via OpenStack: OpenStack est un

ensemble de logiciels open source permettant de déployer des

infrastructures de cloud computing.

CloudFoundry

68

 Les runtimes via CloudFoundry sont des environnements

tous prêts pour faire tourner une application quel que

soit son langage (ou presque) :

CloudFoundry

69

 Des personnes de la communauté peuvent ajouter

d'autres langages, étant donné que CloudFoundry est

OpenSource.

 Vous pouvez aussi créer votre propre "buildpack", c'est-

à-dire créer votre environnement pour n'importe quel

langage. Il vous faudra un peu de temps pour le mettre

en place mais c’est faisable !

CloudFoundry

70

Concrètement, quand on clique sur "PHP", que se passe-t-il ?

 Un « contexte d'exécution PHP » est crée: Un serveur démarre, déjà

préinstallé et préconfiguré pour faire tourner PHP. On y retrouvera par

exemple une machine Linux avec Apache et PHP préinstallés.

 L'intérêt est qu'on n'a plus à s'occuper du serveur (on n'accède d'ailleurs

pas à la ligne de commande) ! Il n'est plus nécessaire de faire les

configurations de sécurité, comme le pare-feu, et il n'est pas non plus

nécessaire de penser à faire les mises à jour des logiciels.

Catalogue des services Bluemix

71

 Etant donné qu'ils sont nombreux, vous pouvez filtrer les services

par thématique :

 Cognitif : tout ce qui touche à l'intelligence artificielle

 Mobile : pour vos applications mobiles

 DevOps : pour vous aider à gérer et suivre l'état des serveurs

 BigData : pour faire des calculs sur des grandes masses de données

 etc.

14/10/2019

Catalogue des services Bluemix

72

 Etant donné qu'ils sont nombreux, vous pouvez filtrer les services

Publicité

par thématique :

 Cognitif : tout ce qui touche à l'intelligence artificielle

 Mobile : pour vos applications mobiles

 BigData : pour faire des calculs sur des grandes masses de données

 DevOps

 etc.

DevOps (https://hub.jazz.net/)

73

 DevOps Services est un outil d'IBM qui permet :

 d'héberger votre code source, versionné avec Git ;

 de développer soit depuis votre logiciel favori, soit

directement en ligne dans l'IDE intégré ;

 de préparer votre application et l'envoyer en ligne sur

Bluemix ;

 de collaborer à plusieurs sur ces projets, en méthodologie

agile SCRUM ;

 de partir d'un projet existant pour l'adapter (fork).

DevOps: c’est quoi?

74

 Le DevOps est une combinaison de philosophies culturelles, de pratiques

et d'outils.

 DevOps repose sur les principes Lean (Just in Time, amélioration continue)

et Agile (livraison continue, personnes et interactions, satisfaction client):

 Les responsables métiers avec les services de développement, des

opérations et d’assurance qualité collaborent pour délivrer le logiciel en

continu dans l’objectif de permettre à l’entreprise de saisir plus

rapidement les opportunités du marché et d’accélérer la prise en compte

des retours clients.

La Culture DevOps

75

 A l’origine, DevOps est un mouvement culturel ; il concerne

les individus.

 Une culture DevOps se caractérise par un haut niveau de

collaboration dans les rôles, par une concentration sur les

objectifs de l’entreprise et non pas sur ceux de

départements, sur la confiance et l’importance que revêt

l’apprentissage par l’expérimentation.

 La création d’une culture DevOps ne revient pas à adopter

un processus ou un outil. Elle nécessite une ingénierie sociale

d’équipes d’individus.

 La culture agile est un pré-requis à la culture DevOps.

DevOps VS Agility

76

Publicité

Techniques DevOps

77

 Intégration continu (Continuous Integration « CI »)

 Livraison continu (Continuous Delivery « CD »)

 Surveillance et retours continus

 Mais aussi: planification continue, amélioration continue

Techniques DevOps

78

 Amélioration continue: des processus, de l’équipe, du produit.

 Planification des versions: au bon moment, avec les fonctionnalités

adéquates

 Intégration continue: permet aux équipes de développeurs, travaillant

sur des composants multi-technologies sur des sites distribués de s’assurer

que le travail de chaque équipe est intégré en continu à celui des autres

équipes puis validé.

 Déploiement continu: L’intégration continue débouche naturellement sur le

déploiement automatisé : un processus d'automatisation du déploiement

des logiciels dans les environnements de test, de test système, de pré-

production et de production.

Techniques DevOps

79

 Test continus: Les tests continus impliquent de tester au plus

tôt et en continu tout au long du cycle de vie, ce qui permet

de réduire les coûts, de raccourcir les phases de test et de

disposer de retours en continu sur la qualité.

 Surveillance et retours continus: La surveillance continue

fournit aux équipes des Opérations, d’Assurance-Qualité, de

Développement, aux responsables de secteur et aux autres

parties prenantes des données et des mesures sur les

applications à différentes étapes du cycle de livraison.

Quelques Outils DevOps

80

Pipeline DevOps

81

 Un pipeline de distribution est constitué des étapes par

lesquelles passe une application, du développement à la

production.

 A chaque étape, il faudra utiliser et configurer l’outil

adéquat à utiliser.

 Exemple: