Phase 4: Les fondamentaux du DevOps
Comment s'applique cette phase au cloud?
DevOps consiste à faire en sorte que vos solutions fonctionnent efficacement, du déploiement aux mises à jour. Ce n'est pas spécifique au Cloud, car vous pouvez également mettre en œuvre des pratiques DevOps on-prem.
DevOps est une culture dans laquelle les équipes de développement et d'opérations ne sont plus isolées. Ces deux groupes convergent en un seul groupe où les ingénieurs travaillent sur l'ensemble du cycle de vie des applications, du développement et des tests au déploiement et aux opérations, et favorisent un champ de compétences qui ne se limite pas à une seule fonction.
Renseignez-vous sur ce qu'est DevOps. Chaque plateforme de cloud dispose d'une suite d'outils DevOps. J'ai mis en lien quelques articles ici :
Je pense aussi que cela vaut la peine de lire Le projet Phoenix (Anglais) C'est une lecture assez amusante car il s'agit d'une histoire fictive qui explique l'importance de DevOps. Mais si vous préférez quelque chose qui ressemble plus à un manuel avec des idées similaires, jetez un coup d'œil à Le manuel du DevOps (Anglais).
Comment décomposer cette phase
- Intégration continue et livraison continue (CI/CD)
- Système de contrôle des versions (VCS)
- Infrastructure as Code (IaC)
- Gestion de la configuration
- Monitoring (logs, métriques, traces) Je vous suggère de consacrer du temps à ces sujets et à cette chronologie :
Ordre | Sujet | Temps à devouer |
---|---|---|
1 | CI/CD avec GitHub Actions | 2 semaines |
2 | IaC avec Terraform | 2 semaines |
3 | Monitoring avec Prometheus | 2 semaines |
4 | Conteneurs avec Docker | 1 semaine |
5 | Orchestration de conteneurs avec Kubernetes | 1 semaine |
Bien sûr, n'hésitez pas à y consacrer autant de temps que vous le souhaitez. Les gens m'ont demandé une chronologie et une décomposition, je l'ai donc ajoutée. Chaque pratique DevOps est importante, mais celles-ci sont les plus utilisées au niveau débutant/junior. Vous devriez déjà être familier avec le contrôle de version de la phase 2.
Resources
Pratique | Outil |
---|---|
Les séries DevOps de Rishab (Anglais) | Explication de certains des concepts fondamentaux de DevOps. |
Apprendre les actions GitHub | Ce guide vous aidera à utiliser les actions GitHub pour accélérer les flux de développement de vos applications. |
HashiCorp Learn | Construisez, modifiez et détruisez votre infrastructure avec Terraform. Commencez ici pour apprendre les bases de Terraform avec votre fournisseur de cloud préféré. |
Cours d'ingénierie DevOps de FreeCodeCamp (Anglais) | Apprenez tout sur DevOps dans ce cours complet pour les débutants avec trois tutoriels techniques. |
Docker (Anglais) | Cours pratique complet sur Docker avec de nombreuses démonstrations et explications des concepts derrière, afin que vous le compreniez vraiment. |
Docker et Kubernetes (Anglais) | Apprenez les principes fondamentaux de Docker et Kubernetes dans ce cours pratique complet. |
Prometheus (Anglais) | Tutoriel complet sur Prometheus Monitoring |
Projets
Titre | Ressource |
---|---|
Déployer une application sur Azure avec ARM | ARM est un outil IaC utilisé avec Azure |
Ticket Crypto-dot-net Dockerisé | Nous Dockerisons le projet de ticker crypto-dot-net que nous avons construit dans la phase 3. |
Exercices de DevOps | Cette repo Exercices de DevOps contient des questions et des exercices sur divers sujets techniques liés à DevOps et SRE |
Le parcours DevOps avec Azure DevOps | Ce tutoriel/lab va vous emmener à travers un parcours DevOps en utilisant Azure DevOps. De la mise en place de votre pipeline au déploiement d'une application sur votre cluster Azure Kubernetes ! |
DevOps the Hardway - Azure | Ce tutoriel contient une solution complète et réelle pour la mise en place d'un environnement utilisant les technologies et pratiques DevOps pour le déploiement d'applications et de services/infrastructures cloud sur Azure. |
DevOps the Hardway - AWS | Ce tutoriel contient une solution complète et réelle pour la mise en place d'un environnement utilisant les technologies et pratiques DevOps pour le déploiement d'applications et de services/infrastructures cloud sur AWS. |
Les choses avec lesquelles vous devez être familier à la fin de cette phase
- Être capable d'expliquer chaque pratique DevOps
- Pourquoi chacune d'entre elles est importante.
- Ce que chacune d'entre elles accomplit.
- Les outils les plus populaires pour chaque pratique.
- Expérience pratique avec
- CI/CD
- IaC
- Contrôle de version
- Une compréhension de la surveillance de l'infrastructure et des applications et les notions de base des journaux, des métriques et des traces.