Skip to content

AutomationSyndicate/DevOps_Capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DevOps_Project

DevOps Project: Java Microservices Deployment with CI/CD & Kubernetes Objective: Candidates will develop, containerize, and deploy a Java Spring Boot Microservices Application using open-source DevOps tools. This project focuses on building microservices, automating deployment, monitoring, and managing logs.

Project Scope (2 Weeks) Tech Stack Backend: Java (Spring Boot), PostgreSQL CI/CD: Jenkins, GitHub Actions Containerization: Docker Orchestration: Kubernetes (Minikube/K3s) Infrastructure as Code: Terraform Monitoring: Prometheus, Grafana Logging: ELK Stack (Elasticsearch, Logstash, Kibana)

Week 1: Develop Microservices & CI/CD Task 1: Develop Java Spring Boot Microservices Create 2 microservices: User Service: Manages user accounts (CRUD). Order Service: Handles order processing. Use Spring Boot, Spring Data JPA, and PostgreSQL. Implement RESTful APIs with Swagger documentation. Secure APIs using Spring Security + JWT authentication. Write unit and integration tests (JUnit + Mockito).

Task 2: Containerization with Docker Write Dockerfiles for each microservice. Create docker-compose.yml to run services locally.

Task 3: CI/CD Pipeline (Jenkins + GitHub Actions) Automate the following using Jenkins and GitHub Actions: Build & Test: Run tests on every push. Containerization: Build and push Docker images to Docker Hub. Deployment: Deploy services to Kubernetes using Helm.

Week 2: Deployment & Monitoring Task 4: Infrastructure as Code (Terraform) Use Terraform to provision a VM on AWS/Azure/GCP. Install Kubernetes (K3s/Minikube) on the VM.

Task 5: Deploy Microservices on Kubernetes Write Kubernetes manifests (deployment.yaml, service.yaml) for each service. Set up PostgreSQL as a StatefulSet in Kubernetes. Implement Service Discovery using Kubernetes Services. Configure Horizontal Pod Autoscaling (HPA).

Task 6: Monitoring & Logging Deploy Prometheus + Grafana to monitor API performance. Set up ELK stack (Elasticsearch, Logstash, Kibana) for centralized logging.

Deliverables ✅ GitHub Repository with microservices source code ✅ CI/CD pipeline scripts (Jenkins file + GitHub Actions YAML) ✅ Docker & Kubernetes manifests ✅ Terraform scripts ✅ Monitoring dashboards (screenshots or live link)

Stretch Goals (Bonus) 🚀 Implement API Gateway (Spring Cloud Gateway) for routing. 🚀 Set up Circuit Breaker (Resilience4j/Hystrix) for fault tolerance. 🚀 Use Kafka/RabbitMQ for inter-service communication.

Outcome This project ensures candidates understand microservices, containerization, automation, and monitoring—key DevOps skills!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •