SlideShare une entreprise Scribd logo
Retour d'expérience de projets Azure IoT "large
scale"Vincent Thavonekham, MVP Azure, VISEO
v1.14
Vincent Thavonekham
@vthavo
MVP Azure | société VISEO
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
• Qui connait l’ IoT d’Azure ?
• Qui connait l’architecture Lambda ?
• Qui fait du microservices ?
• Qui utilise AWS ? (le IaaS, le PaaS)
MIEUX VOUS CONNAITRE
N° 3Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Par où commencer en IoT ?
Approche scientifique !
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
« Une idée, cela peut changer le monde.
Mais comment la trouver? » Cédric Villani
• La documentation
• La motivation
• L’environnement
• Les échanges
• Les contraintes
• La chance
• La persévérance
Début de l’aventure IoT: « Naissance des
idées »Selon Cédric Villani, Pr Maths, Médaille Fields
N° 5Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Par où commencer en IoT ?
Genèse pour réussir les projets IoT / BigData
N° 6
Votre perception
de l’IoT/BigData
« C’est facile, on réfléchit
et ça coûte tant !
Et le ROI du projet
est x-k€ sur 2 ans »
Credits: starwars.wikia.com
Droit d’auteur "Fair Use"
2010
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Platform Services
Infrastructure Services
Web Apps
Mobile
Apps
API
Management
API Apps
Logic Apps
Notification
Hubs
Content
Delivery
Network (CDN)
Media
Services
BizTalk
Services
Hybrid
Connections
Service Bus
Storage
Queues
Hybrid
Operations
Backup
StorSimple
Azure Site
Recovery
Import/Export
SQL
Database
DocumentDB
Redis
Cache
Azure
Search
Storage
Tables
Data
Warehouse Azure AD
Health Monitoring
AD Privileged
Identity
Management
Operational
Analytics
Cloud
Services
Batch
RemoteApp
Service
Fabric
Visual Studio
App
Insights
Azure
SDK
VS Online
Domain Services
HDInsight Machine
Learning
Stream
Analytics
Data
Factory
Event
Hubs
Mobile
Engagement
Data
Lake
IoT Hub
Data
Catalog
Security &
Management
Azure Active
Directory
Multi-Factor
Authentication
Automation
Portal
Key Vault
Store/
Marketplace
VM Image Gallery
& VM Depot
Azure AD
B2C
Scheduler
Provenance de ces retours d’expériences IoT
Croisement des informations sur trois axes
N° 8
Des méthodologies
et architectures éprouvées
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Comment cadrer le chaos nécessaire ?
AgileloT Framework - Big Picture
N° 9
Théorie mathématique du Chaos:
« Trouver l’ordre caché dans un désordre apparent »,
Ivar Ekeland, 1987
© AgileloTby AgileloT.orgis licensedunder Creative Commons,
Attribution-NonCommercial-NoDerivatives4.0 International License
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
• Projet IoT = Projet informatique
+ Réseau/Cloud + Devices/hardware
• IoT  Nombreuses problématiques nouvelles
• Cadrage projet obligatoire
– Vision  ateliers  Product Backlog
Retours sur les débuts d’un projet IoT
Phase « Prototyping » : Cadrage de projet
• Exemple : Une semaine d’atelier
– Idéation, architectures, PoCs, culs de sac…
– Chaque projet IoT est différent :
Possibilité d’aller vite, mais pas trop vite !
N° 10Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Choix du langage : ne pas coder de suite !
• Choix pilotés par l’architecture :
– 100% Open Source (NodeJS, Java, …), IaaS, Docker, briques
PaaS à utiliser, … traitement « near-temps réel » ?
• Considérationdu TCO de la TMA : langage simple ? (Scala)
• PoC pour voir les limitations du SDK Java vs. SDK .Net Azure
– pas ISO 1:1. Popularité du SDK Java, tester la réactivité des
intégration des Pull Requests
• Support de TypeScript sur certaines briques Azure ? Pratique
à débugger / Usine Logicielle ?
Retours sur les débuts d’un projet IoT
Phase « Prototyping » : Projet Open Source ?
N° 11Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Retours sur un projet Azure IoT :
Migration M2M AWS  Azure IoT
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Plusieurs possibilités de migrations « Legacy rehost », selon les « 5 R » de Gartner
• Rehost  “simple” copier-coller de la VM-AWS vers un VM-Azure
• Refactor  réécriture ISO fonctionnelle/code vers le PaaS IoT d’Azure
• Revise  réécriture & améliorations vers le PaaS IoT d’Azure
• Rebuild  découpage et recompilation du code dans les différents services
PaaS d’Azure IoT
• Replace  écriture “from scratch” d’une nouvelle application
Migration IoT AWS vers IoT Azure
Phase « Prototyping » : Cadrage de projet
N° 13Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
• Input : Code en Prod M2M (Linux-NodeJS). IaaS AWS + base MongoDB
• Output : Code IoT en NodeJS sur des services PaaS Azure + base MongoDB
• DIFFICULTES : Reprise du code existant; code de Prod évolue vite ≠ ISO
• SIMPLICITE : Découpage du IaaS en différents services PaaS Azure
Migration IoT AWS vers IoT Azure
Phase « Engineering »: Refactor
Du code, rien que du code !
N° 14
Azure API App
WebApp
Azure Function
Apps
Amazon : VM AWSAmazon : VM AWS
Storage account
VM
Docker + Swarm
Linux
IoT Hub / Azure IoTIoT Hub / Azure IoT
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
VSTS = Build + Release
COMMENT ALLER VITE ? (plusieurs déploiements / jour)
• Tout automatiser à 100% en début de projet ?
– NON : Automatiser progressivement, en visant
comme itérationN°1 : Build automatique avec TU
+ Release manuelle (doc de 100 pages)
• Itération N°2 : Utiliser 100% des JSON-ARM ?
– NON : l’architecture IoT est vaste et tous les
services Azure ne sont pas encore exportables
– Utiliser en hack, Visual Studio « Publish »
• (4) étapes simples théoriques
 Attention aux (5) petits astérisques en rouge !
Migration IoT AWS vers IoT Azure
Usine logicielle VSTS | Linux-Docker + NodeJS
N° 15
1
2
3
4
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Migration IoT AWS vers IoT Azure
N° 16
CONCLUSION: Aisée et rapide, mais …
???
Exemple : NodeJS TypeScript (fortement typée) = fausse bonne
idée ?
• Ne détecte pas tout à « Build Time » (crash durant runtime)
• A ce jour, peu supporté pour les Azure Function Apps
- Usine logicielle bien plus complexe
- La trajectoire de Microsoft est de simplifier cela
• Moins pertinent en Back-end Azure, qu’en Front-End
Danger des experts qui
ne connaissent que AWS
Pas les mêmes réflexes :
transposition parfois
contreproductif
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
HagerServices
Retours sur un projet
Azure IoT en particulier
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
• Equipe de 6 personnes
• Architecture fortement inspirée des Bonnes Pratiques Java et des architecture dites
« Lambda » pour de l’IoT / BigData
– ASP.Net Core 1.0 Web Apps
– Architecture asynchrone et event-base : micro-services avec Reactive Rx.Net
– Data Repository basé sur micro-ORM Dapper + SQL « Hard-codés » paramétrés
« Repository/services pattern » avec Plain Old CLR Object (POCO)
Considérations, erreurs ou cul de sac par rapport au besoin:
Cassandra, Azure Container Services, Entity Framework, AKKA.Net,
Azure IoT Suite, ASP.Net 4, Stream Analytics, Azure functions, …
Témoignage client : hagerservices
Architecture : forte volumétrie + traitements « near-temps réel »
N° 18Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Microsoft referenced architecture, instanciée en 7 minutes
Témoignage client : hagerservices
Phase « Prototyping » : Choix d’architecture
Sources : https://azure.microsoft.com/en-us/documentation/articles/iot-suite-what-are-preconfigured-solutions/
N° 19Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Retours : microservices Reactive Extensions Rx.Net Actor pattern
Témoignage Simon ANDRE, IoT Cloud Manager :
- « Traitement lourds ‘temps réels’ devenus possibles ; trier/réassembler Trames »
- « Usage intensif des custom middleware côté API »
- « Pour les Tests Unitaires, on est à 100% de couverture »
Témoignage client : hagerservices
Phase « Prototyping » : Choix d’architecture
Sources : https://github.com/Azure-Samples/service-fabric-dotnet-iot
https://azure.microsoft.com/en-us/documentation/articles/service-fabric-overview-microservices
https://azure.microsoft.com/fr-fr/documentation/samples/service-fabric-dotnet-iot/
N° 20Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Prise de risques pour être Leader: Choix d’ASP.Net CoreCLR
• Complexe pour comprendre l’offre
• « J’ai failli abandonner du fait
des bugs de jeunesse de la Beta »
Témoignage client : hagerservices
Phase « Prototyping » : Choix d’architecture
N° 21
Mai 2016. Simon ANDRE, IoT Cloud Manager
Core CLR
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
• Erreur de votre application ?
d’Azure ? de SigFox ?
Support technique ?
• Comparer avec différents Cloud providers
(si la zone Dublin a des problèmes)
Témoignage client : hagerservices
Je ne vois plus mon capteur, que faire ??
N° 22Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Témoignage client : hagerservices
Simon ANDRE, IoT Cloud Manager
N° 23
« Timing très court …
nous devions faire des
choix pragmatiques … »
« Nous sommes très
satisfaits des
performances »
« Jeunesse
SigFoxAzure IoT :
Quelques ajustements »
« ASP.Net Core 1.0 Web
Apps = Globalement un
bon choix »
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Conclusion
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Ecosystème très riche, avec de nombreuses versions
• Il y a 5 ans : abaques de 3 mois pour monter la plateforme IaaS
+ 3 mois pour l’ajuster
• Azure IoT Suite, Remote Monitoring : 7 min en PaaS
• PoCs en 2 jours
Constatation : Hadoop toujours utilisé
…mais il n’a plus le monopole de l’IoT / BigData
N° 25Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
1. Bien respecter les « Best Practices » IoT pour éviter les échecs
• Pensez idéation, valeur métier, … plutôt bien décrit dans « Agile IoT »
2. Le projet ne s’arrête pas à la fin des développements !
• Ne pas se concentrer uniquement sur le projet « informatique »
• Budget Qualité / Prod : PRA, ITIL v3, « vrai » DevOps à terme
• Principe de précaution de la Loi de Murphy : « Tout ce qui est susceptible de mal
tourner tournera nécessairement mal. ». Prévoir les « Single point of Failure » (SPOF)
3. Pilotage d’un projet IoT : pas uniquement les Dev et la R&D
• C’est un projet de transformation de l’entreprise : Implication Direction
4. Succès pour être en avance technologique et être Leader
• Travail tripartites = Client + Partenaire expert MVP + Microsoft (France + Corp)
Quelques points d’attention
Lancez-vous… mais pas n’importe comment !
N° 26Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
N° 27
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
@microsoftfrance @Technet_France @msdev_fr
@vThavo | @viseotech
N° 28
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Notez cette session
Et tentez de gagner un Surface Book
Doublez votre chance en répondant aussi
au questionnaire de satisfaction globale
* Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

Contenu connexe

PPTX
Open Source et Microsoft Azure, rêve ou réalité ?
PPTX
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
PPTX
Administration et supervision depuis le Cloud avec Azure Logs Analytics
PPTX
Azure Service Fabric pour les développeurs
PPTX
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
PPTX
Plan de Reprise d'Activité avec Azure Site Recovery
PPTX
Introduction à ASP.NET Core
PPTX
Gab paris 2015 automatisation
Open Source et Microsoft Azure, rêve ou réalité ?
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Azure Service Fabric pour les développeurs
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Plan de Reprise d'Activité avec Azure Site Recovery
Introduction à ASP.NET Core
Gab paris 2015 automatisation

Tendances (20)

PPTX
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
PPTX
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
PPTX
Cnam cours azure intro et présentation generale
PPTX
Concevoir ses premiers objets connectés avec azure
PPTX
Les micro orm, alternatives à entity framework
PPTX
Les nouveautés SQL Server 2016
PDF
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
PDF
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
PDF
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
PPTX
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
ODP
OpenStack stratégie: fondation, acteurs et composants
PPTX
Xebicon architectures microservices azure v1.0
PPTX
Cnam azure 2014 Intro et présentation générale de la plateforme
PDF
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
PPTX
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
PDF
Openstack proposition
PPTX
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
PDF
XebiCon'17 : Construire des applications résilientes en multi-cloud - Bastien...
PPTX
01 - [ASP.NET Core] Plénière
PDF
XebiCon'17 : Rex Akka dans une architecture microservice - Joachim Rousseau
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
Manon Pernin - Déploiement automatisé d’un environnement dans Azure - Global ...
Cnam cours azure intro et présentation generale
Concevoir ses premiers objets connectés avec azure
Les micro orm, alternatives à entity framework
Les nouveautés SQL Server 2016
Estelle Auberix - La securité dans Azure - Global Azure Bootcamp 2016 Paris
XebiCon'16 : Architecture MicroServices avec Azure par Michel Hubert, CTO de ...
Sébastien Coutu: Copy this Meetup Devops - microservices - infrastructure imm...
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
OpenStack stratégie: fondation, acteurs et composants
Xebicon architectures microservices azure v1.0
Cnam azure 2014 Intro et présentation générale de la plateforme
XebiCon'17 : Serverless is the new back - Jérémy Pinsolle et Gérôme Egron
MSCS : Windows Server 2016 Quoi de neuf pour votre datacenter
Openstack proposition
Maxime Rastello - La gestion des identités avec Azure - Global Azure Bootcamp...
XebiCon'17 : Construire des applications résilientes en multi-cloud - Bastien...
01 - [ASP.NET Core] Plénière
XebiCon'17 : Rex Akka dans une architecture microservice - Joachim Rousseau
Publicité

Similaire à Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portage d'Amazon, ASP.Net Core) (20)

PDF
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
PDF
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
PDF
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
PPSX
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
PDF
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
PDF
Gab2015 christophe havard_hackaton_zone61_les_dessous_de_la_création_d_un_obj...
PPTX
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
PDF
Exadays cloud – Enjeux et Transformation du SI
PDF
Donnez de l'agilité à votre système d'information avec Azure
PPTX
Mise en œuvre d’une démarche DevOps dans Windows Azure
PPTX
8 Rex : Mise en place de DevOps sur Azure
PPTX
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
PDF
Approche DevOps pour builder une solution robuste PHP avec Zend_Server et Azure
PPTX
Retour d’expérience de la transformation DevOps de Microsoft au DevOps REX
PDF
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
PPTX
Architecture Moderne dans le Cloud en 2018
PPTX
Windows Azure Camp du mardi 10 décembre 2013
PPTX
Cloud migration
PPTX
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
PPTX
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Microsoft Experiences 16, Vincent Thavonekham REX IoT Azure Large projects
Pres azure paas tdf -rex-hager-vincent thavonekham-regional director-azug f...
Sido 2017 : Vincent Thavonekham, MVP azure et Regional Director, VISEO, Retou...
Retour d'expérience Large IoT project / BigData : détail du cas réel de Hager...
VISEO Shake the Microsoft business - comment rapidement batir une solution IoT
Gab2015 christophe havard_hackaton_zone61_les_dessous_de_la_création_d_un_obj...
Gab17 lyon-rex build dev ops sur une infra iaas-paas multisite-by-matthieupetite
Exadays cloud – Enjeux et Transformation du SI
Donnez de l'agilité à votre système d'information avec Azure
Mise en œuvre d’une démarche DevOps dans Windows Azure
8 Rex : Mise en place de DevOps sur Azure
Séminaire Objet Direct: Commercialisez vos applications en mode Saas dans le ...
Approche DevOps pour builder une solution robuste PHP avec Zend_Server et Azure
Retour d’expérience de la transformation DevOps de Microsoft au DevOps REX
Industrie 4.0 / usine du futur : retours concrets & faibles coûts
Architecture Moderne dans le Cloud en 2018
Windows Azure Camp du mardi 10 décembre 2013
Cloud migration
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Keynote DevOps - Microsoft DevOps Day 2014 in Paris
Publicité

Plus de Microsoft (20)

PPTX
Uwp + Xamarin : Du nouveau en terre du milieu
PPTX
La Blockchain pas à PaaS
PPTX
Tester, Monitorer et Déployer son application mobile
PPTX
Windows 10, un an après – Nouveautés & Démo
PPTX
Prenez votre pied avec les bots et cognitive services.
PPTX
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
PPTX
Créer un bot de A à Z
PPTX
Microsoft Composition, pierre angulaire de vos applications ?
PPTX
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
PPTX
Transformation de la représentation : De la VR à la RA, aller & retour.
PPTX
Comment développer sur la console Xbox One avec une application Universal Win...
PPTX
Les nouveautés de C# 7
PPTX
La 3D sur le web avec Babylon.js pas à pas
PPTX
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
PDF
Le développement web : tour d'horizon
PPTX
Introduction à Bash dans Windows 10
PPTX
Introduction à Bash dans Windows 10
PDF
Use In IoT : l’objet connecté de la board au dashboard
PDF
Développez vos jeux multiplateformes grâce à Unity3D avec Visual Studio en C#
PDF
Développez et déployez votre application Java dans Azure
Uwp + Xamarin : Du nouveau en terre du milieu
La Blockchain pas à PaaS
Tester, Monitorer et Déployer son application mobile
Windows 10, un an après – Nouveautés & Démo
Prenez votre pied avec les bots et cognitive services.
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Créer un bot de A à Z
Microsoft Composition, pierre angulaire de vos applications ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Transformation de la représentation : De la VR à la RA, aller & retour.
Comment développer sur la console Xbox One avec une application Universal Win...
Les nouveautés de C# 7
La 3D sur le web avec Babylon.js pas à pas
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Le développement web : tour d'horizon
Introduction à Bash dans Windows 10
Introduction à Bash dans Windows 10
Use In IoT : l’objet connecté de la board au dashboard
Développez vos jeux multiplateformes grâce à Unity3D avec Visual Studio en C#
Développez et déployez votre application Java dans Azure

Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portage d'Amazon, ASP.Net Core)

  • 1. Retour d'expérience de projets Azure IoT "large scale"Vincent Thavonekham, MVP Azure, VISEO v1.14
  • 2. Vincent Thavonekham @vthavo MVP Azure | société VISEO Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 3. • Qui connait l’ IoT d’Azure ? • Qui connait l’architecture Lambda ? • Qui fait du microservices ? • Qui utilise AWS ? (le IaaS, le PaaS) MIEUX VOUS CONNAITRE N° 3Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 4. Par où commencer en IoT ? Approche scientifique ! Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 5. « Une idée, cela peut changer le monde. Mais comment la trouver? » Cédric Villani • La documentation • La motivation • L’environnement • Les échanges • Les contraintes • La chance • La persévérance Début de l’aventure IoT: « Naissance des idées »Selon Cédric Villani, Pr Maths, Médaille Fields N° 5Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 6. Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO Par où commencer en IoT ? Genèse pour réussir les projets IoT / BigData N° 6 Votre perception de l’IoT/BigData « C’est facile, on réfléchit et ça coûte tant ! Et le ROI du projet est x-k€ sur 2 ans » Credits: starwars.wikia.com Droit d’auteur "Fair Use" 2010
  • 7. Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO Platform Services Infrastructure Services Web Apps Mobile Apps API Management API Apps Logic Apps Notification Hubs Content Delivery Network (CDN) Media Services BizTalk Services Hybrid Connections Service Bus Storage Queues Hybrid Operations Backup StorSimple Azure Site Recovery Import/Export SQL Database DocumentDB Redis Cache Azure Search Storage Tables Data Warehouse Azure AD Health Monitoring AD Privileged Identity Management Operational Analytics Cloud Services Batch RemoteApp Service Fabric Visual Studio App Insights Azure SDK VS Online Domain Services HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Mobile Engagement Data Lake IoT Hub Data Catalog Security & Management Azure Active Directory Multi-Factor Authentication Automation Portal Key Vault Store/ Marketplace VM Image Gallery & VM Depot Azure AD B2C Scheduler
  • 8. Provenance de ces retours d’expériences IoT Croisement des informations sur trois axes N° 8 Des méthodologies et architectures éprouvées Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 9. Comment cadrer le chaos nécessaire ? AgileloT Framework - Big Picture N° 9 Théorie mathématique du Chaos: « Trouver l’ordre caché dans un désordre apparent », Ivar Ekeland, 1987 © AgileloTby AgileloT.orgis licensedunder Creative Commons, Attribution-NonCommercial-NoDerivatives4.0 International License Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 10. • Projet IoT = Projet informatique + Réseau/Cloud + Devices/hardware • IoT  Nombreuses problématiques nouvelles • Cadrage projet obligatoire – Vision  ateliers  Product Backlog Retours sur les débuts d’un projet IoT Phase « Prototyping » : Cadrage de projet • Exemple : Une semaine d’atelier – Idéation, architectures, PoCs, culs de sac… – Chaque projet IoT est différent : Possibilité d’aller vite, mais pas trop vite ! N° 10Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 11. Choix du langage : ne pas coder de suite ! • Choix pilotés par l’architecture : – 100% Open Source (NodeJS, Java, …), IaaS, Docker, briques PaaS à utiliser, … traitement « near-temps réel » ? • Considérationdu TCO de la TMA : langage simple ? (Scala) • PoC pour voir les limitations du SDK Java vs. SDK .Net Azure – pas ISO 1:1. Popularité du SDK Java, tester la réactivité des intégration des Pull Requests • Support de TypeScript sur certaines briques Azure ? Pratique à débugger / Usine Logicielle ? Retours sur les débuts d’un projet IoT Phase « Prototyping » : Projet Open Source ? N° 11Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 12. Retours sur un projet Azure IoT : Migration M2M AWS  Azure IoT Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 13. Plusieurs possibilités de migrations « Legacy rehost », selon les « 5 R » de Gartner • Rehost  “simple” copier-coller de la VM-AWS vers un VM-Azure • Refactor  réécriture ISO fonctionnelle/code vers le PaaS IoT d’Azure • Revise  réécriture & améliorations vers le PaaS IoT d’Azure • Rebuild  découpage et recompilation du code dans les différents services PaaS d’Azure IoT • Replace  écriture “from scratch” d’une nouvelle application Migration IoT AWS vers IoT Azure Phase « Prototyping » : Cadrage de projet N° 13Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 14. • Input : Code en Prod M2M (Linux-NodeJS). IaaS AWS + base MongoDB • Output : Code IoT en NodeJS sur des services PaaS Azure + base MongoDB • DIFFICULTES : Reprise du code existant; code de Prod évolue vite ≠ ISO • SIMPLICITE : Découpage du IaaS en différents services PaaS Azure Migration IoT AWS vers IoT Azure Phase « Engineering »: Refactor Du code, rien que du code ! N° 14 Azure API App WebApp Azure Function Apps Amazon : VM AWSAmazon : VM AWS Storage account VM Docker + Swarm Linux IoT Hub / Azure IoTIoT Hub / Azure IoT Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 15. VSTS = Build + Release COMMENT ALLER VITE ? (plusieurs déploiements / jour) • Tout automatiser à 100% en début de projet ? – NON : Automatiser progressivement, en visant comme itérationN°1 : Build automatique avec TU + Release manuelle (doc de 100 pages) • Itération N°2 : Utiliser 100% des JSON-ARM ? – NON : l’architecture IoT est vaste et tous les services Azure ne sont pas encore exportables – Utiliser en hack, Visual Studio « Publish » • (4) étapes simples théoriques  Attention aux (5) petits astérisques en rouge ! Migration IoT AWS vers IoT Azure Usine logicielle VSTS | Linux-Docker + NodeJS N° 15 1 2 3 4 Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 16. Migration IoT AWS vers IoT Azure N° 16 CONCLUSION: Aisée et rapide, mais … ??? Exemple : NodeJS TypeScript (fortement typée) = fausse bonne idée ? • Ne détecte pas tout à « Build Time » (crash durant runtime) • A ce jour, peu supporté pour les Azure Function Apps - Usine logicielle bien plus complexe - La trajectoire de Microsoft est de simplifier cela • Moins pertinent en Back-end Azure, qu’en Front-End Danger des experts qui ne connaissent que AWS Pas les mêmes réflexes : transposition parfois contreproductif Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 17. HagerServices Retours sur un projet Azure IoT en particulier Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 18. • Equipe de 6 personnes • Architecture fortement inspirée des Bonnes Pratiques Java et des architecture dites « Lambda » pour de l’IoT / BigData – ASP.Net Core 1.0 Web Apps – Architecture asynchrone et event-base : micro-services avec Reactive Rx.Net – Data Repository basé sur micro-ORM Dapper + SQL « Hard-codés » paramétrés « Repository/services pattern » avec Plain Old CLR Object (POCO) Considérations, erreurs ou cul de sac par rapport au besoin: Cassandra, Azure Container Services, Entity Framework, AKKA.Net, Azure IoT Suite, ASP.Net 4, Stream Analytics, Azure functions, … Témoignage client : hagerservices Architecture : forte volumétrie + traitements « near-temps réel » N° 18Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 19. Microsoft referenced architecture, instanciée en 7 minutes Témoignage client : hagerservices Phase « Prototyping » : Choix d’architecture Sources : https://azure.microsoft.com/en-us/documentation/articles/iot-suite-what-are-preconfigured-solutions/ N° 19Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 20. Retours : microservices Reactive Extensions Rx.Net Actor pattern Témoignage Simon ANDRE, IoT Cloud Manager : - « Traitement lourds ‘temps réels’ devenus possibles ; trier/réassembler Trames » - « Usage intensif des custom middleware côté API » - « Pour les Tests Unitaires, on est à 100% de couverture » Témoignage client : hagerservices Phase « Prototyping » : Choix d’architecture Sources : https://github.com/Azure-Samples/service-fabric-dotnet-iot https://azure.microsoft.com/en-us/documentation/articles/service-fabric-overview-microservices https://azure.microsoft.com/fr-fr/documentation/samples/service-fabric-dotnet-iot/ N° 20Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 21. Prise de risques pour être Leader: Choix d’ASP.Net CoreCLR • Complexe pour comprendre l’offre • « J’ai failli abandonner du fait des bugs de jeunesse de la Beta » Témoignage client : hagerservices Phase « Prototyping » : Choix d’architecture N° 21 Mai 2016. Simon ANDRE, IoT Cloud Manager Core CLR Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 22. • Erreur de votre application ? d’Azure ? de SigFox ? Support technique ? • Comparer avec différents Cloud providers (si la zone Dublin a des problèmes) Témoignage client : hagerservices Je ne vois plus mon capteur, que faire ?? N° 22Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 23. Témoignage client : hagerservices Simon ANDRE, IoT Cloud Manager N° 23 « Timing très court … nous devions faire des choix pragmatiques … » « Nous sommes très satisfaits des performances » « Jeunesse SigFoxAzure IoT : Quelques ajustements » « ASP.Net Core 1.0 Web Apps = Globalement un bon choix » Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 24. Conclusion Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 25. Ecosystème très riche, avec de nombreuses versions • Il y a 5 ans : abaques de 3 mois pour monter la plateforme IaaS + 3 mois pour l’ajuster • Azure IoT Suite, Remote Monitoring : 7 min en PaaS • PoCs en 2 jours Constatation : Hadoop toujours utilisé …mais il n’a plus le monopole de l’IoT / BigData N° 25Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 26. 1. Bien respecter les « Best Practices » IoT pour éviter les échecs • Pensez idéation, valeur métier, … plutôt bien décrit dans « Agile IoT » 2. Le projet ne s’arrête pas à la fin des développements ! • Ne pas se concentrer uniquement sur le projet « informatique » • Budget Qualité / Prod : PRA, ITIL v3, « vrai » DevOps à terme • Principe de précaution de la Loi de Murphy : « Tout ce qui est susceptible de mal tourner tournera nécessairement mal. ». Prévoir les « Single point of Failure » (SPOF) 3. Pilotage d’un projet IoT : pas uniquement les Dev et la R&D • C’est un projet de transformation de l’entreprise : Implication Direction 4. Succès pour être en avance technologique et être Leader • Travail tripartites = Client + Partenaire expert MVP + Microsoft (France + Corp) Quelques points d’attention Lancez-vous… mais pas n’importe comment ! N° 26Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 27. N° 27 Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 28. @microsoftfrance @Technet_France @msdev_fr @vThavo | @viseotech N° 28 Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  • 29. Notez cette session Et tentez de gagner un Surface Book Doublez votre chance en répondant aussi au questionnaire de satisfaction globale * Le règlement est disponible sur demande au commissariat général de l’exposition. Image non-contractuelle Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO