Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[TNT24] Apprenons à identifier les exigences techniques pour mieux concevoir

[TNT24] Apprenons à identifier les exigences techniques pour mieux concevoir

Avez-vous déjà entendu "ça doit fonctionner 24/7", "Je veux 100% de dispo", pour finir avec "en réalité, une VM ça sera largement suffisant" ?
Ou au contraire "Pas de SLA, ma plateforme n'est pas critique, il faut juste qu'elle tourne impérativement le premier du mois à 6h54 précises" ?

Si ces situations sont votre quotidien, ne perdez pas espoir ! Que ces critères techniques (Non Functional Requirements) soient explicites ou non, ils sont la clé qui vous permettra de concevoir une architecture en adéquation avec le besoin client.

En se basant sur deux exemples fictifs (toute ressemblance avec la réalité serait bien évidemment fortuite, ou pas), nous verrons comment déjouer les pièges de la surqualité, et comment mettre en place une démarche pragmatique d'identification de la bonne architecture pour le bon besoin métier.

À l’issue de cette présentation, nous saurons comment identifier ces fameuses NFRs qui nous aiderons à concevoir de meilleures architectures en évitant la sur-complexité !

Alexandre Touret

February 09, 2024
Tweet

More Decks by Alexandre Touret

Other Decks in Programming

Transcript

  1. ❑1 million d’ utilisateurs enregistrés mais peu actifs ❑500Mo de

    données ❑50 TPS (en pic) ❑40 millions d’utilisateurs actifs ❑40To de stockage sécurisé ❑1200TPS Référentiel de données sensibles Objectifs donnés par le client Après 2 ans…
  2. ❑ Elles ne sont pas “claires” ❑ Trop complexes par

    rapport aux besoins réels Exigences ❑ Risques techniques ❑ Risques humains Mauvaise gestion des risques Les raisons
  3. En coulisse… Ça ne tient pas la charge Pas disponible

    Ça a encore planté La base de données est en train de mourir Les temps d’attente sont trop longs Ça rame l'archi ne scale pas
  4. ❑ Comprendre les exigences techniques du client ❑ Produire la

    conception la plus simple possible ❑ Adapter les coûts de la conception à la valeur métier Comment faire partie des 31%?... →Ne pas s’arrêter aux besoins fonctionnels!
  5. We design payments technology that powers the growth of millions

    of businesses around the world. 7000+ engineers in over 40 countries Managing 43+ billion transactions per year €250M spent in R&D every year Handling 150+ payment methods #1 European payment processor
  6. ❑ Objectifs de qualité de service INTERNE 99% des pages

    Web doivent être affichées en moins de 2 sec Service Level Objective ❑ Mesure la conformité d’une SLO Mesure effective du temps d’affichage à partir du serveur HTTP Service Level Indicator ❑ Valeur contractuelle (SLA < SLO) Service Level Agreement SLO/SLI/SLA ? gu ar ro ides eb pa es ac e d ro ides A s e customer o uses our application
  7. Disponibilité T p ’ p (temps par an) 90% 36

    jours, 14 heures et 24 minutes 95% 18 jours, 6 heures et 2 minutes 99% 3 jours, 15 heures et 36 minutes 99,9% 8 heures, 45 minutes et 36 secondes 99,95% 4 heures, 22 minutes et 56 secondes ❑ Capacité d'une application à être opérationnelle et accessible aux utilisateurs lorsqu'ils en ont besoin (ex. 99%) ❑ Elle peut être limitée dans le temps (ex. de 8H à 20H) Disponibilité & ouverture(s) de services
  8. ❑ Objectifs de temps de reprise en cas d'incident Le

    service doit être rétabli en 1h Recovery Time Objective ❑ Quelle quantité de données accepte-t-on de perdre? Les commandes des 5 dernières minutes Recovery Point Objective Que fait-on quand us-east-1 est down? Disaster Recovery Site RTO/RPO, DRS ?
  9. ✓ Prise de commande ✓ Paiement « CETTE APPLICATION NE

    DOIT JAMAIS PLANTER, 24/7 100% DU TEMPS » Application disponible 24/7, eleven nines Inc.
  10. ❑Cloud SQL • 24/7, Instance db-standard-2 • Stockage 10.0 GiB

    • EUR 38.65 ❑Cloud Run • CPU à la requête, 2 CPU 1GiB • Memory: 1 GiB • 5/7, 11h-22h, 5,000 commandes/mois • EUR 0.00 ❑Cloud Spanner • 100 processing units: 100 • Stockage 10 GiB • Backup 10 GiB • EUR 72.90 ❑App Engine standard instances • 24/7, Instance F4_1G x 4 • EUR 752.91 Impacts financiers EUR 825,81 EUR 38,65
  11. Une charcuterie en ligne Description du besoin : « Une

    application de e-commerce pour la livraison à domicile de produits régionaux » Autrice: Aurélie Vache ©
  12. L’arc itecture (V1) Ama on A ate a A S

    Lambda Ama on D namoD Ama on S A S Lambda A S af a lient 1 2 4 5
  13. L’arc itecture (V2) Ama on A ate a A S

    E 2 Ama on D namoD Ama on S lient 1 2 4
  14. ❑Les NFRs n’étaient pas adaptées au modèle économique ❑L’application n’a

    ait pas pris en compte le coût dans la recherche de scalabilité ❑Les NFRs n’ étaient pas alignées avec le métier Pourquoi ces applications peuvent faire partie des 69% ? OK, améliorons tout ça !
  15. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? » La démarche
  16. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? »
  17. • Activité indispensable à la survie de la nation •

    Nécessite une forte résilience (ex. aucun impact sur le service suite à un tremblement de terre) Opérateur d’ Importance Vitale • Forte exigence en termes de chiffrement Hébergement de Données de Santé Payment Card Industry Data Security Standard OIV, HDS, PCI
  18. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? »
  19. Haute Disponibilité Auto Remédiation Nouveau paradigme De « Hope it

    will never happen » à « recover easily »
  20. De quoi parle-t- q év q é ’ g ?

    Théorèmes CAP / PACELC
  21. Timeouts “éviter de saturer les ressources / éviter d’atte dre

    éter e eme t” Circuit breakers “ ’appe ez pas es abo és abse ts” Graceful degradation “que reste-t-i de mo MVP” Comment mitiger les problèmes de latence ? Retentatives “Mitiger ’i dispo ibi ité i termitte te” Exponentional Backoff “éviter ’effet domi o”
  22. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? »
  23. ’est une capacité de la plate-forme plus qu’un assembla e

    d’outils… Observabilité Exemp e : architecture d’observabi ité sur u gros projet
  24. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? »
  25. Low 1 Medium 2 High 3 Low 1 Medium 2

    High 3 - Erreur d'accès à la database Probability Impact
  26. Connaître et comprendre les exigences métier Objectifs techniques Connaître l’exploitation

    Evaluer les risques Répondre à la question « Est-ce que ça vaut la peine ? »
  27. « Est-ce que la fabrication de rillettes nécessite une disponibilité

    de 99.95%? » « Est-ce que ’app icatio mobi e est indispensable pour commander un Kebab? » Est-ce que ça en vaut la peine?
  28. ❑ Avoir des objectifs techniques clairs et adaptés ❑Une évaluation

    pragmatique des risques à traiter ❑Simplicité et évolutivité Qu’a pu apporter notre approche ?
  29. Si ous a e un existant… Impliquez les Ops Collectez,

    identifiez et qualifiez les différents risques Créez une base de connaissances
  30. Don’t be a stran er! Follow & get in touch

    @malkav30 linkedin.com/in /phduval/ blog.worldline.tech @WorldlineTech Feedback Follow us: @touret_alex linkedin.com/in /atouret 71 | Follow our tech team: