Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region

 
CONTINUER À LIRE
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Open
source POUR L’IOT

À l’ère du edge computing
                            1
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Som
 maire                                                31

                                                      32
                                                      32
                                                      32
                                                      35
                                                           INTÉGRATION PLATEFORME
                                                           CLOUD DEVOPS
                                                           Assets management
                                                            Gestion logique
                                                             Code source
                                                             Pipelines d’intégration continue
                                                      36     Images microservices
    4    Préface                                      37     Recettes d’industrialisation
    6    Les auteurs                                  39    Gestion des périphériques : préférence
                                                            pour les mises à jour over the air (OTA)
     7   Avant-propos                                 39   Data collection
                                                            Pour les métriques
     8   Introduction et rappels                      40
                                                      40     L’approche stockage temps-réel
    10   DE L’IOT VER L’I-IOT                         42     L’approche stockage intermédiaire
    11   EDGE COMPUTING                               44     L’approche long terme
                                                      46     L’approche toutes durées
    12   SECURITY BY DESIGN                           47    Gestion des logs
    13   Virtualisation                               47     L’approche visualisation de logs temps-réel
    16   Norme ISO 62443                              48     L’approche stockage de logs généraliste
                                                      49     L’approche gestion du cycle de vie
    20   IOT ET OPEN SOURCE
                                                      50   Monitoring et supervision
    24   Intégration                                  50    Dashboards
         Du système d’exploitation                    51     Dashboards pour les métriques
         à la gestion bout en bout                    52     Dashboards pour les logs
    25   INTÉGRATION ENVIRONNEMENT                    53     Alertes
         D’EXÉCUTION IOT                              54    Digital twins
    26   Les architectures d’exécution ouvertes,      55     Représentation IO
         ou Open Hardware                             56     Approche simulation 3D
    27   Les systèmes d’exploitation embarqués        57     Approche abstraite
    27     Partie 1 : langages, licences et sources
                                                      58   LE CONTINUUM EDGE-CLOUD
    28   Les systèmes d’exploitation embarqués
           Partie 2 : architectures, ressources       65   Conclusion
    28     et fonctionnalités
    29   Les orchestrateurs microservices IoT/Edge    66   Bibliographie

2                                                                                                          3
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Pré
faceDepuis la publication de notre premier livret           Protéger les utilisateurs en éduquant les
    bleu consacré à l’IoT, qui avait rencontré un           éditeurs et les fournisseurs est l’enjeu social
    grand succès, le secteur a littéralement explosé        majeur de la communauté open source, dans
    et conforté l’impérieuse nécessité d’implémenter        un monde tendant vers des approches de plus
    des solutions logicielles libres et open source,        en plus numériques et automatiques, favorisées
    garantes d’infrastructures résilientes et               par l’arrivée de la 5G et le déploiement massif
    créatrices de services, en s’appuyant sur des           de l’IoT. Ce guide s’inscrit directement dans cet
    standards ouverts.                                      objectif, porté par le Hub open source à travers
                                                            Systematic, dont les auteurs sont membres
    Cet opus couvre comme le premier toutes                 industriels et animateurs sur leurs sujets
    les couches de l’IoT, des plus applicatives             techniques.
    aux plus proches du matériel, et met plus
    particulièrement l’accent sur trois tendances           Si ce guide est le reflet de leurs expertises
    constatées par les auteurs sur ce marché en             à date, il a aussi vocation à évoluer.
    mutation permanente :                                   L’écosystème open source sur ces sujets étant
    1. l’approche industrielle de l’IoT, en intégrant les   particulièrement dynamique, il est d’autant
    problématiques de sécurité et d’industrialisation       plus difficile d’avoir une cartographie globale
    2. l’approche DevOps pour la gestion IoT au             et exhaustive. Le format numérique de ce livret
    niveau Cloud, de l’intégration à la supervision en      va favoriser les itérations et les mises à jour en
    passant par le déploiement                              parallèle des solutions open source qu’il met en
    3. l’IoT au centre des nouvelles orientations Edge      avant.
                                                                                                                 Philippe Montargès
    - Cloud, à travers les solutions structurant le                                                              Président du Hub
    continuum Edge - Cloud                                  En remerciant ses auteurs et en vous en              Open Source de Systematic
                                                            souhaitant bonne lecture.                            Paris-Region

4                                                                                                                                        5
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Les
                                                                                  En quelques années la situation a bien évolué        Il y a 4 ans (en 2016)

auteurs
                                                                                  et lorsqu’on évoque l’IoT on pense surtout           nous avions publié la
                                                                                  aux produits et services des membres du              première version du
                                                                                                                                       livret bleu consacré à
                                                                                  club des GAFAM. Si Apple et Facebook n’ont           l’utilisation de l’open
                                                                                  pas réellement mis le pied dans ce marché            source dans l’internet
                                                                                  (tout en restant des hébergeurs de données           des objets. Cette
                                                                                  commerciales majeurs - les leurs qui sont            version était désormais
                                                                                                                                       obsolète et, du fait
                                                                                  souvent les nôtres), Amazon et Microsoft se
                                                                                                                                       des compétences
                                                                                  taillent aujourd’hui la part du lion grâce à leurs   du rédacteur, était
                                                                                  solutions AWS et Azure. À fin 2019 les parts de      focalisée sur les
        frederic.desbiens@    Frédéric DESBIENS est Gestionnaire des              marché étaient estimées à 33 % pour AWS, 17 %        technologies liées aux
    eclipse-foundation.org                                                        pour Azure, 6 % pour Google et donc 44 % pour        systèmes embarqués et
                              Programmes IoT et Edge Computing à la
                                                                                                                                       aux protocoles réseau,
                              Fondation Eclipse. À ce titre, il supervise les     les autres fournisseurs.
                                                                                                                                       ce qui constitue une
                              activités de plus de 50 projets open source et                                                           faible partie du sujet.
                              trois groupes de travail. Vous le trouverez sur     Comme dans l’édition précédente, et sachant
                              Twitter sous l’identifiant @BlueberryCoder.         que ce livret est rédigé dans le cadre du Hub
                                                                                  Open Source (HOS) du pôle de compétitivité
    pierre.ficheux@smile.fr   Pierre FICHEUX est Directeur technique de           Systematic, notre approche aura pour but de
                              la division ECS (Embedded and Connected             favoriser les solutions à base d’outils open
                              Systems) de la société SMILE (https://www.smile.    source tout en adoptant bien entendu une
                              eu/fr/offres/embarque-iot). Il est également        approche pragmatique. Bref nous serons
                              enseignant dans plusieurs écoles d’ingénieurs,      militants sans être dogmatiques !
                              auteur de nombreux articles ainsi que de            Dans la suite de cette introduction nous
                              plusieurs ouvrages et livres blancs sur les         décrirons les éléments qui ont marqué
                              systèmes embarqués, le logiciel libre et l’IoT.     l’évolution de l’IoT ces dernières années.

                                                                                  Avant-
        jonathan.rivalan@     Jonathan RIVALAN est responsable de la cellule
               alterway.fr    de Recherche et Développement d’Alter Way

                                                                                  propos
                              depuis 2014. Les travaux menés par son équipe
                              visent l’optimisation des plateformes Cloud
                              DevOps, plus précisément par des pratiques
                              de scoring, billing, monitoring, et analyse en
                              continue par Machine Learning (clustering,
                              régression linéaire, NLP, etc.). L’intégralité de
                              leurs résultats sont publiés en open source.

6                                                                                                                                                                7
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Introduction
     et rappels
      Même si les solutions IoT sont beaucoup plus         3. La partie Cloud incluant le stockage de
      fréquentes que lors de la parution de la dernière    données et la couche de présentation (IHM ou
      version de ce livret, il nous semble nécessaire      Interface Homme Machine).
      avant d’entrer dans les détails de rappeler          4. Les différents clients permettant de consulter
      les principaux éléments d’une architecture           les données (interface web, application mobile).
      IoT. On peut donner une définition simple de
      l’IoT comme étant une extension de l’Internet
                                                                                                                               Connectivité 2                              Connectivité 1
      permettant l’accès à des systèmes physiques (et                                                                    Protocoles de communication                Protocoles de communication
                                                                                                                             DSL, FTTX, cellulaire…                          XXXXXXXXXXX
      non plus seulement des pages web).                     Interface utilisateur
                                                                Usages clients
      Le but de l’IoT est avant tout de collecter des
      données issues de capteurs répartis sur un                                                                                                       PASSERELLE                            OBJET CONNECTÉ

      territoire. Ces données sont le plus souvent                                                                                                Intelligence locale                           Hardware
                                                                                                                                                 Pré-traitement data                       Capteurs, connecteur
      filtrées puis mises à disposition sur un ensemble                                                                                            (stockage/envoi)                               radio
      de serveurs familièrement nommé Cloud.
                                                                                     Plateforme    Plateforme      800                             Stockage local                                Software
      Le schéma ci-dessous indique les différents                                        IoT       de services                                      de données                             interface utilisateur,
                                                                                                  (ou SI Client)                                     (stockage)                             intelligence locale
      niveaux du système (de droite à gauche)
      1. La partie capteur basée sur des architectures
                                                              Partenaires
      de faible puissance (microcontrôleur) et utilisant
      des systèmes d’exploitation adaptés (voire du                                                                                                       Architecture IoT
      bare metal, i.e. pas de système d’exploitation       Si le dialogue entre certaines couches est
      mais un logiciel dédié).                             totalement standard (accès aux données
      2. Une couche de filtrage comportant un              depuis un terminal via le protocole HTTP et
      algorithme plus ou moins complexe (allant du         un navigateur classique), la communication
                                                           entre les capteurs utilise souvent des
      simple tri de données à de l’IA plus complexe).
                                                           protocoles dédiés (6LoWPAN, BLE, ZigBee) et
      Cette partie utilise des calculateurs largement
                                                           la communication entre le routeurs de bordure
      plus évolués (architecture 32 ou 64 bits) et des
                                                           et le Cloud utilise également des protocoles
      systèmes d’exploitation évolués type Linux.
                                                           applicatifs spécifiques. Encore aujourd’hui le
      En l’absence de traitement, cette couche se
                                                           protocole MQTT (initialement Message Queuing
      bornera à la réalisation du routage des données
                                                           Telemetry Transport, créé par IBM en 1999 !) est
      des capteurs vers le Cloud (routeur de bordure
                                                           largement utilisé et disponible auprès de tous
      ou border router).
                                                           les fournisseurs de Cloud.
8                                                                                                                                                                                                                   9
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Le principal paradoxe de l’IoT est le fait de         Time Operating System) ou un logiciel dédié
     rendre révolutionnaire (au sens marketing             (qui devra être modifié). Si la carte existante
     du terme) une association de technologies             est déjà capable d’acquérir les données et de
     existantes. Cependant la bonne foi nous               les transmettre (si elle est déjà sous Linux), une
     conduit à penser que même si ces technologies         simple adaptation logicielle sera suffisante.
     existaient déjà depuis des décennies                  De nombreux systèmes de supervision
     (capteurs, systèmes d’exploitation embarqués,         de processus industriels existants ont été
     traitement de données, serveurs, terminaux de         développés récemment en utilisant cette
     consultation), l’évolution technique a permis de      approche. Cependant, même dans le cas de l’I-
     les associer et de les rendre accessibles à un        IoT il est assez fréquent que la partie matérielle
     plus grand nombre d’applications.                     (capteurs) soit banalisée.
                                                           De ce fait, les prévisions d’un Eldorado de l’IoT
     DE L’IOT VER L’I-IOT                                  grand public évoquées lors de la première
     Le déplacement du marché de l’IoT vers l’IoT          version du livret n’ont pas été confirmées et
     industriel ou B2B (I-IoT) est une autre évolution     les brosses à dent, ceintures connectées et
     majeure. En effet, la quasi-totalité des projets      autre gadgets n’ont jamais connu le succès
     actuels en informatique industrielle sont             prévu (ce qui n’est pas vraiment une surprise).
     désormais assortis d’une partie liée à la collecte    Dans la plupart des cas, les services utiles
     et au traitement des données. Si l’on quitte le       au grand public peuvent être fournis par une
     monde industriel, de nombreux projets IoT sont        application mobile et à ce jour le smartphone
     principalement focalisés sur la partie Cloud,         est le seul objet connecté B2C (très) largement
     la partie matérielle (capteur, voire routeur de       déployé ! Selon des statistiques de 2019, 67 %
     bordure) étant souvent banalisée et les capteurs      de la population mondiale est équipée d’un
     achetés sur étagère. Le modèle économique est         smartphone. Dans certains pays d’Europe, le
     alors difficile à trouver, mis à part pour ceux qui   taux dépasse 100 % car chaque utilisateur
     jouent sur le volume qui jouent sur le volume des     dispose de plusieurs appareils !
     données traitées.
                                                           EDGE COMPUTING
     La plupart des développements spécifiques             Ce sujet est souvent lié aux applications
     ont lieu dans le monde industriel car la mise         industrielles de l’IoT. Alors que les architectures
     en place d’un projet d’IoT peut conduire pour         initiales se bornaient à intégrer des capteurs
     certains marchés sensibles et/ou à forte valeur       délégant le traitement des données au
     à l’adaptation de composants existants. À             Cloud, l’ajout de devices en Edge Computing
     titre d’exemple un système embarqué peut              (périphérie de réseau) permet un traitement
     nécessiter l’ajout d’une carte d’acquisition et de    partiel des données en amont du Cloud (par
     transmission de données. Le tout est souvent          exemple un filtrage). Cette approche a de
     réalisé grâce à une carte Arm fonctionnant            nombreux avantages à la fois techniques et
     sous Linux embarqué (par exemple sous Linux/          économiques :
     Yocto) et communiquant avec la carte existante.
     La carte initiale peut utiliser un RTOS (Real

10                                                                                                               11
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
1. Amélioration de la bande passante (réduction      À ce jour, le seul objet connecté grand public
     des accès au Cloud ce qui entraîne également         largement répandu (le smartphone) n’a jamais
     une réduction des coûts)                             connu de problème majeur car la sécurité
     2. Diminution de la latence (temps de réponse)       fut prise en compte lors de la conception des
     pour des applications “temps réel”                   systèmes concernés (iOS et Android pour citer
     3. Simplification des contraintes liées aux          les deux principaux). Le système d’exploitation
     exigences réglementaires sur le stockage des         Android étant basé sur le noyau Linux nous
     données                                              pouvons citer diverses fonctionnalités du
     Les principaux fournisseurs permettent               noyau liées à la sécurité comme ACL, SMACK,
     l’intégration de fonctionnalités Edge dans leur      dm-verity et bien entendu le projet SELinux
     réseau. Les architectures utilisées au niveau        (développé par la NSA). Ce dernier (dont
     Edge dans les gateways sont assez éloignées de       un sous-ensemble est utilisé par défaut
     celles des capteurs. Selon l’IoT developer survey    sur Android) est d’une grande complexité
     réalisé par la fondation Eclipse (version 2020),     mais garantit également un très bon niveau
     43 % des systèmes utilisent Linux. Les systèmes      d’intégrité du système. SMACK a une approche
     d’exploitation utilisés dans les capteurs sont       plus simple (S pour simplifed) et il est utilisé
     plutôt de type FreeRTOS et dans une moindre          dans le framework AGL (Automotive Grade
     mesure Zephyr (de la fondation Linux).               Linux) basé sur Yocto. AGL est un concurrent
                                                          d’Android Automotive OS pour la mise en place
     SECURITY BY DESIGN                                   de systèmes d’IVI (In Vehicle Infotainment).
     La sécurité est l’enjeu majeur pour assurer          Le dernier composant (dm-verity) se charge
     l’évolution des solutions IoT. Certains disent,      de vérifier l’intégrité des blocs du système
     à juste titre, que la réticence du grand public      de fichiers afin d’empêcher le démarrage en
     est en grande partie liée aux incertitudes           cas d’une modification binaire non validée. À
     concernant la sécurité des systèmes IoT et plus      cela nous pouvons ajouter les notions de boot
     particulièrement la confidentialité des données      sécurisé et la possibilité de chiffrer les partitions
     traitées. L’adoption du RGPD en 2016 met en          du système ce qui permet d’éviter le vol de
     place un cadre plus strict mais son utilisation      données personnelles même si le terminal est
     est complexe lorsqu’on l’applique au concept         compromis.
     du Cloud qui est par définition délocalisé. Il
     existe de nombreux exemples de problèmes de          Virtualisation
     sécurité graves mettant en cause des systèmes        La notion d’hyperviseur est utilisée depuis de
     connectés. Un des plus célèbres est l’attaque        nombreuses années dans l’aéronautique. Le
     connue sous le nom de “BlackEnergy” (en 2014)        principe est d’utiliser une couche logicielle
     qui a gravement endommagé le système de              permettant de partager l’utilisation du
     fourniture électrique de l’Ukraine en utilisant un   matériel entre plusieurs partitions utilisant des
     malware propagé sur des systèmes industriels         niveaux de criticité différents. Dans la cas de
     de type SCADA (pour Supervisor Control And           l’aéronautique, la norme ARINC 653 est la plus
     Data Acquisition).                                   célèbre.

12                                                                                                                13
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
De même, la société Elektrobit propose un outil
     nommé EB Corbos, dédié aux applications
     automobiles et conforme à AUTOSAR                                                                                WiFi

     Adaptive, extension du standard AUTOSAR
                                                             Ground
     permettant d’exécuter du code POSIX dans un           Station Link      MISSION COMPUTER                    Camera
     environnement sécurisé de type GNU/Linux
     (Yocto) . Dans le monde du logiciel libre, des                                   NET
     composants comme LXC (LinuX Containers
     - utilisé avec le noyau Linux) ou bien Docker
     permettent d’exécuter une image de système
     d’exploitation dans un conteneur au niveau              Sensors         FLIGHT COMPUTER                         Motors
                                                                                                                              Architecture
     du système d’exploitation Linux hôte (et non                                                                             ULB initiale
     plus en bare metal). À titre d’exemple, le projet
     Anbox permet d’exécuter Android dans un              Un tel système peut aisément être attaqué à
     conteneur LXC. Un grand groupe industriel            partir du lien vers la station au sol. Le mission
     français a déjà utilisé cette technique afin         computer peut être infecté et éventuellement
     d’intégrer des applications Android dans             transmettre l’infection au flight computer via
     un environnement existant sous GNU/Linux             le réseau local. L’utilisation de seL4 permet de
     (Debian). Dans le même ordre d’idée, le              faire évoluer le logiciel vers une architecture
     micro-noyau libre seL4 est utilisé dans des          sécurisée dans laquelle les composants sont
     applications d’aéronautique autonome ainsi           séparés. La partie Linux (non sécurisée)
     que sur des projets d’IoT. Cet outil est également   communique avec la partie sécurisée par l’API
     basé sur l’isolation de composants ayant des         seL4 (voir figure ci-dessous).
     niveaux de criticité différents. Une API prend
     en charge le fonctionnement du micronoyau et
     des différents systèmes d’exploitation hébergés
     (threads, IPC, signaux, etc.) afin de produire un                      Radio               Data                               Lunix VM

     système hautement sécurisé. Un article cité en                         Driver              Link
                                                                                                                                     WiFi
     bibliographie décrit la sécurisation du logiciel                                                                             and Camera
     utilisé dans un hélicoptère autonome créé sur la                                           Crypto                           Non-critical
     base du Boeing AH-6 (ULB pour Unnamed Little
                                                                                                                                  Untrusted
     Bird). La figure ci-contre décrit l’architecture
                                                                             CAN                          Critical
     initiale du système.                                   CAN bus         Driver                                                Contained
                                                                                                          Trusted

                                                                                                         seL4
                                                                                                                              Architecture ULB
                                                                                                                              basée sur seL4

14                                                                                                                                               15
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
Norme ISO 62443                                                   1. Processes (policies, procedures & guidelines)
                                 Dans le cas de la sécurité de l’I-IoT nous                        2. Technology
                                 pouvons citer les normes ISO 27005 et surtout                     3. Foundational requirements (FR)
                                 IEC 62443. La norme ISO/IEC 27005 fournit                         4. Zones & conduits
                                 les éléments nécessaires à la mise en place                       5. Security levels (SLs)
                                 d’une gestion des risques liés à la sécurité de                   6. Maturity
                                 l’information (IT). La norme IEC 62443 traite de
                                 la cybersécurité des systèmes industriels (OT) et                 La partie Processes est organisée selon 11
                                 couvre les applications I-IoT. La figure suivante                 catégories (Security Policy, Organization of
                                 présente assez clairement les différents niveaux                  Security, Asset Management, etc.). La partie
                                 de prise en compte des contraintes de sûreté                      Technology utilise 7 “Foundational Requests”
                                 et sécurité dans une approche globale de la                       ou FR (Identification, authentication control
                                 gestion des risques.                                              and access control - AC, Use control – UC, Data
                                                                                                   Integrity - DI, etc.). Le système global à analyser
                                                                                                   doit être divisé en Zones reliées par des
                                                                                                   Conduits comme indiqué sur la figure suivante.

                                                                                                    ENTERPRISE ZONE
                                           Sécurité                                                                                E-Commerce
                                         industrielle
                                                                                                                                                                                                 Enterprise Firewall        Internet
                                                                                                                                                                      Enterprise
                                                                                                                      Enterprise        File Server                 infrastructure                              Web Server
                                   Sécurité       Cybersécurité
                                                                                                                        WLAN
                               fonctionnelle     des installations         Sécurité des systèmes
                                 IEC 61508         industrielles               d’information
                                  IEC 61511         CEI 62443                   ISO 27000                                                                                      CONDUIT
                                   (ISA84)           (ISAA99)
                                                                                                    INDUSTRIAL/
                                                                                                    ENTEPRISE                                                                      Router/
                                       Sûreté de                                                    DMZ ZONE                                                                       Firewall
                                    focntionnement                                                                                                                                                           Inventory
                                                                                                                             Terminal Services/                                                              Management
                                                                                                                           Data Historian Mirror                           Managed
                                                                                                                                                                          switch(es)
                                                                                                                  Domain Controller, Anti-Virus,                                                             Manufacturing
                                                                                                                           Patch Management                                                                  Execution System (MES)
                                                                                                                                                                      CONDUIT
        Gestion des risques                                    Gestion
     industriels (schéma de                                  des risques                            INDUSTRIAL
                   JP Hauet)                                                                        NETWORK #1                       PLC              Router/
                                                                                                                                                      Firewall                          Local
                                                                                                                                                                                       Switch                  HMI
                                 La norme IEC 62443 étant la plus utilisée dans
                                 notre cas, nous allons brièvement la décrire en
                                 quelques mots en nous basant sur l’exemple de                                                                          Legacy Fieldbus                                ...           Field Devices
                                 l’attaque BlackEnergy. Les principaux concepts
                                 tels que décrits dans la norme sont les suivants :
                                                                                                                                                                                           Zones et conduits

16                                                                                                                                                                                                                                     17
Source POUR L'IOT À l'ère du edge computing - Systematic Paris-Region
La norme fournit une liste de critères techniques   SRs and REs                                             SL 1      SL 2     SL 3      SL 4
     permettant d’évaluer le niveau de sécurité          FR 5 - Restricted data flow (RDF)
     (SL) sur une échelle de 1 à 4 à laquelle on peut
                                                         SR 5.1 RE 1 - Network segmentation             9.3        •         •        •        •
     ajouter la valeur 0 (pas de niveau de sécurité
                                                         SR 5.1 RE 1 - Physical network segmentation   9.3.3.1               •        •        •
     constaté).
     1. Protection contre une violation usuelle ou de    SR 5.1 RE 2 - Independance
                                                                                                       9.3.3.2               •        •        •
                                                         from non-control system network
     pure coïncidence
     2. Protection contre une violation intentionnelle   SR 5.1 RE 3 - Logical and physical
                                                                                                       9.3.3.3                                 •     x
                                                         isolation of critical networks
     simple
     3. Protection contre une violation intentionnelle   SR 5.2 - Zone boundary protection              9.4        •         •        •        •
     sophistiquée (experts)                              SR 5.2 RE 1 - Deny by default,
                                                                                                       9.4.3.1               •        •        •
     4. Protection contre une violation intentionnelle   allow by exception
     étendue (étatique)                                  SR 5.2 RE 2 - Island mode                    9.4.3.2                        •        •

                                                         SR 5.2 RE 3 - Fail close                      9.4.3.3                        •        •     N/A
     Le principe de l’analyse est d’estimer pour
     chaque zone le niveau de sécurité actuel de         SR 5.3 - General purpose person-to-
                                                                                                        9.5        •         •        •        •
                                                         person communication restrictions
     chaque FR (soit SL-A, où “A” vaut pour achieved)
     et d’en déduire le niveau nécessaire pour éviter    SR 5.3 RE 1 - Prohibit all general purpose
                                                                                                       9.5.3.1                        •        •     x
                                                         person-to-person communications
     une attaque à un niveau donné (soit SL-T, où
     “T” vaut pour pour target). Si nous prenons         SR 5.4 - Application partitioning              9.6        •         •        •        •     ?
                                                                                                                 SL 1 OK   SL 2 OK SL 3 NOK
     l’exemple de FR 5 (ci-contre), l’audit consiste
     à vérifier chaque SR (Security Requirement)         En réalisant la même tâche sur tous les FR, on          Evaluation FR 5

     et de déterminer le SL global. Dans l’exemple       en déduit un graphe correspondant au SL-A.
     ci-contre (issu du cas BlackEnergy), l’audit a      Dans le cas étudié, l’audit a déterminé que FR 6
     identifié que le point 3 du SR 5.1 logical and      était au niveau 1 et les cinq autres FR au niveau
     physical isolation of critical network n’était      0 (aucun niveau de sécurité). De ce fait, la valeur
     pas respecté, ce qui fait chuter le niveau de       globale de SL-A est égale à 0, correspondant
     sécurité à SL 3. De même, le point 1 du SR 5.3      à la valeur du maillon le plus faible. Le système
     prohibit all general purpose person-to-person       était donc relativement bien protégé au niveau
     communication n’est pas non plus respecté,          FR 5/réseau (SL 2) mais très mal protégé pour
     ce qui fait chuter le niveau de sécurité à SL 2.    le reste ce qui indique une absence de prise
     Globalement, le niveau de la zone étudiée sur FR    en compte globale des contraintes de sécurité
     5 est donc au niveau SL 2.                          (but de la norme). Le SL-T (à atteindre) est donc
                                                         égal à 2 ce qui est un niveau relativement faible
                                                         (protection contre une violation intentionnelle
                                                         simple). La norme permet également de définir
                                                         la liste des contre-mesures à mettre en place
                                                         sur les FR incriminés.

18                                                                                                                                                       19
De plus, les répondants ont identifié la flexibilité
                                      1. Identification and authentification control
                                                                 4                                                        (55 %), le coût (49 %) et le contrôle accru (41 %)
                                                                                                                          comme étant les bénéfices les plus significatifs
                                                                 3
           7. Resource availability                                                    2. Use control                     reliés à l’emploi de l’open source.
                                                                 2

                                                                 1                                                        Pour saisir tout l’impact qu’une approche
                                                             0
                                                                                                                          open source peut avoir sur un projet IoT, il est
                                                                                                                          essentiel de comprendre en quoi les projets IoT
 6. Timely response to events                                                               3. System integrity           diffèrent des projets IT traditionnels. La première
                                                                                                                          différence est celle du cycle de vie. Alors que
                                                                                                                          les éditeurs logiciels nous ont habitués depuis
                                                                                                                          quelques années à des mises à jour quasi
                                                                                                                  SLT-T   mensuelles, voire hebdomadaires, les solutions
                         5. Restricted data flow                          4. Data confidentiality                 SLT-A
                                                                                                                          IoT s’inscrivent dans une durée mesurée en
                      Graphe SL-A/SL-T                                                                                    années ou même en décennies. Une entreprise
                                                                                                                          manufacturière, par exemple, ne révisera sa
                                                     IOT ET OPEN SOURCE                                                   chaîne de production de fond en comble que
                                                     Si l’on évoque les solutions liées au Cloud, force                   très occasionnellement, vu les capitaux et les
                                                     est de constater que le marché est largement                         risques d’affaires que cela implique. La seconde
                                                     dominé par des solutions propriétaires. La                           différence est l’hétérogénéité. La plupart des
                                                     domination de l’approche propriétaire n’est                          entreprises opèrent des infrastructures IT
                                                     pas limitée aux fournisseurs de Cloud et un                          largement standardisées et ne font affaire
                                                     grand nombre de frameworks, outils intégrés                          qu’avec un nombre restreint de fournisseurs
                                                     et périphériques matériels sont également                            dans le domaine. Or, dans le domaine de l’IoT,
                                                     propriétaires (même s’ils utilisent des systèmes                     aucun fournisseur ne peut prétendre pouvoir
                                                     d’exploitation open source). AWS utilise                             fournir à lui seul l’infrastructure, les logiciels, et
                                                     cependant des composants open source                                 les dispositifs spécialisés requis qu’il s’agisse de
                                                     comme FreeRTOS et Microsoft Azure utilise le                         capteurs, d’actuateurs, de robots ou même de
                                                     système d’exploitation GNU/Linux et d’autres                         machines intelligentes. La conséquence est que
                                                     composants libres célèbres comme Kubernetes.                         les solutions IoT sont par définition hétérogènes.
                                                     La banalisation (commoditization) croissante                         Une troisième différence entre les solutions IT
                                                     du marché fait également en sorte que l’offre                        et IoT est que ces dernières sont soumises à un
                                                     purement open source devienne avec le temps                          ensemble de contraintes physiques rigoureuses.
                                                     de plus en plus complète et homogène.                                La consommation d’énergie est sans contredit
                                                     Ce constat explique que, dans l’édition 2019 de                      la plus importante, car bien des dispositifs sont
                                                     l’enquête d’opinion sur l’adoption commerciale                       alimentés par une batterie censée durer des
                                                     de l’IoT de la Fondation Eclipse, 60 % des                           mois ou mêmes des années.
                                                     répondants ont affirmé considérer l’open source
                                                     dans leurs plans de déploiement de solutions
                                                     IoT.

20                                                                                                                                                                                 21
Selon les cas d’utilisation, la résistance aux      En d’autres termes : une approche open source
     variations de température, aux vibrations,          préserve la capacité des organisations à
     aux radiations, à la poussière ou à l’humidité      innover.
     seront également des contraintes importantes.
     Finalement, la dernière différence entre les        En définitive, avoir recours à une approche
     projets IT et IoT se trouve au niveau de la         open source pour bâtir une solution IoT
     connectivité. Toute solution IoT digne de ce        affranchit les architectes et développeurs d’un
     nom doit assumer que les réseaux auxquels           ensemble de contraintes externes. Ils auront
     elle se connecte sont susceptibles d’être           donc l’entière liberté de déployer la solution
     instables ou de manquer de fiabilité. Ce fait a     sur les serveurs de leur choix (y compris dans
     des implications profondes sur l’architecture et    le Cloud) et de connecter les dispositifs à l’aide
     l’implémentation de la solution.                    des protocoles et des technologies les plus
                                                         appropriés. Toutefois, toutes les bases de code
     Une approche open source permet de mitiger          open source ne se valent pas. Celles qui sont
     et contrôler les problématiques liées aux           sous la gouvernance de tierces parties neutres
     spécificités des projets IoT. Avoir accès au code   et soutenues par une communauté diverse
     source fait en sorte qu’une organisation puisse     sont les plus susceptibles de s’épanouir sur le
     maintenir elle-même la solution si jamais les       long terme. Dans ce contexte, il convient de
     prestataires commerciaux se retiraient du           mentionner que le groupe de travail IoT de la
     marché (le cycle devenant ainsi plus prévisible).   Fondation Eclipse offre sans contredit le coffre à
     L’intégration de composants hétérogènes est         outils open source le plus complet de l’industrie.
     également plus facile lorsque les logiciels (et     La majorité des projets qui lui sont rattachés
     dans certains cas le matériel) utilisés sont        sont d’ailleurs développés par des contributeurs
     open source. Cela s’applique également aux          européens; les équipes des projets Eclipse fog05
     contraintes physiques. Quant à la connectivité,     et Eclipse zenoh étant même basées en région
     le fait de recourir à une plateforme open source    parisienne.
     accroît le nombre de technologies disponibles,      La structure de gouvernance neutre de la
     ce qui permet aux intervenants techniques           Fondation assure l’égalité des chances entre les
     de sélectionner celle qui convient le plus aux      contributeurs et fait en sorte qu’aucun d’entre
     exigences d’une implémentation donnée.              eux ne puisse détourner un projet à ses propres
     De plus, adopter une approche open source           fins. De plus, le processus de développement
     permet aux organisations d’éviter les pièges de     mature offert par la Fondation fait en sorte que
     certains modèles d’affaires commerciaux tels        des organisations qui compétitionnent dans le
     que la facturation au prorata du nombre de          domaine commercial peuvent tout de même
     périphériques ou de transactions. Il est en effet   coopérer dans le cadre de projets open source.
     fort difficile pour une organisation planifiant     Mentionnons au passage que la Fondation
     un déploiement d’avoir une idée précise de ces      vient de déménager à Bruxelles et, à ce
     métriques sur le long terme. Dans ce contexte,      titre, représente l’acteur le plus important de
     les directions d’entreprise auront tendance         l’écosystème open source en Europe.
     à favoriser la prévisibilité au détriment de
     l’innovation.

22                                                                                                            23
Inté
                                                                       En ce sens l’effort d’intégration Cloud/IoT peut-

gration
                                                                       être distingué en trois parties :
                                                                       1. L’intégration de l’environnement d’exécution
                                                                       IoT, qui spécifie la manière dont les services
                                                                       s’exécutent sur les périphériques
                                                                       2. L’intégration de la plateforme applicative de
                                                                       pilotage Cloud, qui spécifie les solutions et la
                                                                       manière dont la plateforme est gérée par les
                                                                       administrateurs
                                                                       3. La continuité entre les deux environnements

  Du système     Dans le contexte actuel, où les fournisseurs          ou Continuum Edge Cloud

d’exploitation   d’équipement de bordure (Edge ou Fog, lié ou
                 pas au développement 5G) se tournent de plus          INTÉGRATION ENVIRONNEMENT
  à la gestion   en plus vers des approches as a service pour          D’EXÉCUTION IOT
bout en bout     équiper leurs clients, un équipement de gestion
                 centralisé, résilient et évolutif devient une
                                                                       Les composants utilisés dans cette partie
                                                                       se situent au niveau de la récupération des
                 nécessité.                                            données (capteurs) ou bien dans la couche
                                                                       Edge (gateway/filtrage). Les thématiques de ce
                 Les fournisseurs de Edge Cloud propriétaires          document étant clairement orientées vers l’open
                 ont à leur catalogue des services ou grappes de       source, nous avons favorisé cette approche
                 services unifiant cette gestion de l’infrastructure   pour le logiciel (des systèmes d’exploitation -
                 IoT et son usage (à travers la gestion des            partiellement ou totalement - open source) mais
                 services ou applications s’appuyant dessus).          également pour le matériel car la mouvance
                 Au détriment de la souveraineté du SI client, et      open hardware a connu un essor important ces
                 soumis à la politique tarifaire et technologique      dernières années grâce à des produits ouverts
                 du fournisseur.                                       comme la carte BeagleBone Black et plus
                                                                       récemment l’architecture RISC-V.
                 Intégrer, déployer et gérer son parc IoT peut         Dans la partie décrivant les systèmes
                 être réalisé de la même manière avec une série        d’exploitation, nous retrouverons des standards
                 de solutions open source souvent présentées           comme GNU/Linux ou Android dédiés à des
                 comme des solutions dites DevOps. Aussi               architectures puissantes (x86, Cortex-A 32 ou
                 décliné sous les appellations ChatOps, AIOps,         64 bits). Nous citons également des systèmes
                 FinOps ou plus récemment EdgeOps, DevOps              émergents comme Zephyr (de la fondation
                 rassemble des outils autour d’une technologie         Linux), Contiki-ng ou RIOT utilisés sur des
                 de virtualisation, la conteneurisation en             capteurs (Cortex-M voire des architectures 16 ou
                 microservices, et des principes de gestion            8 bits).
                 de cycle de vie projet, faisant la promotion
                 de l’intégration continue, qui permet de
                 lier l’état du code produit ou des versions
                 de votre application avec l’état du ou des
                 environnements d’exécution.
24                                                                                                                         25
Les architectures d’exécution ouvertes,             Les systèmes d’exploitation embarqués
     ou Open Hardware                                    Partie 1 : langages, licences et sources
     L’une des caractéristiques essentielles             Cette liste non exhaustive concerne des
     des solutions IoT est d’être fortement              systèmes légers embarqués dans des capteurs,
     personnalisable. Les contraintes de                 voire des gateways Edge.
     consommation d’énergie et, dans certains cas,
     la difficulté d’accès à l’équipement font en                                         Langage
     sorte qu’il est souvent désirable d’avoir recours   Nom         Date de    Version   de program-
     à une combinaison matérielle et logicielle          de l’OS     creation   à date    mation          Licence     Sources

     taillée sur mesure pour le cas d’utilisation        Amazon                                                       https://www.freertos.
                                                                     2017       10.3.x    C               MIT
     concerné. En ce domaine, une tendance en            FreeRTOS                                                     org/a00104.html
     pleine croissance est le matériel open source.
                                                                                          Java + Kotlin
     Depuis le début des années 2010, l’architecture                                      (Android
                                                                                                          Apache      http ://source.
     RISC-V offre une solution de rechange crédible      Android     2008       11        SDK and
                                                                                                          2.0         android.com
                                                                                          Android
     aux architectures propriétaires. De nombreux
                                                                                          Studio)
     fabricants de matériel ont conçu des plates-
     formes s’en inspirant. RISC-V ne représente         Apache                                           Apache      https://github.com/
                                                                     2016       1.3.x     C/Go
                                                         Mynewt                                           2.0         apache/mynewt-core
     cependant qu’un jeu d’instructions et la
     plupart des organisations ne disposent pas                                                           Apache      https://github.com/
                                                         ARM Mbed    2009       5.15.x    C/C++
     des compétences requises pour concevoir des                                                          2.0         ARMmbed/mbed-os
     processeurs et microcontrôleurs l’utilisant. Cet    Contiki/                                         BSD         https://github.com/
     obstacle à l’adoption a favorisé l’émergence                    2002       4.x       C
                                                         Contiking                                        3-Clause    contiki-ng
     d’organisations telles que le OpenHW Group, qui
                                                         Huawei      2013-                                BSD         https://github.com/
     développe une famille de processeurs RISC-V         LiteOS      2018
                                                                                2.x       C
                                                                                                          3-Clause    LiteOS
     open source appelée CORE-V. Les concepteurs
     de matériel peuvent librement télécharger le                                                         Multiples
                                                         Linux/                                           (GPL,
     code source en langage System Verilog de ces                    2010       3.1       Multiples                   http://yoctoproject.org
                                                         Yocto                                            LGPL,
     processeurs et le modifier à leur guise. Il est                                                      etc.)
     même possible de valider les designs à l’aide de
                                                                                RIOT-                                 https://github.com/
     FPGAs relativement peu onéreux. L’émergence         RIOT        2012                 C/C++           LGPLv2.1
                                                                                2020.10                               RIOT-OS/RIOT
     de plateformes prêtes à l’emploi telles que
     CORE-V fait donc en sorte qu’il sera de plus                                         C                           https://github.com/
                                                                                                          Apache
                                                         Zephyr      2016       2.4.X     (Developer                  zephyrproject-rtos/
     en plus facile pour les organisations de toutes                                                      2.0
                                                                                          Kit)                        zephyr
     tailles de déployer des solutions taillées sur
     mesure.

26                                                                                                                                            27
Les systèmes d’exploitation embarqués               Les orchestrateurs microservices IoT/Edge
                                 Partie 2 : architectures, ressources                Si les systèmes d’exploitation embarqués
                                 et fonctionnalités                                  supportent une grande partie de la couverture
                                                                                     fonctionnelle de votre application ou
Nom               Principales architectures   Ressources      Fonctionnalités        infrastructure applicative, ils ont besoin dans la
de l’OS           supportées                  demandées       remarquables           plupart des cas d’une plateforme d’exécution
                                                                                     plus classique pour offrir des fonctionnalités
                                                              Intégration AWS
(Amazon)                                                                             non fournies par les périphériques eux-mêmes,
                  ARM, x86                    4 Ko RAM        pour la version
FreeRTOS
                                                              Amazon                 mais nécessaires à leur bon fonctionnement :
                                                                                     health checking, centralisation et analyse de
Android           x86, ARM                    2 Go RAM        Toutes ou presque !
                                                                                     données, gestion de configurations, gestion
Apache Mynewt                                 16 Ko RAM       BLE 4.2                de politiques de sécurité, etc. (fonctionnalités
                                                                                     que l’on retrouvera bien évidemment dans
ARM Mbed          ARM Cortex-M                64 Ko RAM       BLE 4.2
                                                                                     le Cloud mais au prix de la distance avec les
SSL/TLS (Mbed                                                                        périphériques). Dans certains cas la latence
                  2002                        4.x             C
TLS ou WolfSSL)
                                                                                     des traitements rendra inefficace leur réponse
Noyau préemp-                                                                        aux périphériques de bordure ou offriront des
                  2013-2018                   2.x             C
tif                                                                                  performances dégradées.
                                              10 Ko
Contiki/                                                                             En poursuite de la tendance DevOps, et
                  ARM Cortex -M, MSP430       RAM/100 Ko      6LoWPAN, RPL, CoAP
Contiking
                                              ROM                                    notamment à la fourniture de services
                                                              Support NB-IoT,
                                                                                     conteneurisés, c’est-à-dire à une approche
Huawei LiteOS     ARM, RISC-V                 10 Ko (noyau)   Ethernet, Bluetooth,   plus légère et plus dynamique que la
                                                              Wi-Fi, Zigbee          virtualisation en VM, les infrastructures IoT
Linux/Yocto       Toutes ou presque !         32 Mo RAM       Toutes ou presque !    se voient accompagnées par des solutions
                                                                                     d’orchestration microservices spécialisées
                                              1,5 Ko RAM,     Noyau temps réel,      pour les couches Fog et Edge, et déclinées
RIOT              Cortex-M, RISC-V, x86
                                              5 Ko ROM        support POSIX
                                                                                     depuis la solution Cloud, Kubernetes. Cette
                                                              Device tree support    dernière ajoute toutefois une certaine
                                              8 Ko RAM,
Zephyr            ARM, RISC-V, x86                            (DTS), Large set of    complexité à l’infrastructure et ne s’adapte pas
                                              30 Ko ROM
                                                              protocol stacks
                                                                                     nécessairement à tous les types de déploiement.
                                                                                     Par conséquent, ces dernières années ont vu
                                                                                     l’émergence d’un ensemble de plateformes
                                                                                     spécialisées pour assurer l’orchestration de
                                                                                     microservices Edge qui dans certains cas
                                                                                     s’intègrent à des instances Kubernetes situées
                                                                                     dans d’autres couches de l’infrastructure.

28                                                                                                                                        29
Plusieurs projets open source permettent de         qui peuvent les prendre en charge. L’outil
     déployer Kubernetes lui-même dans la couche         fog05 peut également déléguer l’exécution de
     Edge. Certains d’entre eux, tels que Minikube       certaines charges à Kubernetes, au besoin.
     et Microk8s, sont surtout utiles à des fins         Il convient de mentionner que les populaires
     de développement puisqu’ils ne fournissent          projets Eclipse Kura et Eclipse Kapua peuvent
     qu’une grappe (cluster) à un seul nœud (node).      également orchestrer des applications dans un
     D’autres, comme K3s, tentent de réduire             environnement Edge, pourvu qu’une topologie
     l’empreinte de Kubernetes en remplaçant             de déploiement appropriée soit employée.
     certains de ses composants par des alternatives
     moins consommatrices en ressources. Ceci rend       INTÉGRATION PLATEFORME
     toutefois impossible le déploiement en mode         CLOUD DEVOPS
     haute disponibilité. Finalement, des projets tels   Une fois l’architecture de bordure définie se
     que KubeEdge marient un composant Edge sur          pose la question de sa maintenance centralisée
     mesure à une grappe Kubernetes résidant dans        ainsi que de la gestion de ses ressources,
     une couche distante.                                notamment celles liées à l’exploitation des
                                                         données. Aujourd’hui ces points sont largement
     Une tendance relativement récente a vu              couverts par de l’outillage issu de/ou composant
     l’émergence du concept de EdgeOps, qui              la méthodologie DevOps, c’est-à-dire facilitant
     vise à adapter les pratiques DevOps établies        le rapprochement entre les métiers du
     à la réalité de l’environnement Edge par            développement et ceux de l’opérationnel. Nous
     l’intermédiaire de plates-formes et d’outils        allons aborder dans cette seconde partie
     conçus à cet effet. Les projets Eclipse ioFog       les différentes familles de solutions métiers
     et Eclipse fog05 (qui a recours au protocole        permettant la mise en place d’un socle de
     Eclipse zenoh) sont des exemples représentatifs     management Cloud basique et open source
     de cette tendance. Eclipse ioFog a recours à un     pour infrastructures IoT. Trois familles de
     contrôleur centralisé qui assure l’orchestration    solutions métiers ont été identifiées :
     des microservices. Pour ce faire, il a recours      1. Asset management, regroupant les solutions
     à une abstraction appelée Edge Compute              de gestion des ressources opérationnelles,
     Network qui isole les applications de la            logiques (code, scripts, etc.) et physiques
     complexité de l’infrastructure. L’outil ioFog       (périphériques, routeur, etc.)
     peut être déployé en mode autonome (il a            2. Data collection, regroupant les solutions de
     alors recours à containerd) ou s’intégrer à         collecte et de stockage de données, de type
     Kubernetes. Eclipse fog05, quant à lui, a recours   métriques ou bien de logs (traces)
     à une approche totalement décentralisée.            3. Monitoring et supervision, regroupant les
     Les différentes ressources d’infrastructure         solutions type dashboards ou jumeaux digitaux
     prises en charge par fog05 sont gérées par
     l’intermédiaire d’un unified compute fabric
     qui s’assure de distribuer les différents
     composants d’une application aux ressources

30                                                                                                          31
Assets management                                    Gitlab est un exemple open source de
     La gestion de l’infrastructure applicative IoT       plateforme en ligne permettant de gérer
     commence avec une bonne gestion des assets           plusieurs aspects liés à la création de code :
     logiques et physiques. Pour les premiers on peut     1. Versions et sous-versions
     distinguer le code, les recettes d’intégration et    2. Niveaux de droits par utilisateurs
     les bibliothèques d’artefacts. Pour les seconds,     3. Corrections ou évolutions attendues sur le code   GITLAB
     il s’agira d’indexer l’ensemble des périphériques                                                         En plus de gérer les différentes
                                                                                                               versions du code, Gitlab propose
     physiques présents sur votre infrastructure,         Il permet également de mettre en place de            un IDE Web facilitant l’édition et la
     des serveurs aux capteurs en passant par les         la méthodologie agile en fournissant des             revue du code depuis son interface
                                                                                                               côté client. Les fonctionnalités
     éventuels équipements de routage.                    dashboards type Kanban directement dans les          annexes sont nombreuses dans la
                                                          projets.                                             version communautaire open source :
                                                                                                               Wiki, Kanban, registry…
     Gestion logique                                                                                           Source : Gitlab.com
     Code source
     La première étape est d’identifier une solution
     de gestion de code de type SCM (Source
     Code Manager). Si il y a différentes approches
     disponibles (SVN, Mercurial, etc.) aujourd’hui la
     tendance est à l’utilisation de solutions basées
     sur le protocole Git, qui permet de gérer le code
     localement. Pour passer à l’échelle collaborative,
     il faut l’articuler avec une plateforme de gestion
     permettant son partage et sa gestion dans le
     cadre du projet ou de l’intégration.

32                                                                                                                                             33
Tuleap est une alternative française à Gitlab.        Pipelines d’intégration continue
                                         La philospohie de la solution est d’offrir une        La seconde étape consiste à délivrer ce
                                         solution collaborative pour la gestion du cycle       code directement ou à travers des artefacts
                                         de vie des applications. De la description            compilés, et souvent vérifiés et optimisés à
                                         des tâches, au suivi de leur développement,           travers des services de vérification (qualité,
                                         jusqu’à la gestion du code source et son              performance, compliance) ou d’analyses plus
                                         intégration DevOps, en passant par les aspects        poussées. Cette étape est celle de l’intégration
                                         qualité comme la revue de code, les tests et          continue, aussi appelée CI et plus récemment
                                         la documentation, Tuleap couvre l’intégralité         CI/CD car elle va se doubler avec une action de
                                         des besoins liés au développement logiciel.           déploiement continu. La description de pipelines
                                         Elle regroupe donc les aspects SCM (Source            d’intégration et de scénarios de déploiement
                                         Code Management, avec une compatibilité               va être nécessaire pour articuler l’évolution de
                              TULEAP     Git et SVN) pour la partie gestion du code, les       votre code avec ces actions.
     Tuleap se différencie fortement
   par les aspects gestion de projet     aspects gestion de projet Agile avec plusieurs
  et visualisation. L’outil permet de    type de dashboards dont kanban, les aspects           Gitlab-CI (embarqué dans Gitlab) permet la
regrouper par configuration sur un
  dashboard unique l’état croisé de      intégration avec le support de Jenkins, et offre      description de ces pipelines, la configuration
   l’avancement du code au regard
                                         des fonctionnalités propres permettant de             de projets Git avec ces descriptions, et enfin
des spécifications, les informations
 relatives au backlog des incidents      faciliter la traçabilité des actions menées par les   leur exécution à travers des Gitlab-runners.
       et une timeline des différents                                                                                                             GITLAB-CI
              évènements du projet.
                                         équipes.                                              Ces derniers permettent de distribuer sur          Les statuts des jobs d’intégration
                   Source : tuleap.org                                                         l’infrastructure la gestion à proprement dite      peuvent être monitorés depuis la
                                                                                                                                                  plateforme. Ils permettent de suivre
                                                                                               du code, des actions d’intégration et de           le déroulé des scripts ou jeu des
                                                                                                                                                  recettes sur les environnements,
                                                                                               déploiement, parfois lourdes dans le cas de        ainsi que de déboguer rapidement
                                                                                               compilations volumineuses ou de simulations        en cas d’erreurs : un accès à la vue
                                                                                                                                                  terminal étant incluse dans le client
                                                                                               complexes dans le cadre de la vérification.        front-end.
                                                                                                                                                  Source : Gitlab.com

34                                                                                                                                                                                 35
Images microservices                                 Recettes d’industrialisation
                                             La conteneurisation des microservices s’appuie       Les trois points ci-dessus permettent au projet
                                             fortement sur un concept d’images empilables.        d’être prêt à être déployé sur un environnement
                                             Techniquement il s’agit d’une spécificité au         local ou distant. Cet environnement (serveur,
                                             niveau du système de fichiers, considérant           machine virtuelle, microcontrôleur, etc.)
                                             chaque nouvelle version du code comme une            nécessite d’être préparé avant d’exécuter
                                             nouvelle couche historisée. Ces nouvelles            les services ou applications IoT. On utilise le
                                             versions du code sont rendues disponibles sous       terme “installation” pour décrire cette étape de
                                             la forme d’images, comportant un numéro de           préparation de l’environnement. Aujourd’hui et
                                             version. Par exemple, pour appeler la dernière       dans la poursuite des approches DevOps, cette
                                             version d’une image Nginx, on écrira dans son        installation de l’infrastructure se fait “as code” ;
                                             fichier de dépendance nginx : latest.                plutôt que de configurer l’environnement avec
                                                                                                  des instructions manuelles et locales, un outil va
                                             La gestion des images se fait communément à          “jouer” des recettes décrivant ces instructions et
                                             travers une registry. Il en existe plusieurs ayant   assurera que :
                                             différentes spécificités. Gitlab embarque sa         1. Tous les environnements sont configurés de la
                                             propre registry facilitant la mise à disposition     même manière
                                             des artefacts issus de l’intégration à travers       2. L’installation est parallélisable sur n
                                HARBOR       Gitlab-CI, tout en limitant parfois leur accès       environnements
        Harbor propose un concept de         extérieur. La Docker Registry est également un       3. Certaines propriétés de configuration ou de
       projets au-dessus de la gestion
classique des images mlicroservices,         produit officiel et qui permet de distribuer ses     conformités sont respectées
   afin d’offrir plus de flexibilité et de   images de la manière la plus native possible (au
      contrôle sur leur gestion (accès,
     partage, mise à jour, etc.). Cette      sens de Docker). Harbor est une alternative qui      Il existe de nombreuses approches et outils
    solution permettra de définir des
   quotas par projets ou utilisateurs,
                                             intègre des fonctionnalités “enterprise” : gestion   pour développer ces recettes d’industrialisation,
     facilitera la réplication et offrira    des accès RBAC, scanner de vulnérabilité,            introduisant chacune des spécificités
        des fonctionnalités de tagging
             automatique des images.         synchronisation multi-registry, etc.                 liées à leurs formats de description et
                    Source : goharbor.io                                                          d’expression. Ansible est une solution bien
                                                                                                  connue et qui couvre, grâce à la description
                                                                                                  de rôles et playbooks, le provisionnement
                                                                                                  d’environnements, leur configuration et la
                                                                                                  gestion du déploiement d’applications sur ces
                                                                                                  derniers. Terraform, plus moderne, s’appuie
                                                                                                  sur des connecteurs d’infrastructures appelés
                                                                                                  providers pour permettre aux utilisateurs de
                                                                                                  décrire de manière unifiée, en s’appuyant sur le
                                                                                                  DSL fourni, des configurations compatibles, hors
                                                                                                  spécificités, avec l’ensemble des providers.

 36                                                                                                                                                      37
Vous pouvez aussi lire