Getting Started with Devops Buildcamp
Welcome to your devops learning journey! This guide will help you get started with the Craftista learning app - a polyglot, microservices-based application designed specifically for learning devops through hands-on projects.
Quick Start Options
You have two paths to begin:
-
Demo Path (5 minutes): If you just want to try out the application quickly:
- Visit Craftista Demo
- Follow the quick launch instructions
-
Builder Path (Recommended): For the full learning experience:
- Continue reading this guide
- Build the project from scratch
- Follow our structured learning path
Understanding Craftista Architecture
Craftista consists of four main microservices:
-
Frontend Service (Node.js/Express.js)
- Serves as the main UI
- Routes and integrates with other services
- Used by: Netflix, Uber, PayPal, LinkedIn
-
Catalogue Service (Python/Flask)
- Manages origami showcase and details
- Handles product data
- Used by: Netflix, Reddit, Airbnb, LinkedIn
-
Voting Service (Java/Spring Boot)
- Manages user voting functionality
- Handles user interactions
- Used by: Adobe, Microsoft, American Express
-
Recommendation Service (Golang)
- Powers daily origami recommendations
- Similar to services used by Google, Dropbox, Uber
Getting Started with Development
Prerequisites
- Git installed on your system
- Docker and Docker Compose (for containerization)
- Basic understanding of microservices architecture
- Your favorite code editor
Initial Setup
# Clone the repository
git clone https://github.com/craftista/craftista
cd craftista
# View project structure
tree .
Project Structure Overview
craftista/
├── frontend/ # Node.js Express frontend
├── catalogue-service/ # Python Flask service
├── voting-service/ # Java Spring Boot service
├── recommendation/ # Golang service
└── docs/ # Project documentation
Learning Path
Here's a recommended progression for building your devops skills:
1. Basic Projects
-
Containerization
- Write Dockerfiles for each service
- Create docker-compose for local development
-
CI Pipeline
- Set up Jenkins or GitHub Actions
- Implement automated testing
-
Kubernetes Deployment
- Create basic K8s manifests
- Deploy services to a cluster
2. Intermediate Projects
-
Helm Packaging
- Create Helm charts
- Handle multi-environment deployments
-
GitOps with ArgoCD
- Implement blue/green deployments
- Set up canary releases
-
Observability
- Configure Prometheus & Grafana
- Set up ELK/EFK stack
3. Advanced Projects
-
Cloud Infrastructure
- Design HA architecture
- Implement auto-scaling
-
Service Mesh
- Deploy Istio
- Configure traffic management
-
Security
- Implement DevSecOps pipeline
- Add security scanning
Feedback and Progress Monitoring
Craftista provides several ways to monitor your progress:
-
System Info Dashboard
- Container status
- Kubernetes cluster info
- Load balancer validation
-
Version Tracking
- Visual version indicators
- Deployment validation
-
Service Status
- Real-time backend service status
- API health monitoring
Getting Help
- Check the documentation
- Join our community
- Explore the Devops Mastery System
Next Steps
- Choose your starting project from the learning path
- Set up your local development environment
- Begin with containerizing the application
Remember: The journey to devops mastery is iterative. Start small, build incrementally, and keep learning!
Now that you're ready to begin, we recommend starting with the containerization project. Need specific guidance for any of these steps? Check our detailed guides in the documentation.