Hébergement et déploiement de services

Hébergement et déploiement de services

https://github.com/heig-vd-mvp-course

Web · PDF

L. Delafontaine et V. Guidoux, avec l'aide de GitHub Copilot

Ce travail est sous licence CC BY-SA 4.0.

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Plus de détails dans le support de cours

Cette présentation est un résumé du support de cours. Pour plus de détails, consultez le support de cours.

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Objectifs

  • Décrire comment héberger une application web selon le type de stack technologique
  • Décrire où héberger une application web selon le type de stack technologique
  • Décrire comment mettre en place un pipeline de CI/CD pour le développement/déploiement continu d'applications
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Héberger une application web

  • Consiste à rendre une application web accessible sur Internet
  • Nécessite un serveur web et un nom de domaine
  • Il existe plusieurs types d'hébergement (partagé, VPS, dédié, cloud, PaaS, SaaS, etc.)
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Obtenir un hébergement

Il existe plusieurs façons d'obtenir un hébergement :

  • Louer un serveur chez un fournisseur d'hébergement
  • Utiliser un service d'hébergement cloud
  • Utiliser un service d'hébergement PaaS/SaaS
  • Votre propre serveur
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Obtenir un nom de domaine

  • Un nom de domaine est une adresse web (ex. : https://example.com)
  • Permet d'accéder à votre application web
  • Peut être acheté auprès d'un registraire de noms de domaine
  • Peut être configuré pour pointer vers votre infrastructure
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Déployer une application web

  • Consiste à mettre en ligne une application web sur un serveur
  • Nécessite de transférer les fichiers de l'application sur le serveur
  • Peut être effectué manuellement ou automatiquement
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Déployer des sites statiques

  • Déjà exploré lors de précédents cours (GitHub/GitLab Pages)
  • Hébergement de fichiers statiques (HTML, CSS, JS, images, etc.)
  • Extrêmement simple à mettre en place et peu coûteux
  • Peu de configuration à faire
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Déployer des sites dynamiques

  • Contenu généré dynamiquement (ex. : PHP, Node.js, Ruby, etc.)
  • Nécessite un serveur d'application pour exécuter le code
  • Peut nécessiter une base de données pour stocker les données
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Installation et configuration manuelle des outils

  • Manière "old-school" de déployer
  • Nécessite de configurer manuellement le serveur
  • Peut être complexe et long
  • Peut nécessiter des compétences techniques avancées
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Containerisation des services

  • Utilisation de conteneurs pour déployer des applications
  • Permet d'isoler les applications et leurs dépendances
  • Facilite le déploiement et la gestion des applications
  • Peut être effectué à l'aide de Docker ou d'autres outils
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Solutions PaaS et SaaS

  • Utilisation de services cloud pour déployer des applications
  • Permet de se concentrer sur le développement plutôt que sur l'infrastructure
  • Très simple à mettre en place mais peut être coûteux
  • Une des manières les plus efficaces de déployer des applications
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Outils communs pour héberger et déployer une application web

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Services d'hébergement

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Sites statiques

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Sites dynamiques

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Mettre en place un pipeline de CI/CD pour la livraison/le déploiement continu d'applications

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Que devons-nous faire manuellement (avant même d'utiliser un pipeline) ?

  • Review
  • Build
  • Test
  • Containerisation
  • Release
  • Deploy
  • Test E2E
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Pourquoi automatisons-nous ?

  • Minimiser les erreurs humaines
  • Gagner du temps
  • Standardiser le processus de déploiement
  • Documentation du processus de déploiement
HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Que pouvons-nous automatiser (ou non) ?

TOUT

En fonction du temps et de l'effort que vous êtes prêt à investir.

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Formes d'automatisation

Posez-vous la question, quelles ressources avez-vous à disposition ? Quelle connaissances avez-vous ?

Suivant la réponse, vous allez choisir une forme d'automatisation différente.

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Forme "Push"

Avantages:

  • Simple
  • Rapide
  • Peu de configuration

Inconvénients:

  • Peu flexible
  • Pas de contrôle sur le processus de déploiement

Exemples : Heroku, Render, Railway, Vercel

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Forme "Pull"

Avantages:

  • Flexible
  • Contrôle total sur le processus de déploiement

Inconvénients:

  • Plus complexe
  • Plus long à mettre en place

Exemples : GitHub Actions, GitLab CI/CD, Jenkins, Travis CI, Exoscale, AWS, Google Cloud, Azure

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Questions

Est-ce que vous avez des questions ?

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

À vous de jouer !

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Sources (1/3)

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Sources (2/3)

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0
Hébergement et déploiement de services

Sources (3/3)

HEIG-VD - MVP Course 2024-2025 - CC BY-SA 4.0

URLs

Illustrations