Home Creators Posts Import Register Favorites Logout

Content

Comme vous le savez sûrement, au fil du temps le blog korben.info est devenu un site conséquent et par son nombre de page que par sa sollicitation.Régulièrement,  nous cherchons et mettons en place divers outils ou méthodes dans le  but d’optimiser son exploitation, c’est à dire le rendre plus  performant, plus rapide, mais aussi plus stable. Inévitablement il arrive que soit l’infrastructure elle-même qui nécessite une optimisation.

Ces derniers temps, nous avons étudié la possibilité d’une  transition vers une nouvelle forme d’infrastructure. Cette forme,  récemment popularisé sous le nom un peu buzzword de  « serverless », propose de distinguer les différentes parties d’une  structure web classique pour les placer dans des environnements qui leur  sont adaptés et ainsi optimiser à chaque étape.

De manière générale, nous avons définis les objectifs avec les points suivants.

Optimiser le rendu web pour gagner en performances et en dynamisme ;

Bénéficier d’un dimensionnement dynamique pour absorber le trafic tout en économisant des ressources ;

Réduire la surface d’attaque pour maximiser sa sécurité ;

Favoriser la portabilité pour simplifier le changement de solution ou de prestataire.

Dans ce dossier, nous vous proposons d’explorer et de mettre en place un schéma d’infrastructure serverless, étape par étape.

Notre dossier sur l’infrastructure serverless

Infrastructure Serverless – Partie 1 : Générateur de site

Infrastructure Serverless – Partie 2 : Hébergement statique (cet article)

Infrastructure Serverless – Partie 3 : Gestion de contenu (à venir)

Infrastructure Serverless – Partie 4 : Fonctions cloud (à venir)

Infrastructure Serverless – Partie 5 : Micro-services et conclusion (à venir)

<figure></figure>

Hébergement statique

L’origine

Le bon vieux temps du serveur dédié pour un « simple » site web parait déjà loin.

En sortie de notre précédente partie, nous avons un ensemble de  fichiers HTML et les ressources respectives qui ne nécessitent aucun  traitement supplémentaire, à priori.Et puisque qu’il n’y a plus qu’à  les distribuer dans leur plus simple appareil, on aimerait bien éviter  d’installer un serveur Nginx sur un dédié, de configurer l’envrionnement  pour Apache httpd sur un mutualisé, ou même plus généralement de  paramétrer quoi que se soit.

Le principe

L’hébergement statique part du principe que pour des fichiers  statique, le coût CPU est négligeable, que le risque de la mutualisation  est nulle puisque sans compilation, et que donc la personnalisation est  minimale.

En revanche, la proximité est élément important. Utiliser un CDN  permet de réduire la distance parcourue pour les requêtes, et de gagner  du temps. Être directement placer sur CDN est donc le Saint Graal.

La solution

La caractéristique commune est donc d’accepter en entrée des fichiers  statiques (HTML/CSS/JS) et de les distribuer sur un réseau CDN à  moindre coût déjà paramétré pour les performances.

<figure></figure>

L’intérêt étant de se passer de la gestion d’un serveur tout en  améliorant nettement les performances sur les temps de réponse, aucun  traitement à la volée n’étant requis.

Par ailleurs, les pages étant statiques, le déplacement du site  d’un hébergement statique à un autre est particulièrement facile.

L’hébergeur statique s’intègre généralement dans l’étape de la  génération du site, pour une gestion du cache de compilation (évitant  une régénération complète de l’intégralité des pages à chaque  déclanchement) et pour une gestion des version.

L’usage simple

La référence dans l’hébergement statique est Netlify. Très simple sur la mise en place et avec quelques fonctionnalités pré-intégrées intéressantes.

Beaucoup d’autres solutions existent, dont Cloudflare Page,  particulièrement attractive sur la tarification car sans limitation sur  le nombre de sites, de requêtes et de bande passante, et tout aussi  simple.

L’utilisation de Cloudflare Page s’intègre parfaitement avec l’offre  CDN, mais elle n’est pas obligatoire, et supporte les fonctions cloud  via ses Workers (voir la partie Fonctions cloud).

Une petite documentation est disponibles, mais la mise en place est toute simple.

On relie le compte GitHub avec le service de Cloudflare.

On sélectionne le dépôt.

<figure></figure>

On active le bon framework pour partir avec des valeurs par défaut adaptées.

<figure></figure>

Et on lance le déploiement.

La première compilation va se lancer automatiquement, puis de même à chaque nouveau commit sur le dépôt.

<figure></figure>

Le résultat

Le site est ainsi automatiquement compilé et déployé en statique sur  un réseau de contenu adapté (en l’occurrence le CDN Cloudflare).

<figure></figure>

On a donc obtenu satisfaction vis à vis de nos objectifs principaux :

Optimiser le rendu web pour gagner en performances et en dynamisme ;↪ En effet tout le travail de rendu est géré par la compilation avant le déploiement sur le CDN.

Bénéficier d’un dimensionnement dynamique pour éviter la réservation inutile de ressources ;↪ Le CDN gère tout seul les ressources dont il a besoin pour répondre correctement.

La suite

Une fois le site statique déployé sur un hébergement statique, c’est  certes tout beau et tout rapide, si l’on veut efficacement y ajouter du  contenu concret on est bloqué. Pour y remédier, on introduit un  gestionnaire de contenu adapté, et ce sera le sujet de notre prochain  article de la série.

Comments

No comments found for this post.