retour d'expérience de projets azure iot "large scale" (microservices, portage...

29
Retour d'expérience de projets Azure IoT "large scale" Vincent Thavonekham, MVP Azure, VISEO v1.14

Upload: microsoft

Post on 08-Jan-2017

76 views

Category:

Technology


1 download

TRANSCRIPT

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

Retour d'expérience de projets Azure IoT "large scale"Vincent Thavonekham, MVP Azure, VISEO

v1.14

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

Vincent Thavonekham

@vthavo

MVP Azure | société VISEO

Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

• 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

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

Par où commencer en IoT ?Approche scientifique !

Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

« 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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

HagerServices

Retours sur un projet Azure IoT en particulier

Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

• 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

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

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

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

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

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

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

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

• 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

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

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

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

Conclusion

Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

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

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

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

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

N° 27Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

@microsoftfrance @Technet_France @msdev_fr

@vThavo | @viseotech

N° 28Retour d'expérience de projets Azure IoT "large scale", Vincent Thavonekham, MVP Azure @VISEO

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

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