LI Solutions
Préc.

UMI

Une plateforme cloud sécurisée et flexible pour stocker, collaborer et monétiser des fichiers avec des applications web et mobiles

Visiter le site
Suiv.
  • 10 000
    clients actifs
  • Cloud-native
    backend en Go, large empreinte AWS gérée avec Terraform
  • 1 an
    construit par une équipe de 6 personnes en 12 mois
Client
UMI (produit de stockage cloud)
Visiter le site
Secteur
Logiciel cloud et collaboration sur fichiers
Présentation du client

UMI est une plateforme universelle pour le stockage, la collaboration et la monétisation des fichiers. Elle propose des disques virtuels, un partage sécurisé, un accès basé sur les rôles, des analytics, des intégrations et des applications mobiles iOS et Android. Les fichiers peuvent être partagés via des liens publics, sécurisés ou payants. La plateforme inclut le chiffrement et la surveillance d'activité pour protéger les données.

umi app screenshot
Énoncé du problème

Créer un produit de stockage cloud tout-en-un qui mélange stockage sécurisé de fichiers, collaboration en temps réel et monétisation de contenu, tout en restant simple à utiliser et prêt à monter en charge.

umi app screenshot
Contexte

UMI devait servir consommateurs, freelances et entreprises depuis une seule plateforme. La vision produit incluait des disques virtuels, un contrôle d'accès robuste, des options de partage sûres et payantes, des abonnements, des intégrations avec des outils familiers et un accès mobile.

Points de friction
  • Unifier de nombreux workflows en un seul produit sans sacrifier la simplicité
  • Garantir une sécurité de bout en bout avec chiffrement et permissions granulaires
  • Soutenir une croissance rapide et des opérations lourdes sur les fichiers avec une faible latence
  • Livrer une expérience cohérente sur le web et le mobile
Approche

Nous avons conçu un backend Go modulaire déployé en services conteneurisés sur AWS, derrière des Application Load Balancers et protégé par WAF.

Nous avons tout géré en code avec Terraform et Terragrunt. Nous avons mis en place des paliers de stockage basés sur S3, Aurora PostgreSQL pour les données relationnelles, DynamoDB pour les tables à haut débit, Cognito pour l'authentification, SQS pour le découplage et CloudWatch pour l'observabilité.

Les applications mobiles et web consomment une API propre et prennent en charge les liens sécurisés, l'accès basé sur les rôles, les analytics et les intégrations.

umi app screenshot
Technologies utilisées

Go, AWS (ECS, ALB, VPC, NAT, Route 53, ACM, WAFv2, S3, DynamoDB, Aurora PostgreSQL, SES, SNS, SQS, CloudWatch, KMS, Secrets Manager), Terraform et Terragrunt, applications mobiles iOS et Android (Dart)

umi app screenshot
01
02
03
04
05
  1. Détails de la mise en œuvre
    Phase 1. Évaluation initiale et architecture
    • Recueil des besoins et cartographie du domaine pour le stockage, le partage, la collaboration et la monétisation
    • Définition des frontières de services de haut niveau et conception d'API
    • Planification de la landing zone pour AWS multi-environnement avec VPC, sous-réseaux, NAT et WAF
  2. Détails de la mise en œuvre
    Phase 2. Infrastructure as Code
    • Module VPC avec sous-réseaux public, privé, base de données, intra et complémentaires
    • Stratégie NAT gateway et security groups pour ALB et services
    • Zone hébergée Route 53 et certificats ACM
    • Cluster ECS avec container insights et clés KMS de logs
    • Cluster Aurora PostgreSQL et subnet groups
    • Buckets S3 pour hot, IA, Glacier et Deep Archive avec règles de cycle de vie
    • Web ACL WAFv2 et allowlist IP optionnelle
    • Configuration du domaine SES avec DKIM, préférences SMS SNS, files d'attente SQS et dashboards CloudWatch
  3. Détails de la mise en œuvre
    Phase 3. Services et fonctionnalités
    • Services Go pour archive, auth, fichier, paiements et génération de vignettes sur ECS
    • Authentification avec user pool Cognito et app clients
    • Liens de fichiers sécurisés avec mots de passe, limites IP et expirations
    • Contrôle d'accès basé sur les rôles et journaux d'activité
    • Disques virtuels avec volume et paramètres d'accès configurables
    • Analytics, monétisation par abonnement et intégrations avec des outils comme Trello et des CRM
  4. Détails de la mise en œuvre
    Phase 4. Sécurité, supervision et performance
    • KMS pour les logs et configurations sensibles
    • Logs, tableaux de bord et alarmes CloudWatch
    • Règles WAF et rôles IAM de moindre privilège
    • Politiques S3 et optimisation du cycle de vie
  5. Détails de la mise en œuvre
    Phase 5. Lancement et passation
    • Staging et production dans eu-central-1 avec des workflows Terragrunt reproductibles
    • Déploiement des applications web et mobiles avec présence sur App Store et Play Store

Résultats clés

10 000
10 000 clients actifs sur une plateforme sécurisée et évolutive
Tout-en-un
Workflows unifiés en un seul produit qui prend en charge disques virtuels, accès basé sur les rôles, analytics et liens payants ou sécurisés
AWS + IaC
Fondation AWS robuste capable de scaler avec l'adoption, avec l'Infrastructure as Code permettant des changements rapides

Stack technique

umi app screenshot
Points clés à retenir
Enseignements tirés
  • Concevoir pour l'échelle et la sécurité dès le premier jour permet des itérations plus rapides par la suite
  • Des contrôles d'accès solides et des workflows chiffrés construisent la confiance des utilisateurs dans un produit de stockage
  • Opérer le cloud avec Terraform et Terragrunt accélère les environnements et réduit le risque
umi app screenshot
Points clés à retenir
Scalabilité

Les services modulaires et l'Infrastructure as Code rendent simple l'ajout de fonctionnalités comme de nouveaux paliers de stockage, des intégrations supplémentaires ou plus de régions sans ré-architecture

Besoin d'une plateforme sécurisée et évolutive comme UMI ?

Parlons-en et nous tracerons un chemin du concept au lancement en quelques mois

Nous contacter