Paulista - stock.adobe.com

Salesforce : une galaxie de 8 PaaS

Les outils de développement de Salesforce sont un mélange d'outils liés à ses briques SaaS et de solutions indépendantes des applications, comme Heroku ou Mulesoft.

Cet article (initialement publié dans le magazine Applications et Données) est la deuxième partie d'un dossier en deux volets. Le premier est revenu sur l'histoire tumultueuse de la genèse du PaaS de Salesforce.

Ce deuxième volet fait le tour d'horizon exhaustif - à début 2019 - de ses huit PaaS.

Les 8 PaaS de Salesforce

Force.com : c'est le PaaS "historique" de Salesforce. Il permet de développer des extensions ou de personnaliser les outils de l'éditeur (Sales Cloud, Services Cloud, Marketing Cloud, Commerce Cloud).

A l'origine, il fallait maitriser un langage propriétaire (Apex) exactement comme il fallait avoir des développeurs ABAP pour SAP.

Au fil du temps, Force.com a évolué vers le low-code / no-code. « Force.com offre des outils et des services prêts à l'emploi pour automatiser vos processus et intégrer des applications externes », présente l'éditeur. Pour aller un peu plus loin, il faut néanmoins toujours maîtriser le langage Apex (proche de Java).

Lightning : ce PaaS est une refonte globale de Force.com. Il en est, en quelque sorte, « l'évolution naturelle » dixit Guillaume Aurine de Salesforce France.

Certaines pages de Force.com renvoient d'ailleurs sur celles de Lightning : « avec Force.com vous pouvez créer des applications en glissant et déposant des composants dans le Lightning App Builder », explique par exemple Salesforce sur une page de Force.com.

Ce PaaS s'appuie sur le Framework d'UI open source Aura : un virage technologique important pour Salesforce.

« Lightning est la récente plateforme de nouvelle génération de Salesforce », ajoute Guillaume Aurine dans un échange avec LeMagIT. « Elle propose une nouvelle expérience aux utilisateurs et aux développeurs qui peuvent personnaliser l'interface et créer des composants de manière flexible ».

Esprit du temps oblige, Lightning s'est ouvert au JavaScript, au CSS et au HTML5.

Fuel : ce PaaS est celui de ExactTarget, société rachetée par Salesforce en 2013 et qui est à la base de Marketing Cloud.

D'après Guillaume Aurine, environ 20 % des clients de Marketing Cloud utiliseraient ce PaaS pour développer leurs propres processus (automatisation, parcours clients, etc.) ou des applications dédiées au marketing. Ce PaaS est donc très orienté métier.

Le Marketing Cloud SDKs - autre nom de Fuel - est disponible pour six langages : Phyton, C, Java, Node, Php, Ruby.

Salesforce Analytics (ex-Wave) : Là encore, la brique - axée algorithmes - est très liée à l'univers Salesforce puisqu'il « aspire » les données des autres applications de l'éditeur pour en sortir des tableaux de bords, des enseignements divers (insights) ou pour créer d'autres indicateurs.

Il ne s'agit donc pas d'une brique agnostique - comme peut l'être un Birst ou un Qlik/Tableau - mais bien d'un module complémentaire aux autres environnements maisons.

Il est toutefois possible de croiser les données avec des sources externes pour faire de nouveaux indicateurs dans Wave.

Thunder : basé sur une infrastructure AWS, cet iPaaS (plateforme d'intégration) permet d'ingurgiter de grosses quantités d'évènements IoT (« Thunder permet de gérer une grosse quantité de données en streaming », reformule Guillaume Aurine). Il est en même temps un outil d'orchestration d'évènements et un moteur de règles.

A la base, Thunder a été conçu pour rediriger vers Force.com, Heroku ou Fuel - où une action peut être créée. Mais il est également possible de l'utiliser vers d'autres plateformes cibles comme Wonderware (de Schneider Electrics) - qui est présent dans 30 % des usines dans le monde et utilisé, par exemple, pour piloter des sites Areva, EDF, etc.

Les règles intégrées à Thunder permettent de détecter à la volée des anomalies (une température trop élevée d'une machine par exemple) et de les rediriger vers un responsable technique qui utilise un outil Salesforce comme Service Cloud - ou, donc, un autre outil puisque Thunder s'appuie sur JSON.

Thunder se veut exploitable par des utilisateurs lambda. « Ce n'est pas très compliqué de dire : attention, si j'ai une vingtaine de véhicules dans le même secteur, il faut lancer telle alerte ou pousser telle information. Je peux de cette manière déclencher des règles en fonction des informations remontées par les capteurs », explicite Guillaume Aurine.

Thunder est un outil indépendant mais est également présenté comme une des briques de IoT Cloud.

Guillaume Aurine souligne néanmoins que « Thunder n’existe plus vraiment depuis Dreamforce18. C’est "IOT Plus" qui a pris le relais, avec une gestion de plus 500 000 appareils et plus de 5 millions d’évènements par jour ».

IoT Cloud : si Thunder est taillé pour de grosses quantités de données, « IoT cloud est dimensionné pour des cas d'usages à plus faibles volumétries, pour permettre à chaque entreprise de tester de nouveaux modèles économiques dans des conditions raisonnables d'un point de vue coût mais aussi de délai d'exécution », différencie bien Guillaume Aurine. En fonction des pages de présentation, Thunder n'est d'ailleurs pas toujours évoqué dans IoT Cloud.

Ce PaaS a été redéveloppé entièrement sur la plateforme Lightning.

Ses usages (comme Thunder) restent liés aux activités historiques de l'éditeur qui parle de « connecter l'Internet des Objets à l'Internet des Clients ». Ce PaaS remonte des données d'appareils vers le CRM (ou ses déclinaisons).

« IoT Cloud répond au cas d'usage de génération de leads et d'opportunités dans Sales Cloud ou d'une demande client dans Service Cloud par un appareil connecté », nous confirme Guillaume Aurine.

Ce PaaS permet également « d'enrichir les données des machines par d'autres sources de données ».

« IOT cloud vient d’être annoncé comme étant disponible dans Lightning Field Service », ajoute Guillaume Aurine.

MuleSoft : c'est une plateforme d'intégration et de gestion d'APIs (un iPaaS) rachetée par Salesforce en mars 2018. Il est à la base du tout nouveau « Integration Cloud » de l'éditeur.

MuleSoft est un acteur historique de la gestion des APIs. « MuleSoft est unique dans son approche API », vante Parker Harris, co-fondateur de Salesforce. « C'est une manière plus moderne et plus simple de connecter les systèmes, puis de les automatiser ».

Bien qu'étant un PaaS à part entière de Salesforce (il est utilisé en interne pour gérer le cycle de vie des APIs de l'éditeur lui-même), MuleSoft reste un produit indépendant utilisable hors Salesforce (pour intégrer du Workday à du ServiceNow par exemple). « La feuille de route continuera d'intégrer des développements pour les produits concurrents de Salesforce », promet le dirigeant américain.

Heroku : c'est le PaaS généraliste de Salesforce. Généraliste dans le sens où comme MuleSoft, il n'est pas (nécessairement) lié aux produits maison. On peut y développer aussi bien un back-end d'application mobile qu'un site web ou un bot - en appelant par exemple les services (externes) de Recast.io.

Il existe tout de même - et évidemment - un outil, Heroku Connect, qui permet de relier ce PaaS à Salesforce.com.

Heroku permet aussi de tirer parti de plusieurs services de Salesforce - sans être client de ses autres clouds - comme s'ils étaient des services totalement externes. Deux outils sont, d'après Salesforce, très populaires : l'API de Einstein Vision (reconnaissance d'images après un entrainement avec une quarantaine d'exemples, issue de l'ex-MetaMind) et Prediction.io (moteur de Machine Learning open source). A noter qu'il est possible d'appeler l'API de Vision sur d'autres PaaS (AWS, Azure).

Heroku supporte les langages Node.js, Ruby, Java, PHP, Python, Go, Scala et Clojure.

Ce PaaS généraliste est particulièrement prisé des start-ups. Il se positionne face à des Azure, des AWS ou Google Cloud.

Un ID pour les unifier tous

On le voit, l'unification des PaaS de Salesforce dans une seule et même plateforme technologique s'annonce, encore et toujours, comme un très long chantier en cours. Guillaume Aurine souligne néanmoins une avancée bienvenue avec « Customer 360, qui fait le lien entre l'ensemble des clouds et des Paas de Salesforce, avec un ID client unique pour tous les utilisateurs ».

Pour approfondir sur PaaS