Skip to content

New content type: DevOps Project Ideas (open-ended, multi-day builds) #1094

Description

@bobbyonmagic

Overview

Add a new "Project Ideas" content type where users build real infrastructure from scratch based on an architecture diagram and requirements list. No step-by-step instructions. Hints available if stuck. Multiple valid solutions.

How It Differs from Existing Content

Exercises Challenges (#1079) Project Ideas
Format Step-by-step guided Fix a broken thing Build from scratch
Scope 30-60 min 1-3 hours 2-5 days
Instructions Full commands provided Acceptance criteria only Requirements + architecture diagram
Solution One correct path One correct fix Multiple valid approaches
Template None Broken repo to fork None, you start from zero
Key skill Following instructions Debugging/fixing Designing + building

Content Structure

---
title: "Build a Monitoring Stack for a 3-Tier Web App"
slug: "monitoring-stack"
difficulty: "intermediate"
estimatedTime: "2-3 days"
category: "Observability"
technologies: ["Prometheus", "Grafana", "Alertmanager", "Node Exporter"]
architectureImage: "/images/projects/monitoring-stack.svg"
tags: ["monitoring", "prometheus", "grafana", "alerting"]
---

## The Scenario

Your team just launched a web application with a React frontend, 
a Node.js API, and a PostgreSQL database. Users are reporting 
intermittent slowness but nobody can tell where the bottleneck is. 
Your job: build the monitoring infrastructure.

## Architecture

![Architecture Diagram](/images/projects/monitoring-stack.svg)

## Requirements

### Must Have
- Monitor CPU, memory, disk, and network for all 3 services
- Dashboard showing request latency (p50, p95, p99)
- Alert when error rate exceeds 5% for more than 2 minutes
- Alert when disk usage exceeds 80%

### Nice to Have
- Log aggregation with search
- Distributed tracing across services
- Uptime monitoring with status page

## Constraints
- Must run on a single machine (or Docker Compose)
- Budget: $0 (open source tools only)
- Must survive service restarts

## Hints

<details>
<summary>Hint 1: Where to start</summary>
Start with Prometheus for metrics collection...
</details>

<details>
<summary>Hint 2: Service discovery</summary>
Use static targets in prometheus.yml to start...
</details>

<details>
<summary>Hint 3: Alerting</summary>
Alertmanager handles routing alerts to Slack/email...
</details>

## Suggested Approach (collapsed by default)

<details>
<summary>One possible approach</summary>
1. Set up Docker Compose with all services
2. Add Prometheus with static scrape targets
3. Configure Grafana dashboards
4. Set up Alertmanager rules
5. Add Node Exporter for system metrics
</details>

## Share Your Solution

Built something? Share it:
- Link your GitHub repo
- Post on X with #DevOpsDaily

Architecture Diagrams

Generated as SVGs (same pipeline as the book diagrams):

  • Warm cream background, Georgia serif font
  • Show services, connections, data flow
  • Stored in public/images/projects/
  • Generated via a script or manually crafted

Example Project Ideas (15-20 to start)

Beginner (1-2 days)

  1. Deploy a Static Site with CI/CD - GitHub Actions, Nginx, SSL
  2. Containerize a Legacy App - Dockerfile, Docker Compose, health checks
  3. Set Up a Reverse Proxy - Nginx/Traefik, multiple services, SSL termination
  4. Build a Backup System - Automated backups, rotation, restore testing
  5. Create a Dev Environment with Vagrant/Docker - Reproducible local setup

Intermediate (2-3 days)

  1. Build a Monitoring Stack - Prometheus, Grafana, Alertmanager
  2. Set Up a CI/CD Pipeline from Scratch - Build, test, deploy, rollback
  3. Deploy a Kubernetes Cluster - kubeadm or k3s, networking, storage
  4. Build a Log Aggregation System - ELK or Loki + Grafana
  5. Create Infrastructure as Code for a 3-Tier App - Terraform/Pulumi

Advanced (3-5 days)

  1. Build a Service Mesh - Istio/Linkerd, traffic splitting, mTLS
  2. Set Up Multi-Region Disaster Recovery - Active-passive, failover, data sync
  3. Build an Internal Developer Platform - Service catalog, self-service, golden paths
  4. Create a GitOps Deployment Pipeline - ArgoCD/Flux, multi-env, secrets management
  5. Build a Chaos Engineering Framework - Fault injection, game days, resilience testing

Implementation

File Structure

content/projects/*.md           # Project markdown files
public/images/projects/*.svg    # Architecture diagrams
app/projects/page.tsx           # Index page
app/projects/[slug]/page.tsx    # Detail page
components/projects/            # UI components

Page Design

  • Architecture diagram prominently at the top
  • Requirements as a checklist (trackable in localStorage)
  • Collapsible hints with progressive disclosure
  • Difficulty badge and time estimate
  • Technology pills
  • "Share your solution" section at the bottom

Borrows from Advent of DevOps

  • Progress tracking (localStorage)
  • Task/requirements based format
  • Completion tracking
  • Similar content structure (markdown with frontmatter)

Phases

Phase 1

  • JSON/markdown schema for projects
  • Project detail page with architecture image, requirements, hints
  • Index page with difficulty filter
  • 5 initial projects with SVG architecture diagrams
  • /create-project skill

Phase 2

  • Progress tracking (requirements as checkable items)
  • Community solutions section
  • More projects (15 total)
  • Integration with content pipeline

Phase 3

  • User-submitted project ideas
  • Solution gallery
  • Difficulty rating by community

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions