Slide 1

Slide 1 text

Apprenons à identifier les exigences techniques pour mieux concevoir Philippe DUVAL / Alexandre TOURET

Slide 2

Slide 2 text

69% Source: Standish group Chaos report 2020

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

❑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…

Slide 5

Slide 5 text

❑ Elles ne sont pas “claires” ❑ Trop complexes par rapport aux besoins réels Exigences ❑ Risques techniques ❑ Risques humains Mauvaise gestion des risques Les raisons

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

You are user #1,492,573 in the waiting queue

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

❑ 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!

Slide 11

Slide 11 text

Dispo 24/7 et au-delà Dispo « On ne sait pas » Deux applications

Slide 12

Slide 12 text

Alexandre TOURET Architecte Logiciel @touret_alex blog.touret.info Philippe DUVAL Architecte Cloud @malkav30 malkav30.gitlab.io Qui sommes-nous?

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Quelques définitions

Slide 15

Slide 15 text

❑ 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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

❑ 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 ?

Slide 18

Slide 18 text

Volumétrie Temps de réponse Quantité de données requêtes par seconde

Slide 19

Slide 19 text

Application #1: Une application disponible 24/7 et au-delà

Slide 20

Slide 20 text

✓ Prise de commande ✓ Paiement « CETTE APPLICATION NE DOIT JAMAIS PLANTER, 24/7 100% DU TEMPS » Application disponible 24/7, eleven nines Inc.

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Service SLA App Engine 99,95% Spanner 99,99%

Slide 24

Slide 24 text

Le besoin réel...

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Service SLA Cloud Run 99,95% Cloud SQL ?%

Slide 27

Slide 27 text

❑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

Slide 28

Slide 28 text

Application #2 : « On ne sait pas »

Slide 29

Slide 29 text

Une charcuterie en ligne Description du besoin : « Une application de e-commerce pour la livraison à domicile de produits régionaux » Autrice: Aurélie Vache ©

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

No content

Slide 33

Slide 33 text

https://www.primevideotech.com/video-streaming/scaling-up-the-prime- video-audio-video-monitoring-service-and-reducing-costs-by-90

Slide 34

Slide 34 text

L’arc itecture (V2) Ama on A ate a A S E 2 Ama on D namoD Ama on S lient 1 2 4

Slide 35

Slide 35 text

Pourquoi ces échecs?

Slide 36

Slide 36 text

❑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 !

Slide 37

Slide 37 text

Notre approche

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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 ? »

Slide 40

Slide 40 text

• 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

Slide 41

Slide 41 text

Et si l’application #1 était un O V?

Slide 42

Slide 42 text

No content

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

Service SLA GKE Multi-Région 99,99% Spanner Multi-Région 99,999%

Slide 45

Slide 45 text

Exigences métier

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

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 ? »

Slide 49

Slide 49 text

Objectifs techniques Ne prenez aucune contrainte technique pour acquise!

Slide 50

Slide 50 text

rincipales caractéristiques d’une arc itecture Évolutivité Modularité Coût Performance Simplicité Testabilité Résilience & Tolérance aux pannes

Slide 51

Slide 51 text

Architectures évolutives

Slide 52

Slide 52 text

Résilience

Slide 53

Slide 53 text

Haute Disponibilité Auto Remédiation Nouveau paradigme De « Hope it will never happen » à « recover easily »

Slide 54

Slide 54 text

De quoi parle-t- q év q é ’ g ? Théorèmes CAP / PACELC

Slide 55

Slide 55 text

Logiciel Résilient = Deux problèmes vs

Slide 56

Slide 56 text

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”

Slide 57

Slide 57 text

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 ? »

Slide 58

Slide 58 text

’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

Slide 59

Slide 59 text

Adapter la compétence des équipes aux choix technologiques Opérabilité

Slide 60

Slide 60 text

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 ? »

Slide 61

Slide 61 text

Les risques Source: riskstorming.com

Slide 62

Slide 62 text

Low 1 Medium 2 High 3 Low 1 Medium 2 High 3 - Erreur d'accès à la database Probability Impact

Slide 63

Slide 63 text

ud et d’erreur

Slide 64

Slide 64 text

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 ? »

Slide 65

Slide 65 text

« 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?

Slide 66

Slide 66 text

Conclusion

Slide 67

Slide 67 text

❑ Avoir des objectifs techniques clairs et adaptés ❑Une évaluation pragmatique des risques à traiter ❑Simplicité et évolutivité Qu’a pu apporter notre approche ?

Slide 68

Slide 68 text

Si ous a e un existant… Impliquez les Ops Collectez, identifiez et qualifiez les différents risques Créez une base de connaissances

Slide 69

Slide 69 text

En résumé Creuser le besoin Identifier les exigences Simplifiez ! Itérez!

Slide 70

Slide 70 text

No content

Slide 71

Slide 71 text

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:

Slide 72

Slide 72 text

Explore our jobs in tech: careers.worldline.com Want to shape how the world pays and get paid?