Comment envisager l'architecture d'une solution dans le Cloud ? Quelles différences avec un hébergement classique ?
Nous illustrerons les grands principes du développement Cloud en prenant l'exemple d'une application web typique. Nous construirons l'architecture étape par étape pour la rendre scalable et lui faire bénéficier des avantages du Cloud.
Nous verrons ensuite les différents types d'implémentations et choix technologiques possibles de cette architecture sur le Cloud Microsoft Azure. Nous envisagerons aussi bien des services d'infrastructure (VMs, conteneurs, …) que des services de plus haut niveau de type plateforme, du serverless, des bases de données managées…
Nous zoomerons ensuite sur l'acquisition de la donnée et son traitement dans un contexte Big Data et verrons les caractéristiques d'une architecture lambda et ses implémentations possibles sur Azure (Hadoop, …). Nous terminerons par les différentes manières d'ajouter de l'intelligence dans sa solution : de la plus simple à mettre en œuvre pour le développeur via des APIs pré-packagées, à la plus élaborée et personnalisable pour le Data Scientist. Mais aussi comment la rendre plus facilement accessible par l'utilisateur via un bot Skype, Facebook, Slack, email, SMS...
Support du meetup https://www.meetup.com/fr-FR/Duchess-France-Meetup/events/238437772/
13. 27 Regions Worldwide
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
India Central
Pune
Canada East
Quebec City
Canada Central
Toronto
India West
Mumbai
Germany North East
Magdeburg
Germany Central
Frankfurt
United Kingdom
Regions
North Europe
Ireland
East US 2
Virginia
[L’an dernier] Couverture géographique des datacenters
19. Etape 1 : « scaling » horizontal
User DatabaseLoad
balancer
20. Etape 2 : découpage en services
Front
User Database
APIs
21. Etape 3 : The right tool for the right job
Front
User Database
APIs
Storage
22. Etape 4 : mécanismes de cache
Front
User Database
APIs
StorageCDN
23. Etape 4 : mécanismes de cache
Front
User Database
APIs
StorageCDN
Redis Cache
24. Etape 5 : partitionmt/sharding de la BD
Front
User
APIs
StorageCDN
Redis Cache
Database
25.
26. Etape 6 : asynchronisme
Front
User
APIs
StorageCDN
WorkerQueue
Redis Cache
Database
27. Etape 7 : Multi-régions
User
Storage
CDN
Front APIs
WorkerQueue
Front APIs
WorkerQueue
Traffic Manager
EU
US
Redis Cache
Database
Redis Cache
Database
Sync
32. Machines virtuelles (IaaS)
- Installation OS & maintenance à votre charge
- Provisionnement en self-service
- Automatisation (scripts, extension custom script
- Infra as code Azure Quickstart Templates - GitHub
33. • Declarative solution for
Deployment of the resources.
• Reusable templates.
• Unified way for managing and
monitoring resources in an
application.
RESOURCE GROUP
34. Machines virtuelles (IaaS)
- Installation & maintenance OS à votre charge
- Provisionnement en self-service
- Automatisation (scripts, extension custom script
- Infra as code Azure Quickstart Templates - GitHub
- Scaling manuel/auto de l’infra
- Devops/intégration custom
- Marketplace partenaire
35.
36. Conteneurs (IaaS)
- Installation OS & maintenance à votre charge
- Infra as code
- Automatisation (scripts, extensions custom script)
- Scaling manuel/auto infra
- Devops/intégration custom
- Agent docker installé sur les VMs (via une option d’extension sur la VM)
- Packaging docker (dockerfile) ex : https://hub.docker.com/r/microsoft/aspnet/
- Eco-système docker (outils, …)
- Docker Registry
- Orchestrateur (Azure Container Service : swarn, kubernetes, DC/OS)
- Scaling applicatif (scale out des conteneurs)
38. PaaS et services managés
- Service fourni et maintenu par l’hébergeur Cloud
- Simplification de la mise en œuvre du service
- Scaling manuel/auto infra et applicatif
- Devops/intégration via le service Azure (intégration github, …)
- Services complémentaires (réplication DB, slots de déploiement
WebApp, monitoring, …)
49. Platform Services
Security &
Management
Infrastructure Services
Web Apps
Mobile
Apps
API
Management
API
Apps
Logic
Apps
Notification
Hubs
Content Delivery
Network (CDN)
Media
Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Biztalk
Services
Hybrid
Connections
Service
Bus
Storage
Queues
Store /
Marketplace
Hybrid
Operations
Backup
StorSimple
Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache Search
Tables
SQL Data
Warehouse
Azure AD
Connect Health
AD Privileged
Identity
Management
Operational
Insights
Cloud
Services
Batch Remote App
Service
Fabric Visual Studio
Application
Insights
Azure SDK
Team Project
VM Image Gallery
& VM Depot
52. Un mix de IaaS, PaaS, SaaS
Exemples
- Des VMs avec un service de stockage Cloud (stockage objet, share
réseau, historisation, …)
- Conteneurs + DB managée
- Des VMs et du serverless pour des nouveaux services asynchrones ou
l’ajout de nouvelles fonctionnalités pour des applications web
IaaS et PaaS se côtoient souvent dans les architectures Cloud !
53. Ca dépend de votre contexte et de vos priorités !
- Base de code existante ? Equipe déjà en place et fonctionnelle
? Compétences homogènes ?
- Besoin nouveau service prêt rapidement, gagner du temps
pour la conception et la maintenance quotidienne ?
- Mise en place d’une nouvelle équipe ?
- Besoin de repenser le produit ?
- Priorité à la mise en prod rapide ?
- On profite de la migration pour repenser l’architecture ?
54. Ca dépend (encore, eh oui)
- Laisser tourner un VM qui fait tourner un script de
temps en temps ?
- Maintenir une infrastructure ?
- Eteindre des machines non utilisées la nuit ?
- Mettre en place et maintenir un cluster avec de la
réplication ou utiliser un service managé ?
- Besoin haute dispo ?
59. Big Data definition
Big data is high-volume, high-velocity
and/or high-variety information assets
that demand cost-effective, innovative
forms of information processing that
enable enhanced insight, decision
making, and process automation.
– Gartner, Big Data Definition*
* Gartner, Big Data (Stamford, CT.: Gartner, 2016), URL: http://www.gartner.com/it-glossary/big-data/
60. Big Data is driving transformative changes
Traditional Big Data
Relational data
with highly modeled schema
All data
with schema agility
Specialized HW Commodity HW
Data
characteristics
Costs
Culture
Operational reporting
Focus on rear-view analysis
Experimentation leading
to intelligent action
With machine learning, graph, a/b testing
61. Imagine what machine
learning could do for
your business.
Churn
analysis
Equipment
monitoring
Spam
filtering
Ad
targeting
Recommendations
Fraud
detection
Image
detection &
classification
Forecasting
Anomaly
detection
Using past data to predict the future
64. Big Data / ML - Architecture typique
Sens dans lequel va la donnée (vs sens des appels RPC)
65. • Big Data
• Schéma à la lecture => je peux tout écrire
• Business Intelligence
• Schéma à l’écriture => je peux lire rapidement
Big Data vs Business Intelligence
68. Cloud
Azure PAAS + Hadoop
Events
Storage
Near
Real Time
DB
SQL/noSQL
Batch
Query,
Merge &
Machine
Learning
Storage, DB
Web App
Event Hubs
IoT Hub
Stream
Analytics
Web Jobs
Functions
Batch
Blob, Table,
Queue
Azure SQL
PowerBI,
ML
Blobs
Data Lake
(HDFS as a
service)
HDInsight
(hadoop as a service)
73. Roll your own with REST APIs
Simple to add: just a few lines of
code required
Integrate into the language and
platform of your choice
Breadth of offerings helps you find the
right API for your app
Built by experts in their field from
Microsoft Research, Bing, and Azure
Machine Learning
Quality documentation, sample
code, and community support
Easy Flexible Tested
GET A
KEY
74. Our Showcase Apps (visitourappcatalogataka.ms/cognitivegallery)
CaptionBot.ai CelebsLike.Me ProjectMurphy.net
“what if Satya
Nadella had a
long beard?”
75. Your bot
www.botframework.com
Your Dialog skills
Your Business
Logic
Web
service
Using Bot Builder SDK
(Node.js + C#)
LUIS Translator Bing APIs . . .
Microsoft Cognitive Services
Channels
Azure Hosted
83. Face
Detect, identify, analyze,
organize, and tag faces in
photos
Emotion
Personalize experiences
with emotion recognition
Computer Vision
Distill actionable
information from images
Video
Analyze, edit, and process
videos within your app
Vision
86. Bing Speech
Convert speech to text and
back again, and understand
its intent
Custom Recognition
Intelligent Service
Fine-tune speech recognition
for anyone, anywhere
Speaker Recognition
Give your app the ability to
know who's talking
Speech
87. Bing Spell Check
Detect and correct spelling
mistakes within your app
Web Language Model
Leverage the power of
language models trained on
web-scale data
Linguistic Analysis
Easily parse complex text with
language analysis
Language
91. Text Analytics
Detect sentiment, key phrases,
topics, and language from your
text
Language
Language Understanding
Intelligent Service
Teach your apps to understand
commands from your users
93. Academic
Knowledge
Explore relationships
among academic papers,
journals, and authors
Entity Linking
Contextually extend
knowledge of people,
locations, and events
Knowledge
Exploration
Add interactive search
over structured data to
your project
Provide personalized
product
recommendations for
your customers
Recommendations
Knowledge
94. Web Search API
Get relevant web results and Answers with one API Call
https://bingapis.azure-api.net/v5/search?q=nasa
{
“_type”: “SearchResponse”,
“queryContent”: {…},
“webPages”: {…},
“entities”: {…},
“news”: {…},
“images”: {…},
“places”: {…},
“videos”: {…},
“relatedSearches”: {…},
“rankingResponse”: {…}
}
{
“answerType”:”WebPages”,
“resultIndex”:0,…
},
{
“answerType”:”News”,
“resultIndex”:1,…
}
Ranking Response
Search Response
Web
Results
Deep
Links
(1st Algo)
News
Results
Image
Results
Video
Results
Related
Searches
95. Testez Azure gratuitement => Azure Pass
• A récupérer sur le papier devant vous
• Par Mail => stephe@microsoft.com