You develop web applications, APIs, or backend services and want to better understand how to deliver them properly in a modern environment.
In this practical DevOps training course, you will learn how to industrialize an application from start to finish: containerization with Docker, local orchestration with Docker Compose, automation with a CI/CD pipeline, image building, registry publication, deployment, configuration, logs, health checks, and basic security best practices.
Presentation of the course objectives.
Understanding the difference between DevOps as a culture and DevOps as a technical practice.
Identifying the steps of a modern software delivery cycle.
Understanding common issues: manual configuration, inconsistent environments, risky deployments, and lack of visibility.
Collaboration between development, operations, and quality assurance.
Automation of the delivery cycle.
Fast feedback.
Continuous integration.
Continuous deployment.
Continuous improvement.
Source code organization.
Configuration by environment.
Environment variables.
Dependency management.
Automated tests.
Reproducible builds.
Hands-on workshop:
Preparing an existing application for automation.
Identifying elements that need to be externalized.
Validating the local build.
Review of images and containers.
Creating a Dockerfile.
Containerization best practices.
Multi-stage builds.
Ports, environment variables, and logs.
Hands-on workshop:
Creating a Docker image for an application.
Running the application in a container.
Changing configuration without modifying the code.
Why use Docker Compose.
Application and database.
Internal networks.
Persistent volumes.
.env file.
Health checks.
Dependencies between services.
Hands-on workshop:
Creating a complete environment with Docker Compose.
Connecting the application to a database.
Validating the environment.
Diagnosing a configuration issue.
Understanding continuous integration.
Understanding continuous delivery.
Difference between build, test, artifact, image, and deployment.
Pipeline structure.
Triggers: push, merge request, pull request, tags, and branches.
Presentation of a pipeline tool: GitLab CI/CD, GitHub Actions, or Azure DevOps.
Structure of a YAML file.
Pipeline stages.
Pipeline variables.
Automated build execution.
Automated test execution.
Hands-on workshop:
Creating a continuous integration pipeline.
Automatically compiling the application.
Running tests.
Making a pipeline step fail and fixing it.
Building a Docker image in the pipeline.
Tagging an image.
Publishing an image to a registry.
Managing variables and secrets.
Separating environments.
Hands-on workshop:
Adding a Docker build step to the pipeline.
Publishing an image to a registry.
Using a secret for authentication.
Difference between delivery and deployment.
Manual deployment and automated deployment.
Deployment to a test environment.
Version update.
Simple rollback.
Post-deployment validation.
Hands-on workshop:
Deploying an application with Docker Compose.
Updating the image used by the environment.
Validating the new version.
Rolling back to a previous version.
Configuration by environment.
Environment variables.
Configuration files.
Secrets in pipelines.
Risks related to secrets in source code.
Best practices for managing sensitive information.
Hands-on workshop:
Replacing hardcoded configuration.
Using secure variables.
Fixing a poor practice related to secrets.
Reading container logs.
Understanding application logs.
Adding or using a health endpoint.
Validating service status.
Diagnosing a startup error.
Hands-on workshop:
Reading application logs.
Identifying an error.
Fixing the configuration.
Validating service health.
Why monitor an application.
Logs, metrics, and traces.
Health checks.
Dashboards.
Introduction to tools such as Prometheus, Grafana, or equivalents.
Hands-on workshop:
Enabling basic metrics.
Reading the application status.
Interpreting a simple issue.
Common risks in a CI/CD chain.
Exposed secrets.
Vulnerable images.
Outdated dependencies.
Excessive permissions.
Security best practices for Docker and pipelines.
Hands-on workshop:
Identifying a poor practice.
Analyzing an image or dependency.
Fixing an insecure configuration.
Application to containerize.
Docker Compose environment.
CI/CD pipeline.
Image build and publication.
Deployment.
Validation using logs and health checks.
Simple incident correction.
→ Practical DevOps Training: Docker, CI/CD and Application Deployment
→ DevOps Fundamentals Training: Git, Docker, Jenkins, and Kubernetes
Beyond training, our experts can support you with implementation, optimization, and the hands-on delivery of your projects.
📄 Download course outline (PDF)
Registration detailsFR
« Je tiens à vous remercier tous les deux d’avoir offert à mes ressources une excellente formation COBOL au cours des trois derniers jours.
Mamadou, merci d’avoir été si accommodant malgré le court préavis et d’avoir envoyé votre formateur à Gatineau pour ce cours personnalisé.
Nous avons hâte de poursuivre notre collaboration pour de futurs besoins de formation. »
(Traduit de l’anglais)
EN
“I want to thank you both for providing my resources with excellent COBOL training over the past 3 days. Mamadou, thank you for being so accommodating on such short notice and for sending your facilitator to Gatineau for this customized and personalized training course. We look forward to continuing our partnership for future training needs.”
FR
« Mamadou est venu nous aider à réorganiser notre panneau d’arrêt via un outil de rapport, Crystal Reports. Mamadou a réussi avec succès le travail de précision, au pixel près, puisque nous voulions un rapport similaire au design graphique original. Il nous a aidés à découper le projet par cycle et à intégrer le rapport à notre logiciel corporatif. La qualité que nous avons appréciée était le souci du détail et la constance. Mamadou a été très professionnel et connaît plusieurs autres technologies. Merci. »
EN
“Mamadou helped us reorganize our stop panel using a reporting tool, Crystal Reports. He successfully delivered precise, pixel-perfect work,
as we needed a report that matched the original graphic design. He helped us break the project down into cycles and integrate the report
into our corporate software. What we appreciated most was his attention to detail and consistency. Mamadou was very professional and
is knowledgeable in many other technologies. Thank you.”
(Translated from French)
FR
« Ce fut un plaisir de faire affaires avec Doussou Formation. Ce qui fait LA différence est le service personnalisé totalement à l'écoute des participants ainsi que l'adaptation aux besoins de formation. Flexibilité / Adaptabilité / Professionnalisme / Courtoisie. Merci ! »
EN
“It was a pleasure doing business with Doussou Formation. What truly makes THE difference is the personalized service, fully attentive
to participants, as well as the ability to adapt the training to their needs. Flexibility / Adaptability / Professionalism / Courtesy. Thank you!”
(Translated from French)