Sergey Nivens - Fotolia
Développement : comment bien choisir son Paas
Tous les Paas ne sont pas identiques. Le choix de la bonne plateforme de développement dépend aussi du choix de celle d’exécution.
Si l’on considère le marché des solutions de Paas, il en existe deux modèles : en mode privé, hébergé soit sur site ou dans un Cloud privé ; et public, hébergé par un tiers et facturé selon un modèle d’abonnement. Mais il ne s’agit que d’une vision partielle de ce segment. Le Paas peut aussi être considéré sous un autre angle – celui de sa proximité avec les environnements Cloud.
Et dans ce contexte, on distingue deux modèles, si l’on en croit la consultante Judith Hurwitz, qui observe depuis longtemps le marché du Cloud. Le premier modèle est celui des Paas, ancrés à un environnement Saas spécifique, comme c’est le cas avec Force.com et Heroku Enterprise chez Salesforce. Le second modèle est celui des plateformes attachées à un environnement Cloud particulier, comme avec AWS et Elastic Beanstalk. A cela j’ajoute également des offres décorrelées de tous environnements, comme Engine Yard ou Apprenda par exemple.
Comme la confiance des entreprises dans les fournisseurs de Cloud s’est améliorée – surtout en matière de sécurité-, l’adoption du Paas a également suivi la même voie pour le développement d’applications. Les dépenses en Paas, même si elles représentent une petite partie du marché total du Cloud, ne cessent de croître à un rythme accéléré. Une étude de MarketsAndMarkets prétend même que le marché mondial du Paas devrait représenter 6,94 milliards de dollars en 2018, avec un taux de croissance annuel de 32,54% !
Ancrer le Paas au Saas, le premier modèle décrit par Judith Hurwitz, permet ainsi « d’étendre la marque en proposant un écosystème étendu et protégé », explique-t-elle. « Il s’agit de la façon la plus simple, rapide et sécurisée pour les ISV et développeurs de créer des applications personnalisées pour ces seuls environnements. » L’idée n’est en effet pas nouvelle : en 2011, Workday, un spécialiste des applications de RH et de gestion financière, avait présenté son propre Paas sous le nom Workday Integration Cloud Platform.
Avec le second modèle, les Paas sont couplés étroitement à un environnement Cloud d’exécution et vont au-delà du service applicatif. « Si vous voulez développer des applications uniquement sur une technologie dédiée comme AWS, Azure ou encore Bluemix, cela est un choix logique », soutient-elle. Par exemple, si votre entreprise dispose d’une solide compétence ou encore un vaste portefeuille d’applications en .NET, choisir Microsoft Azure semble être ainsi un choix naturel.
Toutefois ce paysage est en proie à un certain bouleversement, affirme-t-elle. « Si les Paas couplés à des plateformes spécifiques sont toujours là, nous assistons désormais à une montée en puissance de Cloud Foundry, comme standard », assure-t-elle.
Bien comprendre les contours du projet
L’argument clé pour choisir le bon Paas est de bien comprendre le contour du projet, argue Dave McCrory, CTO de Basho Technologies, le créateur de la base NoSQL Riak. Aucun Paas ne répond à toutes les contraintes, et cela nécessite parfois de combiner plusieurs plateformes.
« Il existe plusieurs types de Paas, car les scenarri en matière de développement d’applications sont eux-aussi différents », ajoute-t-il. Et reprenant les mêmes arguments sur Judith Hurwitz, il affirme que Force.com est lié à l’environnement Salesforce. Selon lui, Heroku est différent : « Vous uploadez tout ce que vous souhaitez exécuter. Ce Paas n’est pas aussi lié à Salesforce que Force.com. »
Selon Dave McCrory, d’autres Paas sont quant à eux plus étroitement couplés à l’infrastructure, prenant l’exemple de Mesosphere. « C’est un service de Paas, proche de la couche physique du réseau. »
Autre exemple : AWS Lambda, décrit par AWS comme « un nouveau moyen de développer et exécuter des applications dans le Cloud ». Même s’il ne s’agit pas d’un Paas classique, il s’appuie sur le principe de snippets de code qui connectent ensemble d’autres bouts de code », rappelle le spécialiste. « Vous ne créez certes pas un programme de grande taille, mais une série de petits widgets. » Comme avec d’autres Paas, l’ambition de cet outil est d’accélérer les développements et de simplifier la maintenance, commente-t-il encore.
Mais, ajoute-t-il, quel que soit le type de Paas choisi pour accélérer les développements et les déploiements, il est important d’avoir à l’esprit que le Paas n’est qu’un seul composant d’un environnement de développement. «La tendance est d’avoir à disposition un workflow intégré du début à la fin, de l’IDE Cloud sur lequel on code jusqu’au repository du source, comme GitHub, en passant par des outils d’automatisation de tests et de déploiement. »
Chez les développeurs, passer à un modèle Paas est une question d’accélération des développements et de mises à jour en production, soutient encore le spécialiste. « Le gain : vous troquez ces lourdes mises à jour pour des modifications plus réduites et incrémentales. »
Un système peut fonctionner pendant des mois et planter avec une simple mise à jour. Comme ce qu’a pu vivre Twitter en janvier 2016 : un déploiement a provoqué une panne de 6 heures. En cause « un changement de code interne ». Une autre mise à jour avait résolu le problème. « Lorsque vous rencontrez des problèmes après une mise à jour et si vous êtes sur un Paas, vous pouvez facilement revenir à une version antérieure du code et identifier la modification à la source de ce problème », affirme Dave McCrory. « Cela est bien plus puissant qu’un cycle de mises à jour de 6 mois qui implique de déployer un train de modifications. (Avec cette approche), le système peut rester en panne pendant des jours, le temps de rechercher le code fautif. »
Même si le concept du Paas a été lent à prendre à cause de préoccupations liées à la sécurité et aux performances, Judith Hurwitz pense qu’au final, il est aujourd’hui accepté. « Des développeurs indépendants jusqu’aux petits départements et aux grandes entreprises, le Paas semble être inévitable pour le développement d’applications Cloud », affirme-t-elle. « Vous pouvez faire fonctionner votre application instantanément, tester votre code et choisir le langage de votre choix. En tant que méthodologie de développement, le Paas est là pour longtemps. »
Traduire et adapté par la rédaction