IaaS, PaaS et SaaS : quel choix pour les éditeurs de logiciels ?

    Cloud - posté le 15-03-2016 par David Chassan

    iaas-vs-paas-vs-saas.jpgAvant de pouvoir lancer leurs projets de développement, les éditeurs de logiciels doivent prendre plusieurs décisions, la plus importante concernant l'infrastructure sur laquelle reposera l'application. Ce choix se répercute dans tous les aspects du développement, du déploiement et de la production. De plus, l'infrastructure utilisée peut faire la différence entre une application efficace et fiable et un système soumis à des dysfonctionnements, des problèmes de performance et un manque d'évolutivité face au nombre d'utilisateurs.

    Avant de choisir leur fournisseur d'infrastructure, les utilisateurs du Cloud doivent identifier précisément la solution la plus adaptée à leur situation. Dans le secteur du Cloud, les modalités sont généralement divisées en trois grandes catégories : infrastructure-as-a-service (IaaS), platform-as-a-service (PaaS) et software-as-a-service (SaaS). Dans cet article, je vais vous présenter les principales différences entre chacune de ces modalités, en mettant l'accent sur l'utilité de l'IaaS et du PaaS pour les éditeurs de logiciels développant des solutions adaptées aux attentes de leurs clients.


    Software-as-a-Service

    Il est inutile de s'éterniser sur le SaaS : il s'agit de la modalité proposant une solution logicielle développée à partir du Cloud. Les applications SaaS sont généralement développées à partir d'une infrastructure PaaS ou IaaS. Nous avons déjà présenté les avantages du développement et des cycles de mise en œuvre de solutions Cloud sur ce blog : cela permet par exemple d'accélérer le déploiement de l'infrastructure, de le contrôler à l'aide d'API, de réduire les coûts d'investissement, ainsi que d'externaliser la gestion de l'infrastructure et de la sécurité chez des prestataires Cloud disposant d'une expertise supérieure à celle des entreprises de développement logiciel.

    Pour résumer, les plates-formes Cloud publiques IaaS ou PaaS transfèrent les tâches d'acquisition et de gestion de l'infrastructure au prestataire Cloud tout en proposant plus de contrôle et de flexibilité à l'utilisateur.


    Infrastructure-as-a-Service

    L'IaaS est à l'origine des plates-formes Cloud : c'est à ce terme que le mot « Cloud » utilisé seul fait généralement référence. Comme son nom l'indique, l'IaaS permet de déployer un serveur et une infrastructure en réseau virtuels depuis un tableau de bord en ligne ou une API. Ainsi, les utilisateurs peuvent rapidement mettre en ligne de nouveaux serveurs ou réseaux en fonction de l'évolution de leurs besoins. Comme les ressources IaaS sont facturées au fur et à mesure, en minutes ou en heures, et qu'elles peuvent être créées ou supprimées en temps réel, cette modalité permet de déployer une infrastructure de manière plus rentable : il n'est pas nécessaire d'acheter et de gérer un système en interne.

    Les économies réalisées ne sont qu'un avantage parmi d'autres : en effet, l'IaaS révolutionne la gestion de l'infrastructure en entreprise, proposant flexibilité, élasticité et contrôle aux utilisateurs. Pour exploiter pleinement ces fonctionnalités, il ne suffit pas de délaisser les systèmes physiques et d'adopter une solution Cloud virtuelle. Ces avantages prennent de l'ampleur lorsque les entreprises transforment fondamentalement leur structure organisationnelle. En s'éloignant des cycles de développement très longs causés par le manque de réactivité des infrastructures physiques, elles peuvent exploiter pleinement la flexibilité en temps réel et la convivialité de l'IaaS pour adopter une approche DevOps.


    Platform-as-a-Service

    Pour beaucoup, la modalité PaaS est la plus difficile à définir, car elle peut prendre différentes formes.

    La « plate-forme » en question permet de gérer le développement et l'hébergement de l'infrastructure. Généralement, les plates-formes PaaS s'appuient sur l'IaaS pour proposer un environnement de développement pré-configuré et doté d'outils utiles aux développeurs (bibliothèques, structures, workflow). La plate-forme PaaS abstrait l'infrastructure en fournissant des solutions préinstallées. Pour certains, les solutions PaaS sont plus simples à utiliser que les systèmes IaaS, au détriment cependant de la flexibilité. Ainsi, le développement d'applications est soumis aux restrictions de la plate-forme : si la structure PaaS propose une version donnée d'une bibliothèque, c'est cette version que les développeurs doivent utiliser, quelles que soient les exigences du projet.

    Bien accueilli à ses débuts, le PaaS voit sa popularité menacée, notamment en raison de l'arrivée des technologies de type conteneur qui l'ont rendu obsolète (nous aborderons cet aspect plus tard).


    IaaS ou PaaS ?

    Les deux modalités sont nettement plus performantes que les systèmes physiques en matière de convivialité et de flexibilité. Les solutions IaaS fonctionnent à un niveau inférieur à la modalité PaaS, proposant donc un meilleur contrôle de l'infrastructure, mais une gestion plus complexe. Pour les développeurs, les plates-formes PaaS ont néanmoins un avantage de taille : ils peuvent en effet commencer le développement immédiatement, sans avoir à configurer les environnements de production et de développement.

    Les technologies de type conteneur comme celles proposées par Docker sont plus conviviales et flexibles que les solutions PaaS. Les conteneurs sont des environnements légers dotés de toutes les fonctionnalités requises par l'application développée. Ils sont également très flexibles : les images peuvent être chargées et mises en œuvre très rapidement. En prime, ils proposent une compatibilité optimale : il est par exemple possible d'exécuter les conteneurs Docker sur un environnement serveur Linux minimaliste, ou sur le MacBook d'un développeur. Le développement et la mise en œuvre des applications sont ainsi beaucoup plus efficaces. Les conteneurs proposent de nombreux avantages par rapport aux solutions PaaS et ne sont pas soumis aux restrictions de ces plates-formes.

    En revanche, les conteneurs ont besoin d'un support pour s'exécuter : c'est ici que l'IaaS prend toute son importance. Ainsi, les éditeurs de logiciels peuvent rapidement mettre en place l'infrastructure dont le conteneur a besoin pour exécuter l'application. Pour résumer, l'alliance des conteneurs et de l'IaaS rend les solutions PaaS obsolètes.

    Il convient cependant de préciser que l'IaaS ne nécessite pas de conteneurs : très souvent, il est tout à fait judicieux d'utiliser des serveurs IaaS sans conteneurs. Cependant, pour choisir entre l'IaaS et le PaaS, les éditeurs de logiciels doivent connaître les avantages des workflows orientés conteneurs, en particulier compte tenu des avancées technologiques récentes qui ont permis d'améliorer significativement les déploiements de conteneurs sur les plates-formes IaaS dans les grandes entreprises.

    À propos de l'auteur : David Chassan

    David est spécialiste des stratégies d'entreprises dans les nouvelles technologies. Ces domaines de prédilection sont les stratégies de croissance, les enjeux des nouvelles technologies et plus particulièrement du Cloud.
    Retrouvez David Chassan sur :

    Commentaires