De l'idée à l'architecture technique d'un SAAS

Hello,

Je suis ingénieur en informatique. J’ai une idée de SAAS, j’ai la vision et les objectifs.

J’aimerais passer à l’architecture technique, avez-vous des conseils ou des retours d’expérience :

  • sur la méthode à appliquer ?
  • sur le type d’architecture ? (micro-services…)
  • sur quels outils s’appuyer ?
  • sur les choses à ne pas oublier ?
  • sur la scalabilité ?

Merci pour vos retours.

A +

C’est un peu court comme données pour pouvoir vous conseiller :wink:

Voilà + de détails.

Je souhaite mettre en place une solution de mail en SAAS.

Le marché cible exige une certaine fiabilité et sécurité des données.

Côté Front :

  • client web uniquement
  • interface simple et ergonomique qui ressemble plus à une messagerie en ligne qu’à du webmail classique que je trouve dépassé et lourd.

Côté Back :
J’ai identifié les parties suivantes : base de données utilisateurs, envoi/réception de mail, stockage des mails, gestion des notifications de livraison des mails.

Côté Front, moi j’offrirai aussi un API. En fait, tu devrais faire un API qui est utilise par ton Front End, et que tu proposes aussi a tes clients externes.

Tu es tout seul pour faire cette solution ?
C’est un marché avec de très gros acteurs qui ont des ressources technologiques importantes, on parle quand même de Google et consorts en face.

Oui je suis seul pour le moment. C’est un marché spécifique avec des exigences de sécurité et où la communication est restreinte à un espace délimité. Donc pas de GAFA en face.

Merci Alain pour l’API.

Quelqu’un a déjà été confronté à ces problématiques ? Ou a été amené à mettre en place une architecture de ce type ?

Scalability and Security

Je pense que tous les sites web on ete confronte a ces problematiques.
Je crois pas qu’il y ai quelque chose de different dans ton besoin!

Bonjour,
Il y a déjà de nombreux acteurs français et nord-américain sur ce domaine.
Après, pourquoi pas… le problème des architectures en matière d’ingénierie IT est récurrent.
Car les choses évoluent très vite, il faut à la fois intégrer les produits commerciaux ou pas les plus adaptés (éviter de le syndrome du fil à couper le beurre). Et y ajouter les fonctionnalités en anticipant entre autres au mieux pour pouvoir pivoter par exemple.

Hello Fred,

Je pense qu’il ne faut vraiment pas se prendre la tête, pour ne pas dire faire de la masturbation intellectuelle sur ton architecture technique.

C’est le syndrome de l’ingénieur qui monte une boite, tu ne pense qu’au produit, tu veux qu’ils soit parfait, tu fait du TDD / Micro-service / Dernier framework a la mode, pour t’apercevoir au bout de 6 mois que tu n’a toujours rien sorti.
A partir de ce moment là 80% des gens arrête le projet.
Les plus téméraire sortent leur produit puis se rendent compte qu’il n’y a pas de marché, ou bien qu’il va leur falloir encore 1 an de marketing pour être rentable vu qu’ils n’ont fait que du produit / code jusqu’ici.

Bref, voilà pour le syndrome de l’ingénieur. Sinon pour répondre a ta question, utilise les techno que tu maitrise le mieux, peut importe, et ne te pose pas la question de la scalabilité, fait au plus vite.

Il y a énormément de framework « haute productivité », dans quasiment tout les langages :

  • Ruby On Rails
  • Flask / Django
  • Spring Boot
  • Express

Pour chacun de ses framework là, tu as des extensions/librairies qui implémentent toute les briques nécessaires a un SaaS (a ne jamais coder soit même, c’est inutile et ça prend du temps, il faut te concentrer sur tes cores features):

  • User management (inscription/connexion/oublie de mot de passe…)
  • Back-office
  • Paiement / Facturation
  • Emailing / Background taks

J’ai écrit un blog post sur ce sujet là, fruit de l’expérience de plusieurs projet ratés :
https://hackernoon.com/how-we-launched-our-first-mvp-in-one-month-6239aca8e63e

Pour résumer :

  • Le plus important est de tester qu’il y a un marché au plus vite.
  • on parle de son idée, on a pas peur de se la faire voler, blog post, étude de marché via google form ou autre
  • Si c’est possible, ça ne l’est pas toujours, on fait une landing page avec une newsletter branché a un MailChimp ou autre, un peu de content marketing qui renvoit vers la landing page et on voit vite si les gens sont intéressé
  • Et après avoir fait tout ça tu peux lancer le MVP, pour un SaaS tu peux faire une béta gratuite, dès que tu as suffisamment de features tu monétise !

En espérant t’avoir été utile !

3 « J'aime »

Hello Kevin,

Un grand merci pour ton post :wink:

C’est vraiment le syndrome de l’ingénieur :stuck_out_tongue:

Bonne journée !

1 « J'aime »