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’apporterai quelques éclairages sur la manière d’y arrimer le SI existant. 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 ni créer une dépendance irréversible des acteurs du marché.

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 exigences du Cloud.

  • Les applications modernes, grâce à l’élasticité offerte par le Cloud, ajustent en temps réel les ressources consommées.
  • La technique de scalabilité infinie permet aux applications de gérer simultanément des millions d’utilisateurs sans impact sur le temps de réponse.
  • L’automatisation totale des déploiements des applications remet en cause les notions de plans de continuité et de reprise d’activité.
  • L’industrialisation des procédures d’exploitation rend possible de faire de la mise en production un non évènement.
  • Les nouvelles architectures réactives et découplées temporellement apportent des solutions novatrices aux problèmes d’intégration et d’interopérabilité.
  • Un SI Cloud ready est régi par des coûts, des délais de mise en œuvre et des performances globales jusqu’à dix fois inférieurs à ceux du SI traditionnels.
  • Un SI Cloud ready a aussi des limites qu’il vaut mieux connaître le plus tôt possible avant de s’y engager.


Rappel des fondamentaux


Terminologie

  • Définition formelle et précise du Cloud.
  • L’architecture générique d’une plateforme Cloud.
  • Les principales familles de Cloud : privé, public et hybride.

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.

CaaS (Container as a Service)

  • IaaS « Bare-Metal » v/s IaaS virtualisé v/s IaaS Containnerisé
  • Introduction aux concepts de Containers
  • 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 JEE.

SaaS (Software as a Service)

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

SaaP

  • Principes de fonctionnement d’un Services As A Platform.
  • Techniques de construction et d’enrichissement d’un SaaP.
  • Concepts avancés : SaaP en mode SaaS, PaaS en mode SaaS, etc.

Bases du Cloud Ready


Microservices

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

Composabilité

  • Introduction aux principes de « composabilité ».
  • Les critères SoC (Separation of Concerns).
  • Les prérequis pour assurer la « testabilité ».

Sécabilité

  • La sécabilité entre composants.
  • Impact de la sécabilité sur les performances.
  • Les principes d’implémentation dans le Cloud.

Stateless

  • Gestion de la session utilisateur.
  • Les limites des applications stateless.
  • Gestion de session et maîtriser les temps de réponse.

Scalabilité

  • Scalabilité horizontale v/s 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.
  • 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.
  • Réalité de l’élasticité sur AWS (Amazon Web Services).

Sécurité

  • Les prérequis pour gérer la sécurité dans le Cloud.
  • Sécurité périmétrique vs sécurité applicative.
  • Les nouveaux métiers de la sécurité dans le Cloud..

Disponibilité

  • Comment faire de la panne un non événement ?
  • Introduction à « 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.
  • Construction une API à scalabilité infinie.
  • 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 avancée

  • Que penser de la programmation asynchrone réactive ?
  • Quels bénéfices de la programmation concurrentielle ?
  • Quel modèle de programmation pour quelle 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 modernes.
  • Approche technique vs fonctionnelle.
  • Principes de la « dégradation gracieuse ».



Terminologie

  • Définition formelle et précise du Cloud.
  • L’architecture générique d’une plateforme Cloud.
  • Les principales familles de Cloud : privé, public et hybride.

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.

CaaS (Container as a Service)

  • IaaS « Bare-Metal » v/s IaaS virtualisé v/s IaaS Containnerisé
  • Introduction aux concepts de Containers
  • 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 JEE.

SaaS (Software as a Service)

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

SaaP

  • Principes de fonctionnement d’un Services As A Platform.
  • Techniques de construction et d’enrichissement d’un SaaP.
  • Concepts avancés : SaaP en mode SaaS, PaaS en mode SaaS, etc.

Microservices

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

Composabilité

  • Introduction aux principes de « composabilité ».
  • Les critères SoC (Separation of Concerns).
  • Les prérequis pour assurer la « testabilité ».

Sécabilité

  • La sécabilité entre composants.
  • Impact de la sécabilité sur les performances.
  • Les principes d’implémentation dans le Cloud.

Stateless

  • Gestion de la session utilisateur.
  • Les limites des applications stateless.
  • Gestion de session et maîtriser les temps de réponse.

Scalabilité

  • Scalabilité horizontale v/s 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.
  • 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.
  • Réalité de l’élasticité sur AWS (Amazon Web Services).

Sécurité

  • Les prérequis pour gérer la sécurité dans le Cloud.
  • Sécurité périmétrique vs sécurité applicative.
  • Les nouveaux métiers de la sécurité dans le Cloud..

Disponibilité

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

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.
  • Construction une API à scalabilité infinie.
  • 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 avancée

  • Que penser de la programmation asynchrone réactive ?
  • Quels bénéfices de la programmation concurrentielle ?
  • Quel modèle de programmation pour quelle 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.

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 modernes.
  • Approche technique vs fonctionnelle.
  • Principes de la « dégradation gracieuse ».

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

  • Les seuils de volumes en Big-Data.
  • Le problème des données volumineuses et multi-structurées.
  • Les principes fondamentaux pour traiter les données big data.

Programmation en Big Data

  • Introduction aux trois états de données.
  • Traitement des CEP (Complex Event Processing).
  • Algorithmique, Machine Learning et Deep Learning.

Architectures techniques en Big Data

  • Les principes d’architectures Réactives
  • Event-sourcing v/s Message Driven.
  • Les architectures « Lambda ».

Data et conformité juridique

  • Introduction aux contraintes informatiques de la GDPR.
  • Comment assurer le principe de « compliance by design » ?
  • les 3 exigences de bases à respecter.

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.

  • 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.