Xamarin & le Cloud
Speakers
Michel Hubert
• Directeur Technique
Antony Canut
• Consultant Xamarin
@michelhubert
Qu’est-ce qu’une application mobile ?
API (Rest/Json) B/L Tier Database
« 80% d’appels de services API/Rest »
Enjeux de la mobilité
Disponibilité
Scalabilité
Performance
Sécurité
Architecture technique
Sécurité
API Management
ESB
SAP AS/400
API Management
Firewall
XML to JSON / SOAP to REST
REST SOAP
Architecture technique
Démo - Sécurité
API Management
Architecture technique
Scalabilité
Qu’est-ce qu’une application mobile ?
API (Rest/Json) B/L Tier Database
Scalabilité
API (Rest/Json) B/L Tier Database
Serveur surchargé
Scalabilité
API (Rest/Json) B/L Tier Database
Timeout
Scalabilité
« Comment gère-t-on ce cas de figure avec une
architecture on-premises ? »
Scalabilité
API (Rest/Json) B/L Tier Database
API (Rest/Json)
API (Rest/Json)
LoadBalancer
Scalabilité
API (Rest/Json) B/L Tier Database
API (Rest/Json)
API (Rest/Json)
LoadBalancer
B/L Tier
B/L Tier
LoadBalancer
P1 P2 P3
Architecture complexe et coûteuse
Scalabilité
API (Rest/Json) B/L Tier Database
API (Rest/Json)
API (Rest/Json)
LoadBalancer
B/L Tier
B/L Tier
LoadBalancer
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
visites
Pic
prévisible
Capacité
Certes, elle permet d’anticiper les pics prévisibles …
Scalabilité
Temps
Nombre de
visites Pic
imprévisible
Capacité
… Mais pas les pics imprévisibles
Scalabilité
« Comment le Cloud Computing peut vous
aider ? »
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 politiques
Plusieurs politiques peuvent être mises en place pour rendre les services « élastique » et adaptable
à la charge réellement utilisée :
Manuelle
Programmée
Automatique
Cloud & Scalabilité
Architecture technique
Démo - Scalabilité
Portail Azure
t
Compute
Inactivity
Period
t
t
t
On and Off
On & off workloads (e.g. batch job)
Over provisioned capacity is wasted
Time to market can be cumbersome
Unpredictable Bursting
Unexpected/unplanned peak in demand
Sudden spike impacts performance
Can’t over provision for extreme cases
Compute
Growing Fast
Successful services needs to grow/scale
Keeping up w/ growth is big IT challenge
Cannot provision hardware fast enough
Compute
Predictable Bursting
Services with micro seasonality trends
Peaks due to periodic increased demand
IT complexity and wasted capacity
ComputeCloud Computing Patterns
Architecture technique
Disponibilité
Business Continuity
Offre Azure
Disponibilité
Azure
99,95 %
Design for failure
Automatisation
Réplication
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
Traffic Manager
X
Architecture technique
Performance
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%)
Internationalisation
https://monservicerest.com
Internationalisation
https://monservicerest.com
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 **
Frankfurt
North 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" -Ttl
30
$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 Database
X
Mobile App fournit un SDK Xamarin (Synchronisation, …)
Architecture technique
Performance
Mode Offline - Synchronisation
Pour conclure
Disponibilité
Scalabilité
Performance
Sécurité
Questions ?
Nous avons peut être une réponse

Xamarin day - Xamarin et le cloud