Architectures Cloud Ready : l’état de l’art

Technologies, outils, mise en œuvre, best practices
Sommaire

LE MOT DE L’INTERVENANT

Avec ce séminaire, je vais vous aider à comprendre les techniques...

Avec ce séminaire, je vais vous aider à comprendre les techniques les plus modernes de construction d’un système d’information nativement conforme aux exigences du Cloud. J’aborderai les aspects liés aux infrastructures réseaux et systèmes, les grandes innovations en industrialisation des pratiques de mise en production et d’exploitation au quotidien, et enfin les techniques de conception et de développement d’applications métiers qui tirent le meilleur parti des forces du Cloud sans en subir les faiblesses.

Habib Guergachi
Fondateur et CEO Zengularity, Associé et CTO du Groupe Fabernovel. 25 ans d’expériences en delivery d’architectures logicielles complexes, à très hautes exigences de performance et de sécurité auprès de multinationale, de géants du Web et de startups : AXA, BNP Paribas,COVEA, Airbus, LES MOUSQUETAIRES, Groupe ADEO , BlueStar (cn), Wallmart, Google, LinkedIn, Deliveroo, Synthésio, etc.) 12 ans en conseil et accompagnement d’Architectes, DSI et c-levels pour délivrer une transformation progressive et pragmatique vers le digital. Private Investor (prismic.io, lightbend). Administrateur Foyer SA (LU) en charge de la stratégie Digitale.
Lire la suite Cacher le texte

En trois jours, un état de l’art complet et pragmatique en matière de conception, développement et déploiement
de la nouvelle génération de SI conforme aux principes et contraintes du Cloud.

  • Les applications modernes, grâce à l’élasticité offerte par le Cloud, ajustent en temps réel les ressources de traitement
    et de stockage aux sollicitations transactionnelles qu’elles subissent.
  • La technique de scalabilité infinie, exigée par le cloud, permet aux applications de gérer simultanément des millions d’utilisateurs sans dégrader les temps de réponse.
  • L’automatisation totale des déploiements, généralisée dans le Cloud, permet une réduction drastique des coûts
    de gestion des plans de continuité de service et de reprise d’activité.
  • L’industrialisation des procédures d’exploitation, éprouvée grâce aux pratiques du Cloud, rend possibles des mises en production quotidiennes de plusieurs versions et faire de la livraison un non-évènement.

Rappel des fondamentaux


Terminologie

  • Définition formelle du Cloud.
  • L’architecture générique d’un Cloud.
  • Les principales familles de Cloud : privé, public et hybride.
  • Que penser des familles de Cloud : privatif, communautaire ou souverain ?

IaaS (Infrastructure de Service)

  • Les principales familles d’un IaaS.
  • Rôle des infrastructures low cost dans un IaaS.
  • Les fonctions essentielles remplies par une plate-forme IaaS.
  • Intérêts et limites des IaaS publics.

CaaS (Container as a Service)

  • IaaS « Bare-Metal » v/s IaaS virtualisé v/s IaaS Containnerisé
  • Introduction aux concepts de Containers
  • Qu’est-ce que Docker ? Quelles alternatives ?
  • Les zones de recouvrement entre IaaS, CaaS et PaaS.

PaaS (Platform as a Service)

  • Les principales familles d’un PaaS.
  • Les fonctions de base d’un PaaS pour le déploiement et l’exploitation.
  • Les limites du PaaS face aux serveurs d’applications.
  • Réponse du IaaS et du PaaS aux pics de charge du SaaS

SaaS (Software as a Service)

  • Les critères d’éligibilité d’une application au rang de SaaS.
  • Approfondissement du concept de « multi-tenant ».
  • Typologie des architectures SaaS : multi-entité, multi-instance, multi-tenancy. etc.
  • Les confusions avec ASP, Infogérance, etc.

NaaS (Network as a Service)

  • Les principales problématiques réseaux sous-jacentes au cloud
  • Quelle maturité des pratiques Cloud dans le domaine des réseaux ?
  • Que penser de NFV (Network Functions Virtualization) ?
  • Quels bénéfices des logiciels SDN (Software Defined Network) ?

Bases du Cloud Ready


Microservices

  • Définition de microservice.
  • Principes de construction d’une architecture microservices.
  • Avantages et limites d’une architecture à base de microservices.

Composabilité

  • Introduction aux principes de « composabilité » fonctionnelle et technique.
  • Les critères SoC (Separation of Concerns) à respecter par les composants Cloud.
  • Les prérequis pour assurer la « testabilité » en conception et en production.

Sécabilité

  • Avantages et limites de la sécabilité entre composants.
  • Les idées reçues de l’impact de la sécabilité sur les performances.
  • Les principes d’implémentation.

Stateless

  • Quelle stratégie de session utilisateur pour quel type d’application ?
  • Quelles sont les limites des applications stateless ?
  • Les critères de gestion de session pour maîtriser les temps de réponse.

Scalabilité

  • Scalabilité horizontale vs verticale.
  • Les limites de scalabilité « compute » v/s « data processing ».
  • Que penser de la scalabilité infinie ?

Testabilité

  • Les idées reçues sur les tests fonctionnels.
  • Les limites des tests de performances en environnement Cloud.
  • Les techniques d’implémentation de l’A/B Testing.

Élasticité

  • Les prérequis pour mettre en œuvre une élasticité dynamique ?
  • Avantages et inconvénients de l’élasticité programmée.
  • Retours terrain des pratiques d’élasticité sur AWS (Amazon Web Services).

Sécurité

  • Les prérequis pour gérer les incidents de sécurité.
  • Sécurité en profondeur vs sécurité périmétrique vs sécurité applicative.
  • Protocoles de fédération des identités.

Disponibilité

  • Comment faire de la panne un non événement ?
  • Introduction àv« Chaos Monkey ».
  • Disponibilité des traitements v/s Données

Construction de services métier


Ressources

  • Rappel des principes REST et service REST.
  • Les bénéfices des interfaces uniformes REST.
  • Principe de la représentation de la ressource.

API

  • Les différences entre un service et une API.
  • La problématique de versioning d’API.
  • Les pratiques de documentation des API

Architecture API

  • Les types d’APIs : P/R, R/R, Stream, etc.?
  • Pièges à éviter pour construire une API à scalabilité infinie.
  • Comment gérer la compatibilité ascendante et descendante ?

API Management

  • Que penser des annuaires d’API ?
  • Comment gérer la consommation d’une API ?
  • Gestion de l’authentification et de la sécurité d’accès.

Programmation d’API

  • Analyse comparative des paradigmes : linéaire, impératif, objet et fonctionnel.
  • Les bons et mauvais arguments pour adopter un langage fonctionnel.
  • La résilience et la performance en programmation.

Programmation avancée

  • Que penser de la programmation asynchrone réactive ?
  • Quels bénéfices de la programmation concurrentielle ?
  • Comment la programmation influence la performance ?

Exécution

  • Les limites du serveur d’application dans le Cloud.
  • Serveur d’application vs frameworks Web.
  • Les bénéfices de la JVM dans une architecture ultra-performante.

Gestion du cache

  • Rôle du cache dans les fortes montées en charge.
  • Les techniques de mise à jour du cache en temps réel.
  • Quel impact du cache sur la conception fonctionnelle ?

Règles métier spécifiques

  • Quel impact de la géolocalisation sur les règles métier ?
  • Comment gérer la dégradation gracieuse des fonctionnalités ?
  • Approche algorithmique des règles métier.

Construction d’interfaces utilisateur


Plate-forme navigateur

  • Architecture technique détaillée d’un browser Web.
  • Templating serveur vs templating client.
  • Les principaux frameworks Javascript.

Gestion du mode offline

  • Les principaux pièges du Web offline et comment les éviter ?
  • Différentes approches offline : technique, applicatif, etc.
  • La sécurité en mode offline.

User eXperience (UX)

  • Comment bâtir des UX évolutives ?
  • Comment séparer l’UX de l’UI (User Interface) du Design ?
  • Principaux piège de la Continuité Cross-Canal.

Mobilité

  • Applications Natives vs Applications Web.
  • Point forts et limites des approches hybrides.
  • Comment définir le taux d’hybridation optimal.

Multi-navigateurs

  • La problématique multi-navigateurs et multi-plate-forme.
  • Approche technique vs fonctionnelle.
  • Principes de la « dégradation gracieuse ».

Données et Big Data


Volume et vitesse

  • Les nouveaux problèmes d’écriture de données persistante en temps réel.
  • Les nouveaux moteurs SQL : No SQL, Not Only SQL et New SQL
  • Principaux modèles de stockage : clé/valeur, colonne, Document, Graphe, etc.

Lecture et écriture data

  • Etude de cas : « vision 360° temps réel d’un client en assurance ».
  • Introduction aux algorithmes de sharding.
  • Les principes fondamentaux d’une architecture data sur le cloud ?

Traitement avancé des données

  • Introduction au CQRS (Command Query Responsibility Segregation).
  • Le théorème CAP (Consistency, Availability and Partitioning).
  • Propagation des mises à jour en mode Eventual Consistency.

Seuil de volume Big Data

  • Ecriture temps réel de données volumineuses et multi- structurées.
  • A partir de quels volumes de données peut-on parler de Big-Data ?
  • Les précautions essentielles à prendre pour organiser et traiter les données big data.

Programmation en Big Data

  • Introduction aux trois états de données.
  • Principe de détection des événements complexes (Complex Event Processing).
  • Introduction à l’algorithmique, le Machine Learning et le Deep Learning.

Architectures techniques en Big Data

  • Les principes d’architectures Réactives
  • Que penser des architectures Event-sourcing ?
  • Introduction aux principes des architectures « Lambda » et « Zeta »

Marché des outils et des technologies


Ce chapitre dresse un panorama critique de l’offre actuelle du marché des outils : stratégie et typologie des acteurs et des offres, caractéristiques des offres et principales contre-indications, etc.

Synthèse et perspectives


  • La liste des chantiers organisationnels, architecturaux et technologiques à mener.
  • Les décisions majeures à prendre pour réussir la construction d’un SI nouvelle génération en mesure d’accompagner l’entreprise vers la transformation digitale dans le Cloud.