0% found this document useful (0 votes)
10 views2 pages

DevOps Project: Build a REST API

The DevOps project involves designing, building, and deploying a small backend service or REST API, focusing on end-to-end DevOps practices. Key objectives include using GitHub for task management, setting up a CI/CD pipeline, implementing observability and security checks, containerizing the application, and deploying it on Kubernetes. Deliverables include a GitHub repository, a functioning CI/CD pipeline, a published Docker image, and a final report detailing the project's architecture and lessons learned.

Uploaded by

iheb.zenkri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views2 pages

DevOps Project: Build a REST API

The DevOps project involves designing, building, and deploying a small backend service or REST API, focusing on end-to-end DevOps practices. Key objectives include using GitHub for task management, setting up a CI/CD pipeline, implementing observability and security checks, containerizing the application, and deploying it on Kubernetes. Deliverables include a GitHub repository, a functioning CI/CD pipeline, a published Docker image, and a final report detailing the project's architecture and lessons learned.

Uploaded by

iheb.zenkri
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

DevOps Project

Overview:​
In this project, you will work individually to design, build, and deploy a small backend service
or a REST API (under 150 lines of code). The goal is to practice DevOps concepts end-to-end
from coding and containerization to automation, deployment, observability, and security.

Objectives:

●​ Use GitHub Issues or Projects to break your project into smaller tasks.
●​ Write a small backend service or REST API
●​ Use Git/GitHub for version control.
●​ Open dedicated Pull Requests for each task and perform at least one peer review
exchange with a classmate.
●​ Set up a CI/CD pipeline (e.g., GitHub Actions) to build and test your service
automatically.
●​ Implement observability basics:
○​ Metrics: expose simple metrics (e.g., request count, response time).
○​ Logs: ensure structured logs for incoming requests and errors.
○​ Tracing: add basic request tracing.
●​ Add security checks:
○​ SAST (Static Application Security Testing): run a static scan of your code
○​ DAST (Dynamic Application Security Testing): run a simple runtime scan of
the deployed API.
●​ Containerize your application using Docker.
●​ Deploy and run the service in Kubernetes (minikube or kind)(bonus: use cloud service).
●​ Create proper documentation: a clear [Link] with setup instructions, local running
guide, Docker usage, and API examples.
●​ Deliver a final report (1–2 pages) describing your architecture, tools, observability,
security, Kubernetes setup, and lessons learned

Deliverables:

1.​ GitHub repository containing your source code, Dockerfile, and Kubernetes manifests.
2.​ A functioning CI/CD pipeline that builds, tests, scans, and deploys your project.
3.​ A published Docker image (Docker Hub or similar).
4.​ The service is deployed and accessible locally (bonus: use the cloud).
5.​ Evidence of observability: metrics endpoint, dashboard, sample logs, and basic tracing.
6.​ Evidence of security scans (SAST + DAST results).
7.​ Final report and presentation with Q&A (~10 min).

1
Evaluation Criteria (100%):

●​ Backend functionality (under 150 lines) 10%


●​ GitHub workflow (issues, PRs, reviews) 10%
○​ For peer reviews, you will be graded on the feedback you provide.
○​ Make sure your comments are constructive and respectful.
●​ CI/CD pipeline (build, test, deploy) 15%
●​ Containerization (Dockerfile, Docker image, Docker compose) 10%
●​ Observability (metrics, logs, tracing) 15%
●​ Security (SAST + DAST scans) 10%
●​ Kubernetes deployment 10%
●​ Final report, presentation & answering questions 20%

“Enjoy the journey, not just the destination.”


Good luck. Have fun!

You might also like