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 siteIndicateurs clés
- 10 000clients actifs
- Cloud-nativebackend en Go, large empreinte AWS gérée avec Terraform
- 1 anconstruit par une équipe de 6 personnes en 12 mois
À propos 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.
Le défi

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 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.
- 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
La solution
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.

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)

- Détails de la mise en œuvrePhase 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
- Détails de la mise en œuvrePhase 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
- Détails de la mise en œuvrePhase 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
- Détails de la mise en œuvrePhase 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
- Détails de la mise en œuvrePhase 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
Stack technique
- Backend
Services Go sur AWS ECS derrière ALB, exposant une API propre aux clients web et mobiles
Couche de données avec Aurora PostgreSQL pour les modèles relationnels et DynamoDB pour les tables à haut débit
Workflows d'objets sur S3 avec paliers de cycle de vie et accès par URL pré-signées, plus traitement média en arrière-plan (par exemple vignettes)
Messagerie asynchrone via SQS et SNS, avec observabilité via logs et métriques CloudWatch
- Frontend
Application web consommant l'API backend avec uploads sécurisés via URLs S3 pré-signées
Applications mobiles construites avec Dart pour iOS et Android utilisant la même API et le même modèle d'authentification
UI basée sur les rôles pour le partage, la collaboration, les analytics et les liens payants ou sécurisés
Efficacité des assets via cache-control HTTP et livraison média directe depuis S3
- Infrastructure
VPC AWS avec sous-réseaux public, privé et base de données, stratégie NAT et security groups
Durcissement réseau et edge avec DNS Route 53, certificats ACM et WAFv2
Cluster ECS provisionné avec Terraform et Terragrunt ; staging et production reproductibles dans eu-central-1
Services de plateforme : SES pour les e-mails, SQS et SNS pour les événements, CloudWatch pour la supervision, KMS et Secrets Manager pour les clés et secrets
- Sécurité
Identité et accès via user pools Amazon Cognito avec rôles et politiques finement granulaires
Chiffrement en transit avec TLS via ACM et au repos avec KMS ; politiques de bucket S3 strictes et règles de cycle de vie
Garde-fous applicatifs : liens signés avec mots de passe, limites IP et expirations ; IAM de moindre privilège ; règles WAF
Supervision et audit avec tableaux de bord et alarmes CloudWatch plus journalisation d'activité à travers les services
Points clés à retenir

- 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

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