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 ❑500Go 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

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

Vous êtes le n°1,492,573 dans la file d’attente

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

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

Slide 16

Slide 16 text

❑ Objectifs de qualité de service INTERNES 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 ? ngular ro ides eb pa es ac end ro ides A s e customer o uses our application

Slide 17

Slide 17 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 18

Slide 18 text

❑ Que fait-on quand us-east-1 est down? Disaster Recovery Site ❑ 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 RTO/RPO, DRS ?

Slide 19

Slide 19 text

The F in ISO 25000 stands for Fun

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

Le besoin réel...

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

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

Slide 28

Slide 28 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 29

Slide 29 text

Application #2 : « On ne sait pas »

Slide 30

Slide 30 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 31

Slide 31 text

No content

Slide 32

Slide 32 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 33

Slide 33 text

No content

Slide 34

Slide 34 text

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

Slide 35

Slide 35 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 36

Slide 36 text

Pourquoi ces échecs?

Slide 37

Slide 37 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 38

Slide 38 text

Notre approche

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 ? » La démarche

Slide 40

Slide 40 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 41

Slide 41 text

HIPAA Certains NFRs iennent en bande… HDS KRITIS PSD2 PCI-DSS CERD OIV

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

No content

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

Exigences métier

Slide 47

Slide 47 text

No content

Slide 48

Slide 48 text

No content

Slide 49

Slide 49 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 50

Slide 50 text

Objectifs techniques Ne prenez aucune contrainte technique pour acquise!

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

Architectures évolutives

Slide 53

Slide 53 text

Résilience

Slide 54

Slide 54 text

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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

Logiciel Résilient = Deux problèmes vs

Slide 57

Slide 57 text

Timeouts “Eviter de saturer les ressources / éviter d’attendre éternellement” Circuit breakers “N’appelez pas les abonné absents” Graceful degradation “Que reste-t-il de mon MVP” Comment mitiger les problèmes de latence ? Retentatives “Mitiger l’indisponibilité intermittente” Exponentional Backoff “Eviter l’effet domino”

Slide 58

Slide 58 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 59

Slide 59 text

’est une capacité de la plate-forme plus qu’un assembla e d’outils… Observabilité Exemple : architecture d’observabilité sur un gros projet

Slide 60

Slide 60 text

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

Slide 61

Slide 61 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 62

Slide 62 text

Les risques Source: riskstorming.com

Slide 63

Slide 63 text

Low 1 Medium 2 High 3 Low 1 Medium 2 High 3 - Database access issue Probability Impact

Slide 64

Slide 64 text

Low 1 Medium 2 High 3 Low 1 Medium 2 High 3 - Database access issue Probability Impact

Slide 65

Slide 65 text

ud et d’erreur

Slide 66

Slide 66 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 67

Slide 67 text

« Est-ce que la fabrication de rillettes nécessite une disponibilité de 99.95%? » « Est-ce que l’application mobile est indispensable pour commander un Kebab? » Est-ce que ça en vaut la peine?

Slide 68

Slide 68 text

Conclusion

Slide 69

Slide 69 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 70

Slide 70 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 71

Slide 71 text

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

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 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 73 | Follow our tech team:

Slide 74

Slide 74 text

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