Série Evolutionary Architectures, partie 1

Comment a été ce contenu ?

« J'ai une excellente idée ! »

Toute start-up débute par une idée. Avant de commencer à vous préoccuper du financement, du personnel, de la distribution ou de toute autre myriade de choses, vous avez une toute nouvelle idée, un produit ou un service qui, selon vous, a du potentiel.

Si votre idée repose sur le cloud, vous aurez besoin d'une architecture cloud. Ce plan vous aidera à concrétiser votre idée géniale et, si elle est bien conçue, elle peut évoluer parallèlement à la croissance de votre entreprise.

Pour vous aider à élaborer un plan solide pour votre idée, cette série en quatre parties, Evolutionary Architectures, vous montrera comment une entreprise, la bien nommée Example start-up, met son idée en pratique. La première partie explique comment elle a élaboré un produit minimum viable (MVP) pour tester l'intérêt des clients et l'adéquation avec le marché. Plus loin dans la série, nous verrons comment leurs conceptions et leurs décisions évoluent au fur et à mesure qu'elle suit le cycle de vie des start-ups afin de fournir une solution complète, évolutive, sécurisée, hautement disponible et redondante.

Élaborer votre premier MVP

Les premières livraisons de produits par une start-up suivent généralement une approche progressive. Ils sont dictés par le financement, le temps, les ressources, la taille de l'équipe, les connaissances et l'expérience.

À ce stade, il est extrêmement important de ne pas laisser la perfection entraver le bien et de proposer des solutions simples, mais fonctionnelles. Pour ce faire, vous devez être capable d'identifier les décisions à sens unique et à double sens, d'effectuer une interruption immédiate et de changer de cap si nécessaire, de gérer les coûts et d'accélérer les délais de mise sur le marché.

Examinons Example start-up et voyons comment elle aborde ce processus.

Idée
L'idée d'Example start-up est de créer un « marché boursier imaginaire ». Ils ont utilisé les ligues de sports fantastiques comme base de référence et ont appliqué l'idée d'investir en bourse. Ils envisagent d'organiser quatre « tournois » au cours d'une année.

Au début de chaque trimestre, une nouvelle cohorte d'investisseurs commence avec le même montant de fonds. Le marché boursier imaginaire permet à ces investisseurs de faire leurs choix d'investissement (sur la base de sociétés et de symboles issus de marchés boursiers réels) au cours des trois mois suivants. La fin du trimestre est marquée par le classement des participants et l'annonce des gagnants.

Préparation
Pour concrétiser leur idée, les deux fondateurs ont procédé à l'amorçage de leur start-up : ils ont rassemblé leurs économies et emprunté de l'argent à leurs amis et à leur famille.

L'une des fondatrices, développeuse expérimentée, a obtenu un congé de trois mois. Cela lui permet de se concentrer sur la solution technique, ce qui est utile. Cependant, ce délai définit également le calendrier de leur première livraison.

Aujourd'hui, en seulement trois mois, elle et son cofondateur, qui a une formation dans le domaine de la finance, doivent décider des fonctionnalités à inclure dans le MVP et créer leur produit. Pour commencer, ils décident 1) des fonctionnalités absolument nécessaires à l'utilisation d'un produit et 2) des fonctionnalités qui leur permettront de mesurer l'adéquation avec le marché et l'intérêt des clients.

Ils prennent les décisions suivantes concernant les aspects suivants :

  • Processus d'importation de symboles/sociétés boursiers du monde réel sur lesquels les investisseurs peuvent négocier
  • Flux quotidien des cours
  • Mécanisme d'inscription des utilisateurs
  • Interface utilisateur (UI) de gestion de portefeuille
  • Processus quotidien pour les calculs de portefeuilles en fin de journée
  • Processus quotidien de calcul des classements

Création
Après avoir défini la portée, il est temps de prendre des décisions techniques concernant les technologies et les composants dont le marché boursier imaginaire a besoin. Ils créeront ensuite un plan de mise en œuvre avec des jalons pour le lancement du MVP.

Cadre
En tant que développeur, l'un des fondateurs d'Example start-up a de l'expérience en React, une bibliothèque JavaScript qui permet de créer des interfaces utilisateur. Une grande partie des créations de MVP implique le développement de l'interface utilisateur. Par conséquent, elle pense qu'AWS Amplify convient parfaitement. Avec Amplify, l'équipe bénéficie d'un support intégré pour créer et héberger des applications React.js avec de nombreux composants réutilisables. Amplify peut également vous aider en matière de back-end : le service peut gérer différentes bases de données comme Amazon DynamoDB, une option très flexible pour démarrer, et peut utiliser AWS AppSync pour connecter facilement le front-end aux sources de données et développer la logique opérationnelle.

Domaine
Une fois le cadre pris en charge, il est temps d'obtenir un nom de domaine. Amazon Route 53 aide Example start-up à configurer un service de système de nom de domaine (DNS) bien intégré aux services qu'elle utilisait déjà, ainsi qu'au processus d'enregistrement de domaine.

Expérimentation et gestion des coûts
L'équipe est en mesure de répondre à la plupart de ses besoins initiaux en choisissant simplement un service AWS qui correspond à son cas d'utilisation. L'étendue des services AWS permet à Example start-up de tester rapidement plusieurs options et de prendre des décisions en fonction de l'expérience.

Bien que de nombreux services AWS proposent un niveau gratuit, certaines expériences d'Example start-up peuvent être trop enthousiastes. À la réception de la facture du premier mois, l'équipe se rend compte qu'elle doit faire plus attention aux coûts. Comme dans de nombreux autres cas, AWS offre une solution en la matière : elle commence à utiliser le service gratuit AWS Budgets. Il aide l'équipe à améliorer sa planification et sa gestion des coûts et à définir des alertes qui attirent facilement son attention sur tout écart par rapport à ses attentes.

Données
Un mois plus tard, Example start-up dispose déjà d'une grande partie de l'interface utilisateur et de certaines fonctionnalités connexes qui fonctionnent avec des exemples de données. Ensuite, l'équipe aura besoin de traitements par lots qui feront le gros du travail avec des données réelles.

Après avoir trouvé des sources de données pour fournir les informations dont elle a besoin, l'équipe souhaite les ingérer automatiquement. Tout en continuant d'utiliser JavaScript comme langage de programmation de prédilection, elle souhaitee l'exécuter avec un outil qui simplifie au maximum l'aspect opérationnel.

C'est là qu'entre en AWS Lambda. L'équipe ne veut pas se soucier de l'exploitation des serveurs et de la mise à l'échelle. Elle adopte donc une approche sans serveur, en utilisant le didacticiel Planifier les fonctions AWS Lambda à l'aide d'EventBridge.

Ainsi, comme le montre le schéma d'architecture initial, elle a mis en place une conception pour les services liés aux données à exécuter.

Test
L'équipe fait de grands progrès. Son architecture évolue et elle est satisfaite du délai de trois mois.

Cependant, au fur et à mesure que le nombre d'utilisateurs qui testent la solution augmente, elle remarque un problème. Un membre de l'équipe a demandé : « Quel est le nombre d'utilisateurs actifs et quel est le nombre moyen de transactions par utilisateur ? » Mais l'équipe n'a pas vraiment pu trouver de réponse pertinente. Elle convient d'« improviser » en exécutant temporairement les requêtes directement sur la console DynamoDB et de créer une « liste de souhaits » pour la prochaine itération.

Lancement
Example start-up a respecté l'échéance qu'elle s'est fixée et a lancé le MVP. En peu de temps, l'équipe note une importante liste d'inscriptions. Elle réalise qu'elle est sur la bonne voie, mais a besoin d'aide pour améliorer le produit et mettre à l'échelle l'entreprise.

Un ami d'un ami fait état d'AWS Activate, un programme qui offre aux start-ups de nombreux avantages, notamment des crédits AWS, des crédits de plans AWS Support et des conseils en matière d'architecture.

Elle soumet une demande auprès d'AWS Activate pour obtenir l'aide nécessaire pour la prochaine phase de leur parcours.

Conclusion

En quelques mois seulement, Example start-up a accompli beaucoup de choses. Lors de l'élaboration du premier MVP, de nombreuses start-ups sont confrontées à des défis similaires à ceux qu'Example start-up a surmontés.

Nous continuerons d'aborder leur parcours dans les prochains blogs de la série Evolutionary Architecture. Découvrez comment leurs besoins, leurs défis et leurs objectifs évoluent de la création à la mise à l'échelle de l'entreprise.

Zoran Nakev

Zoran Nakev

Zoran est architecte de solutions senior chez AWS. Il travaille principalement avec des startups FinTech et les aide à créer des solutions sur la plateforme AWS. Il utilise son expérience et sa passion pour la technologie pour aider les startups à atteindre leurs objectifs. Il vit dans le New Jersey avec sa famille et aime passer son temps libre à regarder des films, à écouter de la musique et à faire de longues promenades avec son chien.

Aayzed Tanweer

Aayzed Tanweer

Aayzed est architecte de solutions chez AWS et travaille avec des startups dans l'espace FinTech, plus particulièrement sur les services d'analyse. Originaire de Toronto, il s'est récemment installé à New York, où il aime manger à sa façon et explorer les nombreux coins et recoins de la ville.

Justin Plock

Justin Plock

Justin est architecte de solutions principal chez AWS et est spécialisé dans les startups de la fintech. Il rencontre régulièrement les fondateurs de fintech pour s'assurer que leur activité est sécurisée et conforme aux réglementations du secteur. Avant de rejoindre AWS, il était directeur de la mise en œuvre du cloud dans une compagnie d'assurance du Fortune 200 et directeur de l'ingénierie dans une société de cybersécurité. Il a à cœur d'aider les startups à se développer efficacement et en toute sécurité sur AWS. Il vit dans le Connecticut avec sa femme et ses deux filles.

Comment a été ce contenu ?