Skip to content

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

@bobbyonmagic

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions