Choix de la plateforme pour Shaker Reader

Objectifs de la présentation

  • Aider au choix de la plateforme d'execution de l'application Shaker Data.

 

  • Présenter le fonctionnement des Platform as a Service, dont Heroku, et les comparer.
  • Permet au client d'accorder l'accès aux aggrégateurs
  • Récupère des données bancaires via des agrégateurs.
  • Circularisation (Vérifie que les données sont exhaustives)
  • Enrichit les données avec des sources externes (Société.com etc.)
  • Catégorise avec du Machine Learning :
    •  Catégorisation des dépenses avec plusieurs niveaux analytique
    • Établissement d'un profil du client
  • Plusieurs niveaux de restitution des données :

    • Avec une interface graphique: Synthétique ou avec un requêteur
    • Avec une API
  • Possibilité d'intégrer l'application à un parcours de vente "Analyse de dossier"

L'application Shaker Reader

Une application divisée en plusieurs modules

  • Module 1 - Authentification de l'utilisateur
  • Module 2 - Récupération des données bancaires
  • Module 3 - Analyse des données bancaires
    • Module 3.1 - Établissement d'un profil du client
  • Module 4 - Restitution des données bancaires

Chaque module pourra être une mini-application à part entière et être basé sur sa propre plateforme

Qu'est qu'une PaaS, une IaaS ?

IaaS : Infrastructure as a Service

  • Catégorie de services cloud
  • Virtualisation et abstraction du Hardware.
  • Gain de temps et de ressources considérable.

PaaS : Platform as a Service

  • Catégorie de services cloud
  • Abstraction du Middleware et de l'OS
  • Apporte des outils de développement :                        On peut par exemple juste charger un code en Java sur la plateforme (ou juste GitHub), et hop, l'application est déployée !
  • Apporte système de gestion de BdD

Pourquoi choisir une PaaS plutôt qu'une IaaS ?

Heroku

Une PaaS "adaptée" à Salesforce

Les Dynos

  • De petites machines virtuelles dans un environnement isolé dédiées à l’exécution de l'application

 

  • On peut tenir des montées en charge en augmentant la puissance des dynos, ou en multipliant leur nombre. Cela peut être fait manuellement, ou automatiquement

Les add-ons

  • Logging
  • Rapport d'erreur
  • Interactions avec la BDD
  • Stockage local
  • Envoi de SMS/Email
  • Etc.

Heroku propose un marketplace d'add-on variés qui permettent de gagner du temps de développement sur l'application :

Quelques add-ons presque indispensables

  • Heroku PostGres
    • Service de BdD SQL géré et fourni par Heroku
    • Fournit un tableau de bord Web
    • Possibilité de rollback/backup
  • Heroku Connect
    • Permet de répliquer les données entre une organisation Salesforce et la BDD PostGres (réplication bidirectionnelle)

 

GitHub

Heroku (ainsi que d'autres PaaS) proposent une intégration directe avec Github

Pourquoi choisir Heroku plutôt qu'une autre PaaS ?

  • Déploiement très rapide et workflow efficace
  • Plus de temps pour le développement du produit
  • Préférable si notre projet ne requiert pas beaucoup de puissance de calcul
  • Connection native avec Salesforce

Pourquoi ne pas choisir Heroku ?

  • Structure est moins flexible que d'autres (AWS, Google...)
  • Coûte en moyenne deux à trois fois plus cher qu'un serveur AWS pour les mêmes performances
  • Les add-ons peuvent vite faire monter le prix mensuel de l'application.
  • Pas de stockage local sur un serveur
    • Mais add-on peuvent corriger ça
    • Stockage possible sur un serveur AWS S3
  • Les machines ne disposent pas de GPU
    • Pas idéal pour du Machine Learning
    • Externalisation possible sur une plateforme AWS ou un service (SageMaker de Amazon)

Alternatives à Heroku

  • Amazon (Elastic Beanstalk)
  • Google App Engine
  • Microsoft Azure
  • OVH

Intégration avec Salesforce

  • Connexion sécurisée à travers Salesforce

    • Pas de système d'authentification à coder

    • Gain de temps

  • Restriction d'accès aux données via Salesforce

    • Moins de sécurité à coder

    • Gain de temps

  • Salesforce fournit des outils de reporting

    • Gain de temps

  • Glaz Finances possède déjà une bonne maîtrise de Salesforce

En bref : Salesforce fait gagner beaucoup de temps !

Alors, quelles plateformes on prend ?

  • Salesforce

    • Interface utilisateur et gestion des utilisateurs déjà faite

    • Sécurité des accès, et de l'authentification

    • Stockage des dossier à court terme

  • Heroku

    • Récupération des données via l'agrégateur

    • Point de sortie (extraction) pour analyse des données Salesforce

    • Point d’entrée (infiltration) des données enrichies et circularisées

    • Point d’accès (API) aux données pour interface externe

  • Serveur externe (Amazon Web Service)

    • Calculs longs et nécessitant de la puissance (Machine Learning)

    • Stockage des données à long terme

On prend les trois !

Des questions ?

Choix de la plateforme pour Shaker Reader

By Tristan Coignion

Choix de la plateforme pour Shaker Reader

Choix de la plateforme pour Shaker Reader

  • 34