Geonov vous aide à mettre en place votre architecture client-serveur de type n tiers virtualisée à l’aide de scripts d’installation automatisée.
Qu’est-ce qu’une architecture client-serveur ?
Une architecture client-serveur représente l’environnement dans lequel des applications de machines clientes communiquent avec des applications de machines de type serveurs.
L’exemple classique est le navigateur Web d’un client qui demande (on parle de “requête”) le contenu d’une page Web à un serveur Web qui lui renvoie le résultat (on parle de “réponse”).
Les types d’architecture client-serveur
- Si toutes les ressources nécessaires sont présentes sur un seul serveur, on parle d’architecture à deux niveaux ou 2 tiers (1 client + 1 serveur).
- Si certaines ressources sont présentes sur un deuxième serveur (par exemple des bases de données), on parle d’architecture à trois niveaux ou 3 tiers (1 client interroge le premier serveur qui lui-même interroge le deuxième serveur).
- Au delà de 3 acteurs, on parle d’architecture à n tiers.
Geonov vous propose une architecture à n tiers virtualisée
Chez Geonov, nous préconisons l’architecture physique à 2 tiers mais qui fonctionnera en réalité comme architecture n tiers grâce à la virtualisation.
Concrètement, un seul serveur physique sera nécessaire mais les applications seront installées dans des conteneurs virtuels indépendants. On parle de serveurs dédiés virtuels (en anglais Virtual Private Server (VPS)).
Bien entendu, il reste possible de combiner une architecture physique à n tiers avec la virtualisation en ajoutant des serveurs physiques, par exemple pour la réplication ou la tolérance aux pannes.
Qu’est-ce que la virtualisation ?
La virtualisation permet d’isoler des processus comme s’ils étaient installés sur une machine dédiée. Il est même possible d’émuler des machines complètes ce qui permet par exemple d’exécuter un environnement Windows dans un environnement Linux et inversement.
Il y a différents types de virtualisation mais celle qui nous intéresse principalement est l’isolation par conteneur. Après avoir longtemps utilisé OpenVZ, Geonov base maintenant ses conteneurs virtuels sur LXC (pour “Linux Containers”), technologie arrivée suffisamment à maturité et intégrée dans les noyaux Linux récents. Si LXC ne vous dit rien, Docker vous parlera peut-être ? Et bien Docker utilise LXC pour ses conteneurs et ajoute des outils permettant leur portabilité et l’aide au développement.
Et pour les applications nécessitant un système d’exploitation non Linux, donc non compatible avec LXC, Geonov utilise des machines virtuelles KVM (“Kernel-based Virtual Machine”).
Pour disposer d’une interface de gestion complète et moderne, Geonov utilise l’outil Proxmox VE, basé sur une distribution Debian. Il permet de gérer très facilement les conteneurs et les machines virtuelles, et de modifier en quelques clics leurs ressources affectées.
Sauvegarde simplifiée
En plus de scripts de sauvegarde de fichiers sur FTP intégrés dans chaque conteneur ou machine virtuelle, la virtualisation via Proxmox permet de bénéficier de Proxmox Backup Server.
Cette solution permet de planifier la sauvegarde de toutes les machines virtualisées sur un autre serveur. Ainsi en cas de désastre, il devient très rapide de remettre en route chacune des machines virtualisées.
Les conteneurs et machines virtuelles maintenus par Geonov
Geonov a conçu des scripts Linux capables d’installer et de configurer un certain nombre de conteneurs et de machines virtuelles de façon automatique, à l’aide en particulier d'Ansible.
CT 101 - Annuaire
Ce CT installe un annuaire OpenLDAP et un service Kerberos. Il est fondamental pour la mise en place d'une authentification unique (SSO) et plus généralement pour la gestion des utilisateurs.
CT 103 - PostgreSQL
Ce CT installe un serveur de base de données PostgreSQL avec son extension PostGIS.
Il permet le stockage des données géographiques.
CT 104 - Web
Ce CT installe un serveur Web Nginx pour le contenu statique & Apache + PHP pour le contenu dynamique.
CT 110 - Cloud
Ce CT installe une instance Nextcloud basée sur Apache.
Nextcloud permet le stockage de fichiers, la gestion des contacts ou encore d'un calendrier.