Formations personnalisées et adaptées à tous.
Formations personnalisées et adaptées à tous.
Parcours Ingénieur de production
Le métier d’exploitation en informatique regroupe l’ensemble des activités de maintien en condition opérationnelles, ainsi que la maintenance corrective et évolutive des systèmes et applications.
L’exploitant informatique garantit le bon fonctionnement de l’ensemble du parc informatique et infrastructures. Il est le garant de la performance et de la disponibilité de l’ensemble des outils informatiques.
L'exploitant informatique ou ingénieur de production informatique, est en charge de rédiger ou d’appliquer des procédures d’exploitation, et de surveiller le parc informatique en temps réel. Ces procédures peuvent comprendre des sauvegardes de données, des automatisations de fonctionnalités des outils informatiques.
À l’issue de la formation, le participant sera en mesure de :
Acquérir les compétences techniques nécessaires pour devenir opérationnel sur les technologies présentes chez les clients grands comptes
Comprendre le vocabulaire technique utilisé dans le domaine de la production informatique
Mise en œuvre de solutions méthodologiques et techniques permettant d’optimiser la production informatique.
Installer et configurer les outils nécessaires à l’exploitation d’Unix dans un cadre professionnel et réaliser des tâches d'administration et d’exploitation courantes
Connaitre l’architecture et maitriser l’installation, la configuration et l’exploitation des serveurs d’applications
Maitriser l'architecture en cluster et load balancing
Intégration et déploiement de solutions applicatives
Connaître l'architecture des SGBD
Savoir réaliser les tâches d'administration courante et exploiter une base de données
Connaître l’architecture, les fonctionnalités de la supervision
Savoir installer, configurer, administrer et exploiter les outils de supervision
Savoir surveiller et gérer un environnement de production ainsi que créer des tâches avec l’ordonnanceur Control-M
Pré requis
Connaissance d’un langage de programmation
Profil concerné
Etudiant de l’enseignement supérieur (BAC +4/5) en école d’ingénieur ou cycle universitaire scientifique ou technique ayant validé un diplôme de master
Linux
Introduction UNIX
Accès à distance en SSH avec PuTTY
Commandes fondamentales Linux
Utilisateurs et groupes
Utilisateurs
Groupes
Droits sous Linux
Quelques notions
Fonctionnement des permissions
Lire ses droits
Définir les droits
Ajouter ou ôter des droits
Changer les utilisateurs et groupes sur les fichiers
LVM : Gestionnaire de volumes logiques
L’architecture de LVM
Installation des outils LVM
Services sous Linux
SystemV
Systemd
Gestion des services systemd
Démarrage et arrêt des services
Arrêter un service en cours d’exécution
Redémarrage et rechargement des services
Affichage de l'état du service
Vérifier si un service est actif
Vérifier si un service est activé
Affichage de l'état du système
Lister tous les services installés
Commande ssh
Configuration de la connexion
scp : transfert de fichier à travers une connexion ssh
SFTP : transfert des fichiers avec un serveur distant
Introduction
Comment se connecter avec SFTP
Naviguer avec SFTP
Transférer des fichiers avec SFTP
Transférer des fichiers distants vers le système local
Transférer des fichiers locaux vers le système distant
YUM
Lister les dépôts
Recherche
Installation d'un paquet
Mise à jour
Suppression
Information
RPM
Installer un paquet RPM
Mettre à jour un paquet avec RPM
Forcer l'installation d'un paquet récalcitrant
Supprimer un paquet
Interroger les paquets
Crontab
Installation de Cron
Configuration
Utilisation de la crontab
Projet
Shell
Installer un nouveau Shell
Shebang
Premier script
Exécution avec débogage
Variables
Interaction utilisateur
Les back quotes ` `
Les opérations numériques
Structures conditionnelles
Les boucles
Fonctions
Projet 1 : Rotation de logs
Projet 2 : Vérification de processus et services
Projet 3 : Vérification de présence de fichiers sur un serveur distant
Projet 4 : Supervision File System
GIT
Introduction
Qu’est-ce que Git
Qu’est-ce que GitHub
Installation de Git
Configurer Git
Accès en SSH à un dépôts Git distants (GitHub)
Fonctionnement du protocole SSH
Génération des clés SSH
Mise en place du SSH sur GitHub
Démarrer un dépôt Git
Gestion des commit
Versionner sur un dépôt distant
Cloner le dépôt en SSH
Télécharger les nouveautés et partager votre travail
Les branches avec Git
Merge
Rebase
Projet
Oracle
L’architecture d’Oracle
La Base de Données
Instance Oracle
Processus d'arrière-plan
Administration
Démarrage et arrêt d'une base
Tablespaces
Création base de données
Création Schémas
Rôles et groupes et droits
Sauvegarde et Restauration
Erreurs récurrentes Oracle
PostgreSQL
Installation et configuration
Démarrer et arrêter l'instance
Processus
Sessions
Client psql
Client pgAdmin
Création base de données
Création Schémas
Rôles et groupes et droits
Administration avec PgAdmin
Sauvegarde et Restauration
Supervision
Introduction à la supervision
Architecture générale
Node Exporter
Prometheus
Grafana
Installation et configuration
Installation Grafana
Ajouter le référentiel Grafana yum
Installer Grafana
Démarrer le service Grafana
Ouvrir le port firewall de Grafana
Accéder à Grafana
Installer Prometheus
Configurer le service Prometheus
Installation de Node Exporter pour surveiller les métriques du système
Téléchargement de Node Exporter
Créer le service Node Exporter
Configurer l'exportateur de nœuds en tant que cible Prometheus
Supervision avec Grafana
Création data source
Créer un Dashboard
Ajout d'une ligne
Ajout de variables
Ajout de visualisation
Importation et exportation de tableaux de bord
Web services
API (Application Programming Interface)
SOAP et REST
Le protocole SOAP (Simple Object Access Protocol)
Structure et propriétés du WSDL
L'architecture REST (Representational State Transfer)
Table de comparaison SOAP / REST
Installation java JDK sur Windows
Téléchargement du JDK
Installation
Analyse contenu et répertoires du jdk
Test de l’installation
Intégrer Tomcat dans Eclipse
Créer un projet de service Web
Créer un nouveau projet
Créer un package
Créer une classe dans le package
Tester le web service avec SoapUI
Créer un projet SOAP
Renseigner le WSDL
Appeler le web service
Oracle WebLogic
Introduction
Architecture
Domaine
Serveur d'administration
Serveur géré
Cluster
Gestionnaire de nœuds
Assistant de configuration
Supprimer un domaine WebLogic
Script arrêt relance WebLogic
Serveur d’administration
Serveurs managés
Emplacement log WebLogic
Logs Amin Server
Logs Node
Console d’Administration WebLogic
Déploiement
Travaux pratiques
Apache
Installation et configuration
Configuration d’un site web sous apache
Sécurisation de site web grâce https
Mise en place de l’équilibrage des charges avec HAproxy
Configuration HAproxy en tant qu'équilibreur de charge
Configuration des serveurs : servers Backend
Configuration de l'équilibreur de charge HAproxy serveur frontal
Tomcat
Installation et configuration
Activation de l'accès à distance à Tomcat
Accédez à l'interface Web Tomcat
Connecteur http
Connecteur AJP
Déploiement manuel
Pilote JDBC pour MySQL
Création et configuration datasource
Démarches de projet informatique
Les services qui participent à un projet informatique
La Maîtrise d’Ouvrage (MOA)
La Direction des Systèmes d’Information (DSI)
Le Service de Production et d’Exploitation
Les étapes d’un projet informatique
Expression des besoins et rédaction du cahier des charges
Constitution de l’équipe MOA
Rédaction et réception de la SFG (Spécification fonctionnelle générale)
Rédaction des SFD
Rédaction des normes de développement et développement
Phases de tests
L’échantillonnage des données
Tests unitaires
Tests d’intégration
Tests de recette
Tests de non régression
Tests de performance ou de montée en charge
Préparation d’un environnement de formation
Mise en production
Le déploiement
Réunions
Les interviews
Réunions fonctionnelles
Réunions de suivi
Réunions de pilotage
Interlocuteurs et taches
Les tâches de l’assistant MOA
Les tâches de l’assistant MOE
Les tâches de l’Ingénieur de Développement
Parcours DevOps
DevOps est une combinaison des termes développement et exploitation, celui-ci représenter une approche collaborative ou partagée des tâches effectuées par les équipes de développement d'applications et d'exploitation informatique d'une entreprise.
L’approche CI/CD permet d’augmenter la fréquence de distribution des applications grâce à l’introduction de l’automatisation au niveau des étapes de développement et déploiement des applications.
À l’issue de la formation, le participant sera en mesure de :
Comprendre la démarche, le vocabulaire et les objectifs DevOps
Appréhender les avantages de DevOps pour l’entreprise
Connaître les concepts et pratiques DevOps
Mettre en œuvre les pratiques d'automatisation
Mettre en place une démarche d’intégration et de déploiement continu (CI/CD) avec Jenkins et Ansible
Appliquer DevOps dans un environnement d'entreprise
Aborder des exemples réels venant d'entreprise et comprendre les résultats
Configurer une infrastructure dans le Cloud sous AWS
Avoir suivi en partie le parcours Ingénieur de production
Etudiant de l’enseignement supérieur (BAC +4/5) en école d’ingénieur ou cycle universitaire scientifique ou technique ayant validé un diplôme de master
Chaine CI/CD
Définitions
Comprendre la culture DevOps
DevOps et l’automatisation
Intégration classique / Intégration continue (CI : Continuous Integration)
Livraison classique / Livraison continue
Déploiement classique / Déploiement continue (CD : Continuous Deployment)
Jenkins
Définitions
Installation et configuration OpenJDK
Installation et configuration MAVEN
Installation et configuration Tomcat
Installation et configuration Jenkins
Gestion rôles et utilisateurs
Intégration Gitlab dans Jenkins
Configuration coté Gitlab
Automatisation de déclenchement de pipeline Jenkins
Installation et configuration de plugin Deploy to container
Projet 1 : Intégration Manuelle
Projet 2 : Intégration continue / Pipeline Git-Gitlab Jenkins
Projet 3 : Déploiement Manuelle
Projet 4 : Déploiement Automatique avec Jenkins CD
Ansible
Définitions
Composants Ansible
Installation et configuration Ansible
Inventaires Ansible
Modules Ansible
Commandes AD-HOC
Ansible Handler
Playbooks Ansible
Ansible playbooks avec variables
Ansible multiple playbook
Ansible setup module
Les conditions avec les playbook when
Ansible loops
Ansible templates
Ansible Vault
Ansible Roles Form & Function
Ansible Galaxy
Projet : Atelier Ansible
Docker
Définitions
La virtualisation : avantages / inconvénients
La conteneurisation : avantages / inconvénients
Les différences entre la virtualisation et la conteneurisation
Installation et configuration Docker
Commandes Docker
Fonctionnement et manipulation des images Docker
Publication images Docker dans Hub Docker
Docker Hub Registry
Fonctionnement et manipulation des volumes dans Docker
Fonctionnement et manipulation du réseau dans Docker
Gestion des conteneurs avec le Docker Compose
Dockerfile
Affichage et manipulation des logs d'un conteneur
Projet : Atelier Docker
Kubernetes et micro-services
Définitions
Architecture
Les objets Kubernetes
Composants Nodes / Workers
Installation et configuration Kubernetes
Communication avec le cluster
Déploiement d'un cluster k8s
Gérer et manipuler les Pods Kubernetes
Gérer et manipuler les ReplicaSets Kubernetes
Gérer et manipuler les Deployment Kubernetes
Gérer et manipuler les Services Kubernetes
Gérer et manipuler les namespaces
Supervision dans kubernetes
Supervision cluster Kubernetes avec Prometheus et Grafana
Projet 1 : Implémentation d'un Metric Server
Projet 2 : Implémentation du Dashboard K8s (Tableau de Bord)