Installation de DevStack

DevStack est un projet dont le principe est de déployer rapidement un environnement de développement et de test du projet OpenStack. DevStack supporte Ubuntu 16.04 / 17.04, Fedora 24/25, CentOS / RHEL 7, ainsi que Debian et OpenSUSE. Dans cet article, nous installerons la version Ocata d’OpenStack. DevStack installe par défaut les modules : Keystone : Système d’identification. Nova : Module s’occupant de la virtualisation des machines. Cinder : Stockage. Neutron : Module réseau. Horizon : Interface web. Attention : DevStack n’est pas fait pour être redémarré. Il ne peut donc pas être utilisé comme environnement de production. ...

7 juin 2018 · 3 min · Flavien Jourdren

Réaliser une API REST

Le principe est de découper l’application sous forme de ressources que les clients peuvent utiliser au travers de requêtes HTTP. Cette architecture destinée aux systèmes distribués a été créée en 2000 par Roy Fielding dans sa thèse de doctorat. L’intérêt d’une API REST est de rendre les ressources de l’application utilisables par tous les composants de celle-ci. Cela permet de mettre en place des micro-services, de la portabilité, de donner accès à certaines fonctionnalités à des personnes extérieures… ...

6 juin 2018 · 3 min · Flavien Jourdren

Déploiement continu et automatique avec Docker et Jenkins

Le but de ce tutoriel sera de mettre en place le déploiement continu & automatique d’une application avec Jenkins sur une architecture Docker. Le déploiement continu & automatique est l’un des concepts clés du mouvement DevOps. Le but de la manoeuvre est de favoriser l’industrialisation d’une application en permettant à un système : de tester l’application, de construire l’image du conteneur et de mettre celui-ci en production. ...

14 avril 2018 · 6 min · Flavien Jourdren

Rappel sur la répartition de charge

La répartition de charge est l’un des concepts essentiels à la mise en place d’architectures capables d’absorber une charge importante et résistantes aux pannes. Il s’agit d’un ensemble de techniques permettant de distribuer une charge de travail entre différents ordinateurs d’un groupe. Les domaines d’utilisation de la répartition de charge sont de plus en plus nombreux en particulier avec l’avènement du cloud et des architectures de données décentralisées. Ainsi ces techniques sont utilisées dans : les supercalculateurs, les services HTTP à forte audience, les bases de données nécessitant un accès permanent, le big data, l’entraînement des réseaux neuronaux, etc. ...

7 avril 2018 · 3 min · Flavien Jourdren

Installation de Jenkins

Jenkins est un outil d’intégration continue Open Source développé en Java. Ajout des dépôts pour installer Java 8 Ajout des dépôts : echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list Ajout du certificat de vérification des paquets : apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886 Mise à jour des dépôts : apt-get update Installation de Java 8 Installer le paquet de java 8 et accepter ses conditions d’utilisation : ...

6 avril 2018 · 2 min · Flavien Jourdren

Création d'un serveur MySQL Master-Master avec load balancing

Cet article traitera de la procédure de mise en place d’un serveur MySQL Master-Master (et Master-Slave) avec un système de load balancing utilisant l’algorithme round robin (grâce à HAProxy). Dans l’exemple nous aurons trois serveurs, un gérera la répartition de charge (qui se nommera SRV-LBSQL et aura l’adresse IP 10.0.0.100) et deux serveurs MySQL connectés l’un avec l’autre (ayant respectivement pour nom SRV-MYSQL01 et SRV-MYSQL02 et les adresses IP 10.0.0.1 et 10.0.0.2). Chaque serveur MySQL traitera à tour de rôle une requête SQL. Les serveurs de base de données répliqueront les informations l’un à l’autre grâce à une technique de double relation Master-Slave. ...

28 mars 2018 · 6 min · Flavien Jourdren

Découverte & Présentation de Vagrant

Vagrant est une solution Open Source créée pour la configuration automatique de machines virtuelles et de conteneurs. Vagrant permet par exemple de configurer la quantité de RAM, la quantité de CPU, les paramètres réseaux et le nom d’hôte. Il peut ensuite automatiquement exécuter des scripts de gestion de configuration (Ansible, Chef, Puppet, etc.). Ces scripts vont permettre l’installation et la configuration des paquets via le protocole SSH. La première version est sortie le 8 mars 2010 et était développée par Mitchell Hashimoto et John Bender en Ruby. Vagrant est par défaut compatible avec les services de virtualisation suivants : ...

27 mars 2018 · 4 min · Flavien Jourdren

Installation d'un environnement de test Ethereum sur Linux

Depuis quelque temps je m’intéresse à la blockchain Ethereum, en particulier à la fonctionnalité de “Smart Contract”. Il s’agit d’un script qui est déployé sur la blockchain et que les mineurs exécutent en échange d’une somme d’argent variable en fonction du contenu du script. Mais pour tester ces smart contracts, il faut installer un réseau Ethereum privé. Ce tutoriel nécessite une compréhension minimale de la blockchain Ethereum et des systèmes de “Proof of Work”. ...

26 mars 2018 · 3 min · Flavien Jourdren

Découverte & Présentation d'Ansible

Ansible est une solution open source de gestion de configuration qui se présente sous la forme d’un script qui effectue des actions définies par l’utilisateur via le protocole SSH sur une ou plusieurs machines. Elle permet d’automatiser des tâches comme des installations sur un grand nombre de machines tout en personnalisant les configurations. Le logiciel possède de nombreuses extensions qui permettent de ne pratiquement jamais avoir recours à l’utilisation de commandes Linux brutes dans les scripts. Tous ces modules permettent aussi à Ansible de tester s’il est nécessaire d’exécuter une tâche en fonction de l’état de la machine, ainsi si l’on indique de démarrer un processus mais qu’il est déjà démarré sur le serveur, Ansible ne perdra pas de temps et passera à l’action suivante. Cette solution permet par exemple d’installer automatiquement les services nécessaires à un serveur, passer du code en production automatiquement, etc. ...

25 mars 2018 · 3 min · Flavien Jourdren

Création d'un Remote Git

Le Remote est le système de sauvegarde réseau de Git. Ainsi, le site GitHub n’est ni plus ni moins qu’un gestionnaire de Remote avec une interface Web. La connexion se fera au travers du protocole SSH. Installation de Git sur le serveur sudo apt-get install git Création de l’utilisateur Git L’utilisateur « git » nous permettra d’interagir avec le dépôt distant. sudo adduser --system --shell /bin/bash --group --disabled-password --home /var/git/ git On change ensuite le propriétaire du répertoire « /var/git », en effet il est créé au moment de l’installation de git et il est le répertoire home de l’utilisateur git. ...

22 mars 2018 · 2 min · Flavien Jourdren