École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : Master GL · S2 · UE4 — Architectures orientées services et cloud computing

  • Architectures orientées services et cloud computing

    Les systèmes d’information des banques, opérateurs télécoms, administrations et start-up ne sont plus des applications isolées : ils sont composés de services interopérables, exposés sous forme d’API et de plus en plus hébergés dans le cloud. Ce cours donne à l’ingénieur génie logiciel les concepts et les savoir-faire pour concevoir, déployer et exploiter de telles architectures. Il traite d’abord l’architecture orientée services (principes, contrats, bus de services, orchestration et chorégraphie), puis les technologies de services web (SOAP/WSDL, REST, OpenAPI, gRPC) et le passage aux microservices. La seconde partie est consacrée au cloud computing selon la définition du NIST (caractéristiques, modèles IaaS/PaaS/SaaS, modèles de déploiement), à la virtualisation, aux conteneurs Docker et à l’orchestration Kubernetes, et enfin à la sécurité (responsabilité partagée), à la disponibilité, à l’évaluation des coûts (TCO, FinOps) et aux stratégies de migration, avec une attention particulière au contexte nigérien : connectivité internationale, souveraineté et protection des données personnelles.

    Objectifs d’apprentissage

    • Expliquer les principes de la SOA et concevoir un portefeuille de services à partir de processus métier.
    • Concevoir, documenter (WSDL, OpenAPI) et sécuriser des services web SOAP et REST ; distinguer SOA et microservices.
    • Caractériser les modèles de service et de déploiement du cloud et choisir une offre adaptée.
    • Conteneuriser une application avec Docker et la déployer sur Kubernetes avec mise à l’échelle automatique.
    • Évaluer la sécurité, la disponibilité et le coût total de possession d’une solution cloud et planifier une migration.

    Prérequis

    Architecture logicielle, programmation (Java ou Python), réseaux TCP/IP et HTTP, bases de données, notions de Linux en ligne de commande.

    Plan du cours

    1. Leçon 1 — Principes de l’architecture orientée services (SOA)
    2. Leçon 2 — Services web SOAP et REST, contrats d’API et microservices
    3. Leçon 3 — Cloud computing : modèles, virtualisation, conteneurs et orchestration
    4. Leçon 4 — Sécurité, disponibilité, coûts et migration vers le cloud

    Modalités d’évaluation

    Volume horaire (maquette) : 20 h de CM, 10 h de TD, 20 h de TP et 30 h de TPE, pour 3 crédits. Évaluation : contrôle continu (comptes rendus de TP Docker/Kubernetes, étude de cas d’architecture : 40 %) et examen terminal écrit (60 %).

    Bibliographie

    • Thomas Erl, Service-Oriented Architecture: Concepts, Technology, and Design, Prentice Hall, 2005.
    • Sam Newman, Building Microservices, O’Reilly, 2e éd., 2021.
    • Leonard Richardson, Sam Ruby, RESTful Web Services, O’Reilly, 2007.
    • NIST, Special Publication 800-145 : The NIST Definition of Cloud Computing, 2011.
    • Documentation officielle de Docker (docs.docker.com) et de Kubernetes (kubernetes.io) ; spécification OpenAPI (openapis.org).