retour d'expérience de projets azure iot "large scale" (microservices, portage...
TRANSCRIPT
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
MobileApps
APIManagement
API Apps
Logic Apps
Notification Hubs
Content DeliveryNetwork (CDN)
Media Services
BizTalkServices
HybridConnections
Service Bus
StorageQueues
HybridOperations
Backup
StorSimple
Azure SiteRecovery
Import/Export
SQL Database
DocumentDB
RedisCache
AzureSearch
StorageTables
DataWarehouse
Azure AD Health Monitoring
AD PrivilegedIdentity Management
OperationalAnalytics
Cloud Services
BatchRemoteApp
ServiceFabric
Visual Studio
AppInsights
Azure SDK
VS Online
Domain Services
HDInsight MachineLearning
StreamAnalytics
Data Factory
EventHubs
MobileEngagement
Data Lake
IoT Hub
Data Catalog
Security & Management
Azure ActiveDirectory
Multi-FactorAuthentication
Automation
Portal
Key Vault
Store/Marketplace
VM Image Gallery& VM Depot
Azure ADB2C
Scheduler
Provenance de ces retours d’expériences IoTCroisement 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
© AgileloT by AgileloT.org is licensed under Creative Commons, Attribution-NonCommercial-NoDerivatives 4.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 IoTPhase « 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ération du 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 IoTPhase « 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 AzurePhase « 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 AzurePhase « 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 + SwarmLinux
IoT Hub / Azure IoTIoT Hub / Azure IoT
Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
VSTS = Build + ReleaseCOMMENT ALLER VITE ? (plusieurs déploiements / jour)
• Tout automatiser à 100% en début de projet ?– NON : Automatiser progressivement, en visant
comme itération N°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 AzureUsine 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 : hagerservicesArchitecture : 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 : hagerservicesPhase « 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 : hagerservicesPhase « 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 : hagerservicesPhase « 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 : hagerservicesJe 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 : hagerservicesSimon ANDRE, IoT Cloud Manager
N° 23
« Timing très court …
nous devions faire des
choix pragmatiques … »
« Nous sommes très
satisfaits des
performances »
« Jeunesse
SigFoxAzure 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’attentionLancez-vous… mais pas n’importe comment !
N° 26Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
N° 27Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
@microsoftfrance @Technet_France @msdev_fr
@vThavo | @viseotech
N° 28Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
Notez cette sessionEt 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