Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

323 views

Published on

Suite à la réalisation de plusieurs projets Azure IoT, place aux retours d'expériences. Entre des migrations de M2M/IoT Amazon vers Azure, jusqu'à la création de projet nécessitant de « scaler » jusqu'à 1 million d'objets SigFox, en passant par des projets plus modestes, mais avec des problématiques de santé, nous verrons comme les patterns Cloud, l'ASP.Net Core, et les MicroServices, etc... mais aussi les Juristes, les méthodologies de gestion de projets Agile et IoT … sont devenus incontournables.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Retour d'expérience de projets Azure IoT "large scale"Vincent Thavonekham, MVP Azure, VISEO v1.14
  2. 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. 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. 4. Par où commencer en IoT ? Approche scientifique ! Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  5. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 24. Conclusion Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  25. 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. 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. 27. N° 27 Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO
  28. 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. 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

×