Automatiser le déploiement d’une infrastructure dans le CloudFondamentaux DevOps
● Comprendre les fondamentaux du DevOps● Acquérir les soft skills métier (communication, collaboration, rigueur)
Automatisation et scripting
● Automatiser la création de serveurs à l’aide de scripts● Créer des scripts d’automatisation pour Linux (Bash)● Créer des scripts d’automatisation pour Windows (PowerShell)● Créer des scripts d’automatisation avec un langage générique (Python)
Automatiser le déploiement d’une infrastructure
● Définir l’architecture système à déployer● Décrire la configuration des serveurs à déployer● Concevoir les scripts nécessaires au déploiement● Automatiser le déploiement d’infrastructure avec un outil de type Ansible
Sécuriser l’infrastructure
● Appliquer les recommandations de configuration d’un système GNU/Linux (ANSSI)● Mettre en place une méthode d’authentification sécurisée● Configurer le pare-feu du système● Déployer des certificats de sécurité
Mise en production dans le Cloud
● Mettre l’infrastructure en production dans le cloud● Prendre en compte l’offre de services d’un fournisseur cloud● Paramétrer les services cloud retenus● Préparer un environnement de test● Utiliser un outil de gestion des versions de code (GitHub)
Gestion applicative et donnéesInfrastructure de test
● Créer une infrastructure de test adaptée au projet● Récupérer les codes de l’application à mettre en production● Déployer l’application dans l’environnement de test
Méthodes de développement
● Comprendre la méthode Agile / Scrum● Appliquer la démarche CI/CD
Stockage et bases de données
● Gérer le stockage des données● Préparer et configurer le serveur de données● Définir et préparer le stockage des données et le protocole associé● Sauvegarder les données● Configurer la réplication● Comprendre les architectures de données SQL et NoSQL
Conteneurisation et orchestration
● Utiliser des images pour créer des conteneurs● Définir pour chaque conteneur les ressources nécessaires (CPU, mémoire, espace disque)● Connecter le conteneur au système hôte (réseau et stockage)● Automatiser la création des conteneurs avec Docker● Utiliser les conteneurs pour gérer les mises à jour applicatives● Automatiser la mise en production d’une application● Utiliser une plateforme d’orchestration de type Kubernetes● Tester les applications et faire remonter les erreurs aux développeurs
Supervision, performance et sécurité
● Définir et mettre en place des statistiques de services● Définir les indicateurs liés à l’utilisation des ressources systèmes (CPU, stockage, réseau)● Définir les indicateurs liés à la sécurité (accès, intrusion)● Définir les indicateurs de performance applicative● Exploiter une solution de supervision● Choisir, installer et configurer un outil de supervision● Installer et configurer une console de supervision
Communication et professionnalisation
● Consulter de la documentation technique rédigée en anglais● Échanger sur des réseaux professionnels, éventuellement en anglais● Mettre en place une démarche structurée de résolution de problèmes
Technologies, méthodes et outils abordés
1. Linux / administration système
→ serveurs, réseau, configuration, sécurité
2. Scripts
→ notamment Python / Bash pour automatiser la création de serveurs
3. Infrastructure as Code / automatisation
→ Ansible pour automatiser et contrôler le déploiement de l'infrastructure
4. Cloud
→ Azure, AWS ou autre cloud privé/public/hybride
5. Git / GitHub
→ gestion du code et des configurations
6. Docker / Containers
→ construire et gérer les conteneurs
7. CI/CD
→ automatiser les tests et la mise en production
8. Kubernetes
→ déployer l'application et ses mises à jour en production
9. Supervision / monitoring
→ métriques, alertes, surveillance des services