ARCHITECTURE
AZURE
PERFORMANTE
Histoire du
développement
d’une
application
haute
performance sur
azure
© Pyxis Technologies inc.
/studio
Expertise
Qualité
Respect
Agile Big Data custom CQRS
Desktop Event Sourcing
Microsoft .N...
© Pyxis Technologies inc.
INTRODUCTION
© Pyxis Technologies inc.
Budget Limité
POURQUOI?
© Pyxis Technologies inc.
Budget Limité
Potentiel de
croissance
POURQUOI?
© Pyxis Technologies inc.
Budget Limité
Potentiel de
croissance
Base d’utilisateurs
international
POURQUOI?
© Pyxis Technologies inc.
Budget Limité
Potentiel de
croissance
Base d’utilisateurs
international
Coût / revenu
POURQU...
© Pyxis Technologies inc.
Budget Limité
Potentiel de
croissance
Base d’utilisateurs
international
Coût / revenu
Const...
© Pyxis Technologies inc.
HOSTING
© Pyxis Technologies inc.
Storage SQL, Document,
Archivage,
Système de fichier,
image de VM
SQL, Document,
image de VM
SQL...
© Pyxis Technologies inc.
RECHERCHE
AZURE SEARCH
SERVICE
© Pyxis Technologies inc.
Performance Excellente Excellente Excellente
Fonctionnalités Full text search Multi-indexing,
qu...
© Pyxis Technologies inc.
 Persistant
 Accès lent
 Distribution de
données pas toujours
facile
 Persistant (avec
redon...
© Pyxis Technologies inc.
STORAGE - FORMAT
Blob
• Donnée non-structurée
• Objets de grande taille
Table
• Donnée tabulaire...
© Pyxis Technologies inc.
CACHE
© Pyxis Technologies inc.
SERVICE BUS
© Pyxis Technologies inc.
FRONT END
© Pyxis Technologies inc.
Performance Moyenne pour comtenu statique Excellente
Fonctionnalités Dynamique, donc sans limite...
© Pyxis Technologies inc.
MAILING
© Pyxis Technologies inc.
Fonctionnalités Envoi de masse, suivi des
lectures, support de gabarits
Envoi individuels, suivi...
© Pyxis Technologies inc.
Déploiement (automatisé)
Test de performance dès le début
Test local, émulé in-proc, émulé
Az...
© Pyxis Technologies inc.
Commande Requête
Données
dénormalisée
Rapide
d’accès
Réplicable
Intégrité des
données
Exécution
...
© Pyxis Technologies inc.
Retarder les
décisions
Architecture
évolutive
Abstraction
des
dépendances
Système à
deux vit...
© Pyxis Technologies inc.
ARCHITECTURE – APRÈS 3 SPRINTS
© Pyxis Technologies inc.
ARCHITECTURE - FINALE
© Pyxis Technologies inc.
Sélecteur de persistance
Blob
Table
Mémoire
Autre…
Contexte de persistance
Pas de requête...
© Pyxis Technologies inc.
IMPLÉMENTATION - PERSITANCE
Persistance
Store Factory
Blob
Persistance
IPersistanceStore
File
Pe...
© Pyxis Technologies inc.
Recherche en mémoire
Lucene
Search Api réutilisable
IMPLÉMENTATION - RECHERCHE
© Pyxis Technologies inc.
CRÉATION D’INDEX
Factory
Dialect
IndexerMapper
Data provider
Query Builder
Map between
Domain Ob...
© Pyxis Technologies inc.
RECHERCHE
Service
Index
Searcher
Index
Manager
Query
Builder
Mapper
© Pyxis Technologies inc.
Une mise à jour en deux temps
Traitement des données
Rafraichir les sites web
Job
Fire & fo...
© Pyxis Technologies inc.
EXÉCUTION DE JOB
Request
Azure
Queue Worker
© Pyxis Technologies inc.
ÉVÉNEMENTS
Update
Azure
Event
Web Site
Web Site
Web Site
© Pyxis Technologies inc.
Indexation des pages
Angular vs MVC
Difficulté de tester
Différente configuration
Debugging...
© Pyxis Technologies inc.
Rappelez-vous
Penser la performance dès le
début ne coûte pas plus cher
Prévoir l’évolution e...
Prochain SlideShare
Chargement dans…5
×

Architecture azure performante

257 vues

Publié le

Architecture azure haute performance. Conférence du 21 Septembre 2015

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
257
Sur SlideShare
0
Issues des intégrations
0
Intégrations
12
Actions
Partages
0
Téléchargements
7
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • Eric: présentation de Pyxis
  • Eric: Présentation du projet
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric
  • Eric: Concept
    Alain: Explication du diagramme
  • Alain: Explication du diagramme
  • Alain: Explication du diagramme
  • Eric: Concept
  • Eric: Concept
  • Alain: explication technique
  • Alain: Explication techique
  • Eric: Concept
  • Alain: Explication technique
  • Alain: Explication technique
  • Eric: Pose des question
    Alain: Explique
  • Eric
  • Architecture azure performante

    1. 1. ARCHITECTURE AZURE PERFORMANTE Histoire du développement d’une application haute performance sur azure
    2. 2. © Pyxis Technologies inc. /studio Expertise Qualité Respect Agile Big Data custom CQRS Desktop Event Sourcing Microsoft .NET C# Scrum Software development Training Web noussommes
    3. 3. © Pyxis Technologies inc. INTRODUCTION
    4. 4. © Pyxis Technologies inc. Budget Limité POURQUOI?
    5. 5. © Pyxis Technologies inc. Budget Limité Potentiel de croissance POURQUOI?
    6. 6. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international POURQUOI?
    7. 7. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international Coût / revenu POURQUOI?
    8. 8. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international Coût / revenu Construit pour la performance POURQUOI?
    9. 9. © Pyxis Technologies inc. HOSTING
    10. 10. © 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 OS Familiarité Faible Moyenne Faible Self-service Portail intégré Portail intégré Manuel HOSTING - COMPARAISON
    11. 11. © Pyxis Technologies inc. RECHERCHE AZURE SEARCH SERVICE
    12. 12. © Pyxis Technologies inc. Performance Excellente Excellente Excellente Fonctionnalités Full text search Multi-indexing, query language, multi plateforme Index mutlti- dimension Maturité Mature Mature Jeune Scalabilité Inter-noeud Manuelle avec (SOLR) Auto Familiarité Moyennement familié Très familié Peu RECHERCHE - COMPARAISON
    13. 13. © Pyxis Technologies inc.  Persistant  Accès lent  Distribution de données pas toujours facile  Persistant (avec redondance)  Accès ultra rapide  Distribution des données by design STORAGE - MEDIUM
    14. 14. © Pyxis Technologies inc. STORAGE - FORMAT Blob • 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
    15. 15. © Pyxis Technologies inc. CACHE
    16. 16. © Pyxis Technologies inc. SERVICE BUS
    17. 17. © Pyxis Technologies inc. FRONT END
    18. 18. © Pyxis Technologies inc. Performance Moyenne pour comtenu statique Excellente Fonctionnalités Dynamique, donc sans limite Server side, donc limité Maturité Mature Mature Scalabilité Infinie, client side Selon les instances de serveur Familiarité Moyenne Bonne FROND END - COMPARAISON
    19. 19. © Pyxis Technologies inc. MAILING
    20. 20. © Pyxis Technologies inc. Fonctionnalités Envoi de masse, suivi des lectures, support de gabarits Envoi individuels, suivi des lectures, support de gabarits Scalabilité Transparente Transparente Template Built-in Built-in Écosystème Librairie Nuget Librairie Nuget Api Rest Rest, SMTP MAILING - COMPARAISON
    21. 21. © Pyxis Technologies inc. Déploiement (automatisé) Test de performance dès le début Test local, émulé in-proc, émulé Azure Minimiser le downtime Séparation des updates et des requêtes (CQRS) A CONSIDÉRER
    22. 22. © 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
    23. 23. © Pyxis Technologies inc. Retarder les décisions Architecture évolutive Abstraction des dépendances Système à deux vitesses ARCHITECTURE - INITIALE
    24. 24. © Pyxis Technologies inc. ARCHITECTURE – APRÈS 3 SPRINTS
    25. 25. © Pyxis Technologies inc. ARCHITECTURE - FINALE
    26. 26. © Pyxis Technologies inc. Sélecteur de persistance Blob Table Mémoire Autre… Contexte de persistance Pas de requêtes complexe Mise à jour en lot IMPLÉMENTATION - PERSISTANCE
    27. 27. © Pyxis Technologies inc. IMPLÉMENTATION - PERSITANCE Persistance Store Factory Blob Persistance IPersistanceStore File Persistance Table Persistance Memory Persistance IPersistanceStore IPersistanceStore IPersistanceStore IPersistanceStore IPersitanceStore void 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
    28. 28. © Pyxis Technologies inc. Recherche en mémoire Lucene Search Api réutilisable IMPLÉMENTATION - RECHERCHE
    29. 29. © Pyxis Technologies inc. CRÉATION D’INDEX Factory Dialect IndexerMapper Data provider Query Builder Map between Domain Object And Lucene Handle search index content Build index queries Return POCO to index
    30. 30. © Pyxis Technologies inc. RECHERCHE Service Index Searcher Index Manager Query Builder Mapper
    31. 31. © Pyxis Technologies inc. Une mise à jour en deux temps Traitement des données Rafraichir les sites web Job Fire & forget Queue (Azure) Événement Publisher / Subscriber Event (Azure) IMPLÉMENTATION – JOB/MESSAGE
    32. 32. © Pyxis Technologies inc. EXÉCUTION DE JOB Request Azure Queue Worker
    33. 33. © Pyxis Technologies inc. ÉVÉNEMENTS Update Azure Event Web Site Web Site Web Site
    34. 34. © Pyxis Technologies inc. Indexation des pages Angular vs MVC Difficulté de tester Différente configuration Debugging Local Émulateur Cloud PROBLÈMES
    35. 35. © Pyxis Technologies inc. Rappelez-vous Penser 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? 35 LA FIN

    ×