This repository showcases the final capstone project from the IBM DevOps and Software Engineering Professional Certificate, completed as part of my applied DevOps training. The project simulates a real-world microservice lifecycle—from design and development to testing, deployment, and monitoring—using industry-standard tools and methodologies.
- Build a secure, cloud-native microservice using Flask and Python
- Apply Test-Driven Development (TDD) to achieve >95% code coverage
- Implement CI/CD pipelines with Azure DevOps, Helm, and ArgoCD
- Enforce code quality standards via SonarQube integration
- Deploy containerized services to Kubernetes clusters
- Enhance observability with Prometheus and Grafana dashboards
- Languages: Python, Shell
- Frameworks: Flask (RESTful API)
- CI/CD: Azure DevOps, Helm, ArgoCD
- Monitoring: Prometheus, Grafana
- Code Quality: SonarQube
- Containerization: Docker, Kubernetes
- Testing: Pytest, TDD methodology
├── service/ # Microservice code (MVC pattern)
│ ├── models.py # Business logic and data model
│ ├── routes.py # RESTful API endpoints
│ └── config.py # Flask configuration
├── tests/ # Unit and integration tests
│ ├── test_models.py
│ ├── test_routes.py
│ └── factories.py
├── deploy/ # Kubernetes manifests and Helm charts
├── .github/ # CI/CD workflows
├── bin/ # Setup and environment scripts
The microservice manages user accounts with the following fields:
| Field | Type | Required |
|---|---|---|
id |
Integer | Yes |
name |
String(64) | Yes |
email |
String(64) | Yes |
address |
String(256) | Yes |
phone_number |
String(32) | No |
date_joined |
Date | Yes |
- Clone the repository
- Source the setup script:
source bin/setup.sh - Activate the Python virtual environment
- Run tests:
make test - Start the service locally or deploy to Kubernetes
William Mayila |DevOps Engineer | Cloud-native infrastructure & CI/CD automation | Bilingual (EN/FR)