Analyse Web Db (WIP) - MachiganMC/Woodytoys GitHub Wiki

Analyse serveur Web et Db

  • Identification des besoins :

L'entreprise a besoin d'un ou plusieurs serveurs web pouvant héberger au total 3 sites:

  • Un site public (www.woodytoys.be)
  • Un site pour les revendeurs (b2b.woodytoys.be)
  • Un site pour la gestion (erp.woodytoys.be)

Le site erp doit être situé en interne, les deux autres sonts publics

Les site erp et b2b doivent pouvoir interagir avec une base de donnée

  • Besoins fonctionnels :

    • Un serveur Web pour l'hébergement des sites,
    • Un serveur DB pour stocker les données des sites.
  • Critères des logiciels :

    • Critères généraux :

      • Un logiciel trop lourd pour la quantité de taches à effectuer consommerait plus de ressources nécessaire, en accord avec les objectifs de développement durable de l'entreprise.
      • Les services choisis doivent permettre l'utilisation des technologies des site déjà existant (html, css, php, mysql)
      • Les logiciels open sources sont préférable, de par la quantité de documentation qu'ils proposent ainsi que leur gratuité.
  • Liste des solutions logicielles :

    Ne sachant pas par ou commencer, nous avons premièrement exploré les solutions les plus vantées en ligne. Nous comparerons donc NGINX, APACHE, et LiteSpeed [7]

  • Logiciels serveurs WEB : [8]

    • APACHE : Reconnu pour sa flexibilité, son éventail de modules très customisable, il représentait 36% du marché au 1e septembre 2020
    • NGNIX : Designé pour supporter un grand nombre de requête, il représente 32.5% du marché.
    • LiteSpeed : Solution propriétaire se voulant plus rapide qu'apache

    Quelques caractéristiques :

  • LiteSpeed:

avantages:

  • Architecture orientée evenement, ce qui lui permet de gèrer plus facilement et rapidement des connections[1]
  • Optimisé pour PHP[1]
  • Possibilité de mettre à jour et redemarrer le serveur sans rendre le serveur indisponible[1]
  • Consomme peu de ressources CPU [2]
  • Vendu comme logiciel commercial, donc orienté vers une meilleure sécurité [2]

inconvénients:

  • Incompatible avec windows[1]

  • technologie propriétaire[1]

    • Apache:

Avantages:

  • Technologie open-source [3]
  • Très customisable, donc adaptable à de nombreux besoins [3]
  • Utilisable sur tout système d'exploitation [3]
  • Logiciel très utilisé, donc une grande communauté qui travaille dessus, des mises a jours fréquentes et une plus grande facilité à trouver des réponse à des problèmes. [3]

Inconvénients:

  • La grande customisablité ouvre des risques de faille de sécurités en cas de mauvaise gestion, mais aussi d'avantages de bugs. [3]

  • Il requiers des mises a jours fréquentes pour assurer son bon fonctionnement. [3]

    • Nginx:

Avantages:

  • Technologie open-source [4]
  • Architecture orientée evenement, ce qui lui permet de gèrer plus facilement et rapidement des connections [4]
  • Consomme peu de ressources, ce qui le rend moins couteux. [4]
  • Offre des temps de chargement de page court, ce qui favorise la visibilité des site via des navigateurs internet tels que google. [4]
  • peu faire office de serveur proxy [5]

Inconvénients:

  • Peu customisable pour un logiciel open-source [4]
  • Moins performant quand utilisé sur Windows [6]
  • Logiciels serveurs DB :

    • MySQL: Le site web de l'entreprise impose l'utilisation de MySQL.
  • Choix et justifications :

    • Logiciel WEB :

      LiteSpeed offre des performances très intéressantes, mais c'est un logiciel propriétaire, donc pas utilisable dans ce projet. Nous approfondirons donc la comparaison entre NGNIX et APACHE.
APACHE NGINX
customisabilité hautement customisable, grace à de nombreux modules peu customisable pour un logiciel open source
gestion du pages dynamiques gêre les pages dynamiques rapidement et sans avoir besoin d'ajouts nécessite des ajouts externes pour bien gerer des pages dynamiques
support ipv6 activé par défaut activé par défaut
sécurité bonne sécurité, mais plus vulnérable en fonction de la configuration bonne sécurité
consommation de ressources moins efficient que nginx consomme moins de ressources CPU tout en étant plus performant

A première vue les deux logiciels semblent se valoir, les lacunes d'apache sont peu susceptibles de poser problème dans un projet de cette taille, nous ne risquons pas de faire beaucoup de configuration risquées et les sites étant petit, ils ne risquent pas d'atteindre un point ou les moindres performances d'apache se remarquent.

Cepandant nous pourions penser qu'apache à l'avantage de ne pas nécessiter d'ajouts pour tourner une page dynamique (php), mais qquelques recherches sur dockerhub fournissent des moyens très simples de mettre en place une solution ngnix tout aussi facile d'utilisation pour du php. De plus, dans le cadre de l'orientation développement durable de l'entreprise, ngnix semble un candidat de choix de par son faible cout en ressource.

Nous partirons donc sur la solution nginx.

  • Conclusion :

D'une manière générale, il semble qu'apage et Nginx se valent la pluspart du temps, l'avantage d'Apache est sa customisabilité, tandis que l'avantage de Nginx est ses performance et faible cout. Notre intéret pour un serveur complexe et customisé sur mesure etant moindre, nous nous orientrons donc vers la solution Nginx.

L'entreprise disposera donc de:

Un serveur Nginx public, placé dans une DMZ, qui hébergera mes deux sites publics de woodytoys.

Un serveux Nginx privé, placé dans la trusted zone, qui hébergera l'erp.

Un serveur de base de donnée Mysql, placé dans une zone intermédiaire entre la trusted zone et la DMZ.


Bibliographie :

[1] W. Morris, « What is LiteSpeed Web Server Software? », 21 avril 2022 (consulté le 17 mars 2023).

[2] Rado, « LiteSpeed Web Server For High Speed & Performance », 13 mars 2023 (consulté le 17 mars 2023).

[3] F. Fahim, « What is Apache Web Server? (Pros and Cons of Apache) », 17 juillet 2022 (consulté le 17 mars 2023).

[4] W. Morris, « What Is NGINX? An Overview of the Basics », 27 mars 2022 (consulté le 17 mars 2023).

[5] coolicehost, « Ten Great Advantages of Nginx », s.d. (consulté le 17 mars 2023).

[6] R. B., « NGINX vs Apache – Choosing the Best Web Server in 2023 », 21 décembre 2022 (consulté le 17 mars 2023).

[7] Stackscale., « Which are the most used web servers? » (consulté le 17 mars 2022), 5 septembre 2022.

[8] M. Thomas, « LiteSpeed vs NGINX vs Apache: Web Server Showdown », 28 février 2023 (consulté le 17 mars 2023).