Qu’est-ce qu’une plateforme aPaaS?
Dans le paysage « as a Service » il existe différents types d’offres que l’on pourrait catégoriser en fonction de leur degré d’abstraction par rapport au matériel:
1- IaaS ou Infrastructure as a Service
Les fournisseurs d’IaaS proposent de gérer l’infrastructure matérielle et logicielle d’un serveur. Il s’agit là d’un serveur physique ou, plus souvent, virtuel auquel les différents services d’un data center sont adjoints: Système d’exploitation, gestion du firewall, de la sécurité physique, du niveau de service (disponibilité, puissance CPU, RAM, etc.). L’IaaS se situe au niveau le plus bas de l’offre de services.
Ici le client devra gérer tout ce qu’il y a à « l’intérieur de son serveur » comme par exemple: les mises à jour du système d’exploitation, la gestion du serveur d’application, le déploiement des applications web, etc.
Quelques exemples de fournisseurs IaaS: Amazon AWS, OVH, Microsoft Azure.
2- PaaS ou Platform as a Service
Le PaaS est un niveau d’abstraction supérieur de l’infrastructure et propose au-dessus de celle-ci des services applicatifs utilisés par les logiciels. Ces services consistent principalement en:
- Un serveur d’application capable d’exécuter un ensemble de langages de développement (.Net, Java, autres…)
- Un service de gestion des bases de données (Oracle, PostgreSQL, MySQL, …).
- D’autres services comme: gestion de documents, moteur d’intelligence artificielle, moteur de reporting, etc.
Dans le cas des PaaS, les propriétés physiques des serveurs sont rendues abstraites et les clients sont facturés non plus sur celles-ci (CPU, RAM, Disque dur) mais sur des unités de calcul (qui représentent le temps processeur), des unités de mémoire (qui représentent la RAM) et des unités de stockage (qui représentent le disque dur). De fait le client ne se soucie plus des propriétés physiques de son serveur puisque ces propritétés sont extensibles à souhait.
Les PaaS sont utilisés par les développeurs qui ne souhaitent pas se soucier de la gestion de toute l’infrastructure et des applicatifs qui permettent de fournir les services utilisés par leurs logiciels.
Exemples de fournisseurs PaaS: Microsoft Azure, Google App Engine.
3- SaaS ou Software as a Service
Ici le fournisseur propose une application, le plus souvent une application web, ainsi que les services associés (gestion de l’infrastructure et des applicatifs associés, support aux utilisateurs) à des utilisateurs finaux. Cette application est généralement vendue en mode locatif. Ici l’utilisateur ne se soucie pas des aspects techniques quels qu’ils soient et utilise l’application (ou le service) à la demande (lorsqu’il en a besoin).
Des milliers d’applications sont aujourd’hui proposées en mode SaaS comme par exemple: Google Mail, LinkedIn, Salesforce.com, Microsoft Dynamics CRM, …
Mais alors qu’est-ce que l’aPaaS et à quel niveau se situe-t-il?
Depuis que la programmation existe, des outils ont été créés pour faciliter la vie des développeurs et leur permettre d’améliorer leur productivité. Afin de permettre aux entreprises d’innover encore plus rapidement, les dix dernières années ont vu l’émergence d’une nouvelle famille d’outils visant à permettre à des utilisateurs qui n’ont pas forcément de compétences en développement de créer des applications avec la souris.
Les aPaaS ou application Platform as a Service sont donc des solutions logicielles qui se situent entre le PaaS et le SaaS et qui proposent des outils visuels permettant de concevoir, paramétrer et déployer des applications logicielles. En des termes plus simples, les aPaaS apportent vitesse et agilité sur tout le cycle de vie de l’implémentation d’une application logicielle.
Les aPaaS proposent un ensemble d’outils qui permettent de gérer les différents aspects de la création d’un logiciel. Le graphique ci-dessous montre les différents blocs proposés par Cirrus Shield à ce jour (des blocs de fonctionnalités sont régulièrement rajoutés).
Comme vous pouvez le voir les fonctionnalités d’un aPaaS se situent à deux niveaux:
1- Le frontal
La partie frontale d’un aPaaS offre des fonctionnalités comme la recherche, la gestion des modèles de pages, le multi-lingue, les interfaces responsive ou les intégrations avec d’autres solutions (le nombre d’applications connectées avec Cirrus Shield croît régulièrement).
2- Le back-end
Le coeur d’un aPaaS doit être basé sur des fondations solides. Celles-ci incluent les dernières avancées technologiques en matière de bases de données, de principes architecturaux (architecture multi-tenante à instance unique) et de sécurité. En l’occurence nous avons également conçu Cirrus Shield pour être extensible avec des composants. Cirrus Shield est d’ailleurs maintenant amélioré lui-même avec ses propres extensions.
Il y a encore beaucoup à dire sur les aPaaS, sur leurs évolutions futures et le potentiel de leur utilisation. Cela fera l’objet d’autres articles que nous ne manquerons pas de partager avec vous.
A très bientôt.
Clair, précis et synthétique.