[TP] Mise en place de l'environnement de test


Pour ce TP, nous allons présenter notre solution basée sur Vagrant pour créer en local un environnement de test.

Ce que vous allez apprendre dans ce TP :

Oracle VM virtualbox

Nous allons utiliser Virtualbox pour déployer nos VMs de tests. Certains TPs seront faits sur Docker donc si vous avez déjà un moteur Docker vous pourrez l'utiliser au lieu de déployer une nouvelle VM.

Vous devez procéder à l'installation de Virtualbox en suivant la procédure correspondante à votre système :

https://www.virtualbox.org/wiki/Downloads

Hashicorp Vagrant

Nous allons utiliser Vagrant pour déployer automatiquement des environnements de tests. Pour en savoir plus sur Vagrant, vous pouvez suivre notre formation dédiée.

Vous devez procéder à l'installation de Vagrant en suivant la procédure correspondante à votre système :

https://developer.hashicorp.com/vagrant/install

Du concept à l'expertise

Nous avons préconfiguré un repo pour la formation.

  1. Repo git

    Vous pouvez utiliser la commande ci-dessous pour cloner le repo:

    git clone https://github.com/RousselTM/docker-formation
  2. Choix de l'environnement

    Les configurations des environnements de test se trouvent dans le dossier tp. Dans ce dossier il y a plusieurs sous dossiers chacun correspondant à un environnement de test : VM simple, VM avec Docker, VM avec application... En fonction du TP on précisera lequel utiliser:

    cd elasticsearch-kibana-formation/tp
  3. Création de l'environnement

    Une fois dans le dossier qui correspond à l'environnement souhaité, vous pouvez lancer la création de l'environnement sur Virtualbox avec la commande Vagrant suivante

    vagrant up
  4. Accès à la VM
    Vous pouvez accéder à la VM en lançant la commande suivante :
    vagrant ssh rousseltm-formation

Niveau de difficulté: (1/5)

Glossaire de la formation

Micro-services

Architecture où une application est divisée en plusieurs petits services indépendants, souvent déployés dans le Cloud.

Docker

Outil permettant de virtualiser et packager des applications à l'intérieur de conteneurs légers pour un déploiement optimal.Exemple de déploiement d'u...

Prometheus

Système open source de surveillance et d'alerte, particulièrement adapté pour la collecte de métriques dans des environnements dynamiques (comme Kuber...

Kubernetes

Plateforme open source d'orchestration de conteneurs permettant d'automatiser le déploiement, la mise à l'échelle et la gestion des applications conte...

CI/CD

Intégration Continue et Déploiement Continu. Pratiques DevOps visant à automatiser les tests et le déploiement des applications pour livrer plus rapid...

Terraform

Outil d'Infrastructure as Code (IaC) permettant de définir et de provisionner des ressources d'infrastructure cloud et on-premise via des fichiers de ...

Métriques

Mesures numériques collectées à intervalles réguliers (ex: CPU, RAM, temps de réponse) utilisées pour évaluer l'état de santé global d'un système au f...

DevOps

Culture, mouvement et pratiques visant à unifier le développement logiciel (Dev) et l'administration des infrastructures informatiques (Ops).

API Gateway

Passerelle servant de point d'entrée unique pour l'ensemble des requêtes vers des architectures micro-services. Elle gère le routage, la sécurité et l...

Architecture

Conception globale et structurelle d'un système informatique, définissant ses différents composants, leurs relations et les principes guidant son évol...

Artefact (Artifact)

Résultat final d'un processus de compilation ou de construction logicielle (build), tel qu'un fichier .jar, une archive zip ou une image Docker, prêt ...

Repository

Dépôt de stockage centralisé. Peut désigner un dépôt de code source (ex: Git) ou un dépôt d'artefacts et binaires (ex: Harbor, Nexus, Artifactory).

Ansible

Outil open source d'automatisation informatique (IaC) permettant la gestion des configurations, le déploiement d'applications et l'orchestration, fonc...