xamarin day - xamarin et le cloud
TRANSCRIPT
Qu’est-ce qu’une application mobile ?
API (Rest/Json) B/L Tier Database
« 80% d’appels de services API/Rest »
Scalabilité
API (Rest/Json) B/L Tier Database
API (Rest/Json)
API (Rest/Json)Lo
ad
Bala
nce
r B/L Tier
B/L TierLo
ad
Bala
nce
r
P1 P2 P3
Architecture complexe et coûteuse
Scalabilité
API (Rest/Json) B/L Tier Database
API (Rest/Json)
API (Rest/Json)Lo
ad
Bala
nce
r B/L Tier
B/L TierLo
ad
Bala
nce
r
P1 P2 P3
Solution surdimensionnée
Baisse d’activité
Scalabilité
Temps
Nombre de
visites
CapacitéMarge de
sécurité
Surdimensionnement
En période normale, la plateforme traditionnelle est surdimensionnée et
coûteuse
Scalabilité
Temps
Nombre de
visitesPic
prévisible
Capacité
Certes, elle permet d’anticiper les pics prévisibles …
Cloud & Scalabilité
Temps
Nombre de
visites
3
4
6
4
6
Avec le Cloud, la capacité s’adapte aux besoins réels !
Cloud & Scalabilité
• L’élasticité : les différentes politiquesPlusieurs politiques peuvent être mises en place pour rendre les services « élastique » et adaptableà la charge réellement utilisée :
Manuelle
Programmée
Automatique
t
Co
mp
ute
Inactivity
Period
t
t
t
On and OffOn & off workloads (e.g. batch job)Over provisioned capacity is wasted Time to market can be cumbersome
Unpredictable BurstingUnexpected/unplanned peak in demand Sudden spike impacts performance Can’t over provision for extreme cases C
om
pu
te
Growing FastSuccessful services needs to grow/scale Keeping up w/ growth is big IT challenge Cannot provision hardware fast enoughC
om
pu
te
Predictable BurstingServices with micro seasonality trends Peaks due to periodic increased demandIT complexity and wasted capacity
Co
mp
ute
Cloud Computing Patterns
Disponibilité
Règle des 9
Cluster
Backup
DR « cold »
DR « hot »
Live / Live
99,999 %
99,99%
99%
98%
€ €€ €€€ €€€€
Azure Site Recovery
Customer 1 DC
Microsoft Azure Site Recovery
Microsoft Azure
Customer 2 DC
DR OrchestrationDR Orchestration
Target: Microsoft Azure
Extensible Data
Channel
Performance
Avant tout une question d’architecture technique/logicielle Exemples : Patterns CQRS, Stratégie de caching, Fire&Forget …
Database
Database
Esclave
Maître
Synchronisation
Lecture (80%)
Datacenters Azure 28 Regions Worldwide
100+ datacenters
Top 3 networks in the world
2.5x AWS, 7x Google DC Regions
G Series – Largest VM in World, 32 cores, 448GB Ram, SSD…
Operational
Announced/Not Operational
Central US
Iowa
West US
California
East US
Virginia
US Gov
Virginia
North Central US
Illinois
US Gov
Iowa
South Central US
Texas
Brazil South
Sao Paulo State
West Europe
Netherlands
China North *
Beijing
China South *
Shanghai
Japan East
Tokyo, Saitama
Japan West
Osaka
India South
Chennai
East Asia
Hong Kong
SE Asia
Singapore
Australia South East
Victoria
Australia East
New South Wales
* Operated by 21Vianet ** Operated by Deutsche Telekom
India Central
Pune
Canada East
Quebec City
Canada Central
Toronto
India West
Mumbai
Germany North East **
Magdeburg
Germany Central **
FrankfurtNorth Europe
Ireland
East US 2
Virginia
United Kingdom
RegionsUnited Kingdom
Regions
Un peu de PowerShell…
Créer un profil Traffic Manager
New-AzureTrafficManagerProfile -Name "SDP-TM-Performance" -DomainName "SDP-TM-Performance.trafficmanager.net" -LoadBalancingMethod "Performance" -MonitorProtocol "Http" -MonitorPort 80 -MonitorRelativePath "/iis85.jpg" -Ttl30
$TMProfile = Get-AzureTrafficManagerProfile -name "SDP-TM-Performance"
Add-AzureTrafficManagerEndpoint -TrafficManagerProfile $TMProfile -DomainName"SDP-EUS-CS01.cloudapp.net" -Status "Enabled" -Type "CloudService" | Set-AzureTrafficManagerProfile
Add-AzureTrafficManagerEndpoint -TrafficManagerProfile $TMProfile -DomainName"SDP-WE-CS01.cloudapp.net" -Status "Enabled" -Type "CloudService" | Set-AzureTrafficManagerProfile
Le mode dégradé / Offline
API (Rest/Json) B/L Tier DatabaseX
Mobile App fournit un SDK Xamarin (Synchronisation, …)