SlideShare una empresa de Scribd logo
1 de 35
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 .NET C# Scrum
Software development
Training Web
noussommes
© 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
POURQUOI?
© Pyxis Technologies inc.
Budget Limité
Potentiel de
croissance
Base d’utilisateurs
international
Coût / revenu
Construit pour la
performance
POURQUOI?
© Pyxis Technologies inc.
HOSTING
© 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
© Pyxis Technologies inc.
RECHERCHE
AZURE SEARCH
SERVICE
© 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
© 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
© 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
© 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 Server side, donc limité
Maturité Mature Mature
Scalabilité Infinie, client side Selon les instances de serveur
Familiarité Moyenne Bonne
FROND END - COMPARAISON
© Pyxis Technologies inc.
MAILING
© 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
© 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
© 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
© Pyxis Technologies inc.
Retarder les
décisions
Architecture
évolutive
Abstraction
des
dépendances
Système à
deux vitesses
ARCHITECTURE - INITIALE
© 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êtes complexe
Mise à jour en lot
IMPLÉMENTATION - PERSISTANCE
© 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
© 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 Object
And
Lucene
Handle search
index content
Build index
queries
Return POCO to
index
© 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 & forget
Queue (Azure)
Événement
Publisher / Subscriber
Event (Azure)
IMPLÉMENTATION – JOB/MESSAGE
© 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
Local
Émulateur
Cloud
PROBLÈMES
© 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

Más contenido relacionado

La actualidad más candente

Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Microsoft Technet France
 
Matthieu Bouilloux - NodeJS dans Azure - - Global Azure Bootcamp 2016 Paris
Matthieu Bouilloux - NodeJS dans Azure -  - Global Azure Bootcamp 2016 ParisMatthieu Bouilloux - NodeJS dans Azure -  - Global Azure Bootcamp 2016 Paris
Matthieu Bouilloux - NodeJS dans Azure - - Global Azure Bootcamp 2016 ParisAZUG FR
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Microsoft Technet France
 
Les nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessLes nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessEudes Olivier ROBERT
 
Powershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShellPowershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShellBenoît SAUTIERE
 
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...OVHcloud
 
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...Amazon Web Services
 
DevCon 2 ; Infra as Code avec Azure
DevCon 2  ; Infra as Code avec AzureDevCon 2  ; Infra as Code avec Azure
DevCon 2 ; Infra as Code avec AzureMichel HUBERT
 
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15Dig-IT
 
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...AZUG FR
 
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...AZUG FR
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloudkalistick
 
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 ParisMarius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 ParisAZUG FR
 
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéTrack 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéAmazon Web Services
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu France
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioAmazon Web Services
 

La actualidad más candente (18)

Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
Architecture, bonnes pratiques et recettes pour la réussite de vos projets av...
 
Matthieu Bouilloux - NodeJS dans Azure - - Global Azure Bootcamp 2016 Paris
Matthieu Bouilloux - NodeJS dans Azure -  - Global Azure Bootcamp 2016 ParisMatthieu Bouilloux - NodeJS dans Azure -  - Global Azure Bootcamp 2016 Paris
Matthieu Bouilloux - NodeJS dans Azure - - Global Azure Bootcamp 2016 Paris
 
Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...Monter en charge, tester et surveiller avec une application Windows Azure : l...
Monter en charge, tester et surveiller avec une application Windows Azure : l...
 
Les nouvelles architectures Skype for Business
Les nouvelles architectures Skype for BusinessLes nouvelles architectures Skype for Business
Les nouvelles architectures Skype for Business
 
Powershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShellPowershell Saturday - Azure at Scale with PowerShell
Powershell Saturday - Azure at Scale with PowerShell
 
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...
Pilotage et gestion proactive de vos machines virtuelles dans le Hosted Priva...
 
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
AWS Summit Paris - Track 1 - Session 3 - Abordez la migration de vos applicat...
 
DevCon 2 ; Infra as Code avec Azure
DevCon 2  ; Infra as Code avec AzureDevCon 2  ; Infra as Code avec Azure
DevCon 2 ; Infra as Code avec Azure
 
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15
Atelier Technique LAN Cisco NANTES Jeudi 2 Juillet 15
 
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
 
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
 
Kalistick MixIT dev@cloud
Kalistick MixIT dev@cloudKalistick MixIT dev@cloud
Kalistick MixIT dev@cloud
 
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 ParisMarius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
Marius Zaharia - App Service plus fortement - Global Azure Bootcamp 2016 Paris
 
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau ExpertAlphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
Alphorm.com Formation SOPHOS XG FIREWALL : Niveau Expert
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilitéTrack 2- Atelier 4 - Architecturez pour de la haute disponibilité
Track 2- Atelier 4 - Architecturez pour de la haute disponibilité
 
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
Fujitsu IT Future 2013 : Diminution des coûts opérationnels et du temps de dé...
 
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par EdifixioTrack 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
Track 1 - Atelier 3 - Implémentation de cloud d'entreprise par Edifixio
 

Similar a Architecture azure performante

"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...Microsoft
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...Amazon Web Services
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteAZUG FR
 
MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360Groupe SIRIUS
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...AZUG FR
 
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...Marius Zaharia
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureJason De Oliveira
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDMohamet Lamine DIOP
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...Patrick Guimonet
 
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Switzerland
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...Publicis Sapient Engineering
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Microsoft Technet France
 
Architecture de réseau numérique de cisco – présentation du réseau intuitif
Architecture de réseau numérique de cisco – présentation du réseau intuitifArchitecture de réseau numérique de cisco – présentation du réseau intuitif
Architecture de réseau numérique de cisco – présentation du réseau intuitifCisco Canada
 
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...Cisco Canada
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Microsoft Technet France
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"OCTO Technology
 

Similar a Architecture azure performante (20)

"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi..."J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
"J'ai migré mon SI intégralement en Java dans Windows Azure et je me porte bi...
 
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
AWS Summit Paris - Track 4 - Session 2 - Migration Cloud, modernisation des a...
 
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetiteGab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
 
MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360MS Project Virtuel: EPM Cloud 360
MS Project Virtuel: EPM Cloud 360
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
GAB 2017 PARIS - La santé de votre environnement Azure par Manon Pernin et Ma...
 
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
La santé de votre environnement Azure, entre Monitor, AppInsights et Log Anal...
 
TechDays 2012 - Windows Azure
TechDays 2012 - Windows AzureTechDays 2012 - Windows Azure
TechDays 2012 - Windows Azure
 
Filtrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARDFiltrage WEB: SQUID ET SQUIDGARD
Filtrage WEB: SQUID ET SQUIDGARD
 
CQRS + Event Sourcing
CQRS + Event SourcingCQRS + Event Sourcing
CQRS + Event Sourcing
 
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
TechDays 2011 - VIR302 virtualiser vos applications métiers critiques sous hy...
 
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle RomeIBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
IBM Technology Day 2013 IBM Smarter Computing Y. de Visme Salle Rome
 
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
XebiCon'17 : Migration d’une application web vers un Paas Openshift - Akram B...
 
Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013Windows Azure Camp du mardi 10 décembre 2013
Windows Azure Camp du mardi 10 décembre 2013
 
Architecture de réseau numérique de cisco – présentation du réseau intuitif
Architecture de réseau numérique de cisco – présentation du réseau intuitifArchitecture de réseau numérique de cisco – présentation du réseau intuitif
Architecture de réseau numérique de cisco – présentation du réseau intuitif
 
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...
Reseaux grande enterprise- Architecture de réseau numérique de cisco – pré...
 
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1Nouveaux scénarios de déploiement avec SCCM 2012 SP1
Nouveaux scénarios de déploiement avec SCCM 2012 SP1
 
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
La Duck Conf 2018 : "Une infrastructure peut en cacher une autre !"
 
Les métiers du web
Les métiers du webLes métiers du web
Les métiers du web
 

Más de Eric De Carufel

Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019Eric De Carufel
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2Eric De Carufel
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design PatternsEric De Carufel
 
Cqrs + event sourcing pyxis v2 - en
Cqrs + event sourcing   pyxis v2 - enCqrs + event sourcing   pyxis v2 - en
Cqrs + event sourcing pyxis v2 - enEric De Carufel
 
Top 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeTop 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeEric De Carufel
 
Dvcs mercurial - pyxis - eric de carufel
Dvcs   mercurial - pyxis - eric de carufelDvcs   mercurial - pyxis - eric de carufel
Dvcs mercurial - pyxis - eric de carufelEric De Carufel
 
Top 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeTop 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeEric De Carufel
 

Más de Eric De Carufel (8)

Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019Bracket Show Episode 35 - histoire de c# de 2002 à 2019
Bracket Show Episode 35 - histoire de c# de 2002 à 2019
 
Gadgteteer clean code
Gadgteteer   clean codeGadgteteer   clean code
Gadgteteer clean code
 
Refactoring vers les design patterns pyxis v2
Refactoring vers les design patterns   pyxis v2Refactoring vers les design patterns   pyxis v2
Refactoring vers les design patterns pyxis v2
 
Refactoring to Design Patterns
Refactoring to Design PatternsRefactoring to Design Patterns
Refactoring to Design Patterns
 
Cqrs + event sourcing pyxis v2 - en
Cqrs + event sourcing   pyxis v2 - enCqrs + event sourcing   pyxis v2 - en
Cqrs + event sourcing pyxis v2 - en
 
Top 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre codeTop 5 des meilleures façons d'améliorer votre code
Top 5 des meilleures façons d'améliorer votre code
 
Dvcs mercurial - pyxis - eric de carufel
Dvcs   mercurial - pyxis - eric de carufelDvcs   mercurial - pyxis - eric de carufel
Dvcs mercurial - pyxis - eric de carufel
 
Top 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton codeTop 5 des meilleures façon d'améliorer ton code
Top 5 des meilleures façon d'améliorer ton code
 

Architecture azure performante

  • 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. © Pyxis Technologies inc. INTRODUCTION
  • 4. © Pyxis Technologies inc. Budget Limité POURQUOI?
  • 5. © Pyxis Technologies inc. Budget Limité Potentiel de croissance POURQUOI?
  • 6. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international POURQUOI?
  • 7. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international Coût / revenu POURQUOI?
  • 8. © Pyxis Technologies inc. Budget Limité Potentiel de croissance Base d’utilisateurs international Coût / revenu Construit pour la performance POURQUOI?
  • 9. © Pyxis Technologies inc. HOSTING
  • 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. © Pyxis Technologies inc. RECHERCHE AZURE SEARCH SERVICE
  • 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. © 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. © 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. © Pyxis Technologies inc. CACHE
  • 16. © Pyxis Technologies inc. SERVICE BUS
  • 17. © Pyxis Technologies inc. FRONT END
  • 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. © Pyxis Technologies inc. MAILING
  • 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. © 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. © 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. © Pyxis Technologies inc. Retarder les décisions Architecture évolutive Abstraction des dépendances Système à deux vitesses ARCHITECTURE - INITIALE
  • 24. © Pyxis Technologies inc. ARCHITECTURE – APRÈS 3 SPRINTS
  • 25. © Pyxis Technologies inc. ARCHITECTURE - FINALE
  • 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. © 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. © Pyxis Technologies inc. Recherche en mémoire Lucene Search Api réutilisable IMPLÉMENTATION - RECHERCHE
  • 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. © Pyxis Technologies inc. RECHERCHE Service Index Searcher Index Manager Query Builder Mapper
  • 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. © Pyxis Technologies inc. EXÉCUTION DE JOB Request Azure Queue Worker
  • 33. © Pyxis Technologies inc. ÉVÉNEMENTS Update Azure Event Web Site Web Site Web Site
  • 34. © Pyxis Technologies inc. Indexation des pages Angular vs MVC Difficulté de tester Différente configuration Debugging Local Émulateur Cloud PROBLÈMES
  • 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

Notas del editor

  1. Eric: présentation de Pyxis
  2. Eric: Présentation du projet
  3. Eric
  4. Eric
  5. Eric
  6. Eric
  7. Eric
  8. Eric
  9. Eric
  10. Eric
  11. Eric
  12. Eric
  13. Eric
  14. Eric
  15. Eric
  16. Eric
  17. Eric
  18. Eric
  19. Eric
  20. Eric
  21. Eric
  22. Eric: Concept Alain: Explication du diagramme
  23. Alain: Explication du diagramme
  24. Alain: Explication du diagramme
  25. Eric: Concept
  26. Eric: Concept
  27. Alain: explication technique
  28. Alain: Explication techique
  29. Eric: Concept
  30. Alain: Explication technique
  31. Alain: Explication technique
  32. Eric: Pose des question Alain: Explique
  33. Eric