This course, Development and Deployment of Data Solutions (AOA-DEVOPS-101), takes you from an empty workstation to an automatically deployed, monitored, and reproducible application.
The objective is not just to learn isolated tools (Git, Docker, Jenkins, Kubernetes…), but to understand how they chain together to deliver software reliably and repeatably.
You don't need to be an expert. You need curiosity, a bit of rigor, and the willingness to try, break things, and try again. That's exactly the DevOps mindset.
By the end of the session, you will be able to:
| # | Target competency |
|---|---|
| 1 | Version a project with Git and collaborate via GitHub |
| 2 | Build a Java project with Maven |
| 3 | Automate builds and tests with Jenkins and GitHub Actions |
| 4 | Containerize an application with Docker |
| 5 | Orchestrate containers with Kubernetes and Helm |
| 6 | Provision infrastructure with Ansible and Terraform |
| 7 | Monitor a solution in production (monitoring & observability) |
| 8 | Integrate all these tools in a complete end-to-end pipeline |
Each module adds a brick. At the end, you will have assembled a complete DevOps chain — that's the subject of the session project (module 15).
🔧 Mini-exercise — Among the 8 competencies in the table, identify the one concerning monitoring an application in production and name the corresponding module.
Competency #7: Monitor a solution in production (monitoring & observability). It is covered in module 13 (Monitoring & observability).
Throughout the course, we will follow the lifecycle of an application, from code writing to production operation.
Each module covers one or more steps of this cycle.
Passing: 70% on exams + project.
| Module | Title | Access | Topics |
|---|---|---|---|
| 00 | Resources | Free | Mini-projects, references |
| 01 | Introduction to DevOps and Git Basics | Free | DevOps culture, Git local/remote |
| 02 | Advanced Git and GitHub | Free | Branching, merge/rebase, pull requests |
| 03 | Java Projects and Maven | Free | Maven, pom.xml, lifecycle |
| 04 | Jenkins: Installation and Configuration | Subscription | Jenkins setup, plugins, first job |
| 05 | Jenkins: CI/CD Pipeline | Subscription | Jenkinsfile, declarative pipelines |
| 06 | Docker, Nginx, and Swarm | Subscription | Images, Dockerfile, containers, Swarm |
| 07 | Kubernetes: Basic Concepts | Subscription | Pods, Deployments, Services |
| 08 | Kubernetes: Advanced Concepts | Subscription | Ingress, ConfigMaps, Secrets |
| 09 | Helm | Subscription | Charts, values.yaml, templates |
| 10 | CI/CD with GitHub Actions | Subscription | Workflows, build & push, deploy |
| 11 | Ansible | Subscription | Inventories, playbooks, roles |
| 12 | Terraform | Subscription | Providers, variables, state, modules |
| 13 | Monitoring and Observability | Subscription | Prometheus, Grafana, alerts |
| 14 | Integration Workshop | Subscription | Assemble a complete pipeline |
| 15 | Choice of Project Topic | Subscription | Session project (architectures) |
Q1: Which module covers Terraform?
A) Module 11
B) Module 12 ✅
C) Module 13
D) Module 14
Q2: What is the minimal tooling required to follow this course?
A) Java + Maven + Git
B) Docker Desktop + text editor ✅
C) Kubernetes installed locally
D) AWS account + Jenkins server
Q3: Can I use Windows?
A) No, this course requires Linux
B) Yes, via Docker Desktop ✅
C) Only macOS works
D) It's optional
Your checklist:
docker --version and docker compose version~/devops-course/ for your labsExpected output:
$ docker --version
Docker version 24.0.5, build abc1234
$ docker compose version
Docker Compose version 2.15.0If this works, you're ready for the next module!
Course created by Dr. Haythem REHOUMA — Development and Deployment of Data Solutions