Architecture azure performante
Transcript of Architecture azure performante
![Page 1: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/1.jpg)
ARCHITECTURE AZURE
PERFORMANTE
Histoire du développement d’une appl icat ion haute performance sur azure
![Page 2: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/2.jpg)
© Pyxis Technologies inc.
/studio
ExpertiseQualité
Respect
Agile Big Data custom CQRS Desktop Event
Sourcing Microsoft .NET C# Scrum Software development Training
Web
nous
som
mes
![Page 3: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/3.jpg)
© Pyxis Technologies inc.
INTRODUCTION
![Page 4: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/4.jpg)
© Pyxis Technologies inc.
Budget Limité
POURQUOI?
![Page 5: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/5.jpg)
© Pyxis Technologies inc.
Budget LimitéPotentiel de
croissance
POURQUOI?
![Page 6: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/6.jpg)
© Pyxis Technologies inc.
Budget LimitéPotentiel de
croissanceBase d’utilisateurs
international
POURQUOI?
![Page 7: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/7.jpg)
© Pyxis Technologies inc.
Budget LimitéPotentiel de
croissanceBase d’utilisateurs
internationalCoût / revenu
POURQUOI?
![Page 8: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/8.jpg)
© Pyxis Technologies inc.
Budget LimitéPotentiel de
croissanceBase d’utilisateurs
internationalCoût / revenuConstruit pour la
performance
POURQUOI?
![Page 9: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/9.jpg)
© Pyxis Technologies inc.
HOSTING
Private cloud
![Page 10: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/10.jpg)
© Pyxis Technologies inc.
Storage SQL, Document, Archivage, Système de fichier, image de VM
SQL, Document, image de VM
SQL, Document,
Processing Toutes plateformes
Toutes plateformes
Toutes plateformes
Service Bus Queue, Event (SNS), Lamba
Queue, Topic, Event Hub
Maison
Scalability Automatique Automatique Maison ou OSFamiliarité Faible Moyenne FaibleSelf-service Portail intégré Portail intégré Manuel
HOSTING - COMPARAISON
Private cloud
![Page 11: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/11.jpg)
© Pyxis Technologies inc.
RECHERCHE
AZURE SEARCH SERVICE
![Page 12: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/12.jpg)
© Pyxis Technologies inc.
Performance Excellente Excellente ExcellenteFonctionnalités Full text search Multi-indexing,
query language, multi plateforme
Index mutlti-dimension
Maturité Mature Mature JeuneScalabilité Inter-noeud Manuelle avec
(SOLR)Auto
Familiarité Moyennement familié
Très familié Peu
RECHERCHE - COMPARAISON
![Page 13: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/13.jpg)
© Pyxis Technologies inc.
PersistantAccès lentDistribution de
données pas toujours facile
Persistant (avec redondance)
Accès ultra rapideDistribution des
données by design
STORAGE - MEDIUM
![Page 14: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/14.jpg)
© Pyxis Technologies inc.
STORAGE - FORMATBlob• Donnée non-structurée• Objets de grande taille
Table• Donnée tabulaire (structure plane)• Accès rapide
Document• Structure hiérarchique• Schéma variable
Donnée relationnelles• Structure normalisée• Utilisation d’index
![Page 15: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/15.jpg)
© Pyxis Technologies inc.
CACHE
![Page 16: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/16.jpg)
© Pyxis Technologies inc.
SERVICE BUS
![Page 17: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/17.jpg)
© Pyxis Technologies inc.
FRONT END
![Page 18: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/18.jpg)
© Pyxis Technologies inc.
Performance Moyenne pour comtenu statique
Excellente
Fonctionnalités
Dynamique, donc sans limite
Server side, donc limité
Maturité Mature MatureScalabilité Infinie, client side Selon les instances de
serveurFamiliarité Moyenne Bonne
FROND END - COMPARAISON
![Page 19: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/19.jpg)
© Pyxis Technologies inc.
MAILING
![Page 20: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/20.jpg)
© Pyxis Technologies inc.
Fonctionnalités
Envoi de masse, suivi des lectures, support de gabarits
Envoi individuels, suivi des lectures, support de gabarits
Scalabilité Transparente TransparenteTemplate Built-in Built-inÉcosystème Librairie Nuget Librairie NugetApi Rest Rest, SMTP
MAILING - COMPARAISON
![Page 21: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/21.jpg)
© Pyxis Technologies inc.
Déploiement (automatisé)Test de performance dès le débutTest local, émulé in-proc, émulé Azure
Minimiser le downtimeSéparation des updates et des requêtes (CQRS)
A CONSIDÉRER
![Page 22: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/22.jpg)
© Pyxis Technologies inc.
Commande Requête
Données dénormalis
ée
Rapide d’accès
Réplicable
Intégrité des
données
Exécution lente
Règles d’affaires
SANS COMPROMIS
![Page 23: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/23.jpg)
© Pyxis Technologies inc.
Retarder les décisions
Architecture évolutive
Abstraction des dépendances
Système à deux vitesses
ARCHITECTURE - INITIALE
![Page 24: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/24.jpg)
© Pyxis Technologies inc.
ARCHITECTURE – APRÈS 3 SPRINTS
![Page 25: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/25.jpg)
© Pyxis Technologies inc.
ARCHITECTURE - FINALE
![Page 26: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/26.jpg)
© Pyxis Technologies inc.
Sélecteur de persistanceBlobTableMémoireAutre…
Contexte de persistancePas de requêtes complexeMise à jour en lot
IMPLÉMENTATION - PERSISTANCE
![Page 27: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/27.jpg)
© Pyxis Technologies inc.
IMPLÉMENTATION - PERSITANCE
Persistance Store Factory
BlobPersistance
IPersistanceStore
FilePersistance
TablePersistance
MemoryPersistance
IPersistanceStore
IPersistanceStore
IPersistanceStore
IPersistanceStore
IPersitanceStorevoid Save<T>
T Get<T>void Delete<T>bool Any<T>IEnumerable<T> GetSome<T>IEnumerable<T> Query<T>IEnumerable<T> GetAll<T>void Purge
![Page 28: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/28.jpg)
© Pyxis Technologies inc.
Recherche en mémoireLuceneSearch Api réutilisable
IMPLÉMENTATION - RECHERCHE
![Page 29: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/29.jpg)
© Pyxis Technologies inc.
CRÉATION D’INDEX
Factory
Dialect
IndexerMapper
Data provider
Query Builder
Map betweenDomain Object
AndLucene
Handle search index content
Build index queries
Return POCO to index
![Page 30: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/30.jpg)
© Pyxis Technologies inc.
RECHERCHE
Service
IndexSearcher
IndexManager
QueryBuilder
Mapper
![Page 31: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/31.jpg)
© Pyxis Technologies inc.
Une mise à jour en deux tempsTraitement des donnéesRafraichir les sites web
JobFire & forgetQueue (Azure)
ÉvénementPublisher / SubscriberEvent (Azure)
IMPLÉMENTATION – JOB/MESSAGE
![Page 32: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/32.jpg)
© Pyxis Technologies inc.
EXÉCUTION DE JOB
Request AzureQueue Worker
![Page 33: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/33.jpg)
© Pyxis Technologies inc.
ÉVÉNEMENTS
Update AzureEvent
Web Site
Web Site
Web Site
![Page 34: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/34.jpg)
© Pyxis Technologies inc.
Indexation des pagesAngular vs MVC
Difficulté de testerDifférente configuration
DebuggingLocalÉmulateurCloud
PROBLÈMES
![Page 35: Architecture azure performante](https://reader035.fdocuments.us/reader035/viewer/2022062900/58d132f21a28abe3298b5f4f/html5/thumbnails/35.jpg)
© Pyxis Technologies inc. 35
Rappelez-vousPenser la performance dès le début ne coûte pas plus cher
Prévoir l’évolution et la flexibilitéSe découpler de l’implémentation
Questions?
LA FIN