👨‍🏫 DIA - Développement et Intégration d’Applications distribuées

Ressources

Cours

YouTube

Introduction

Différences entre le site vitrine et le site marchand :
Site vitrine
Site marchand
+ Facile Ă  mettre en place
+ Facile à répliquer
+ Grande capacité
+ Stock temps réel
+ Commande envoyées directement au presta
+ DĂ©lai client court
- Statique
- Grosse gestion back office
- Rupture de stock régulière
- Plus complexe Ă  mettre en place
- DĂ©pendance au partenaire
- Gestion de la DB : distribution, synchronisation
- Gestion des transactions
- Scaling
Il faut mettre en place des chaînes de dev/compilation/déploiement pour minimiser les risques, se rassurer et aller plus vite.

L’exemple de Netflix

  • Frontend
  • Backend
  • CDN
  • AWS

Implantation dans 3 régions du monde pour éviter les problèmes en cas de chute d’un seul datacenter (ils ont appris de leur échec de 2008)

Le but du CDN est de rapprocher les fichiers des clients finaux.
Le cœur de métier de Netflix est de distribuer des vidéos, de les amener chez le client. Le partenariat avec le CDN tiers a finalement dégradé leur qualité de service en déportant ce cœur de métier vers une société externe. C’est pourquoi ils ont développé Open Connect.

Un CDN est un gros serveur cache servant à servir des fichiers statiques. Les serveurs CDN Open Connect de Netflix s’appellent des OCA (Open Connect Appliance). Leur stratégie pour distribuer le contenu au plus près des utilisateurs a été d’installer leurs OCA au plus près des utilisateurs : chez les FAI et les IXP (Internet eXchange Points).
Les opérateurs ont intérêt à conserver des caches Netflix chez eux même si ça leur coûte en termes de locaux, électricité, etc :
  • Les abonnĂ©s sont satisfaits
  • Économie dans la bande passante et le transfert depuis les centres de peering (qui coĂ»te un bras pour l’opĂ©rateur)

Architecture

DĂ©finitions

  • Application : utilise les ressources matĂ©rielles Ă  travers l’OS pour rĂ©aliser diverses tâches
  • Architecture : le rĂ©sultat de la rĂ©flexion sur l’organisation de divers Ă©lĂ©ments, diverses ressources (logiciels, matĂ©riels, humains, informations). Les utilisateurs font partie de l’architecture du système.
  • Architecture distribuĂ©e : quand l’architecture repose sur plusieurs machines. Diverses versions:
  • l’OS est “distribué” (gère plusieurs machines, exemple des supercalculateurs)
  • l’application est distribuĂ©e (repose sur plusieurs machines, chacune avec leur OS

Histoire

Architecture 1 tiers
Les mainframes c’est caca, ça coûte cher et il faut développer spécifiquement à chaque machine

Architecture 2 tiers
Les données et la logique restent sur le serveur. Le client sert à proposer des interfaces graphiques (synchrones)
Apparition des réseaux, des DB, …