Lab 05: The POC Sprint
Learning Objectives
By completing this lab, you will:
- Scope a time-boxed proof of concept effectively
- Define measurable success criteria
- Deploy minimal viable infrastructure quickly (Kind, GCP, or AWS)
- Prepare and deliver effective demos
- Document outcomes for stakeholders
- Handle common POC challenges and questions
Prerequisites
Common Prerequisites
- Terraform >= 1.5 (for cloud deployments)
kubectlinstalled- Helm 3.x installed
- Basic understanding of Kubernetes concepts
GCP Prerequisites (if using GCP)
- GCP project with billing enabled
gcloudCLI configured
AWS Prerequisites (if using AWS)
- AWS account with appropriate permissions
awsCLI configured
Local Prerequisites (if using Kind)
- Docker installed
- Kind installed (
brew install kind)
What is a POC?
A Proof of Concept (POC) is a time-boxed demonstration that validates whether a solution works in a customer's environment. Unlike a full implementation, a POC:
- Focuses on core functionality - Not every feature
- Uses minimal infrastructure - Fast to deploy, easy to clean up
- Has clear success criteria - Everyone knows what "success" means
- Is time-boxed - Usually 1-4 weeks
- Produces a decision - Go/no-go for full implementation
Deployment Options
This lab supports three deployment options for POCs:
Option 1: Kind (Local, Zero Cost) ⭐ Recommended for Learning
Best for: Learning, testing, zero-cost POCs
Pros:
- ✅ Zero cost
- ✅ Fastest deployment (~2 minutes)
- ✅ No cloud account needed
- ✅ Perfect for local testing
Cons:
- ❌ Not representative of real cloud environment
- ❌ Limited to local machine resources
Quick Start:
# Just run the script - it will detect no terraform.tfvars and use Kind
./scripts/quick-deploy.shOption 2: GCP (Cloud, Minimal Cost)
Best for: Real POCs in GCP environments
Pros:
- ✅ Real cloud environment
- ✅ Fast deployment (~5-10 minutes)
- ✅ Minimal cost (~$0-5/day)
- ✅ Easy cleanup
Cons:
- ❌ Requires GCP account
- ❌ Small cost
Quick Start:
cd minimal-deployment
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars: set cloud_provider = "gcp" and project_id
cd ..
./scripts/quick-deploy.shOption 3: AWS (Cloud, Minimal Cost)
Best for: Real POCs in AWS environments
Pros:
- ✅ Real cloud environment
- ✅ Fast deployment (~10-15 minutes)
- ✅ Minimal cost (~$0-5/day)
- ✅ Easy cleanup
Cons:
- ❌ Requires AWS account
- ❌ Small cost
Quick Start:
cd minimal-deployment
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars: set cloud_provider = "aws" and region
cd ..
./scripts/quick-deploy.shQuick Start
Recommended: Use Quick Deploy Script
The quick-deploy.sh script automatically detects your deployment method:
cd labs/05-poc-sprint
# If no terraform.tfvars exists, it will use Kind (zero cost)
# If terraform.tfvars exists, it will use the cloud provider specified
./scripts/quick-deploy.shManual: Cloud Deployment
cd minimal-deployment
cp terraform.tfvars.example terraform.tfvars
# Edit terraform.tfvars with your cloud provider settings
# Deploy
terraform init
terraform apply
# Get credentials
terraform output get_credentials_command
# Run the output command
# Deploy Argo Workflows
helm repo add argo https://argoproj.github.io/argo-helm
helm install argo-workflows argo/argo-workflows --namespace argo --create-namespacePrepare Demo
./scripts/prepare-demo.shLab Structure
labs/05-poc-sprint/
├── templates/ # POC planning templates
│ ├── poc-scope-document.md
│ ├── success-criteria.md
│ ├── daily-standup-format.md
│ └── final-report-template.md
├── minimal-deployment/ # Fast infrastructure deployment
│ ├── main.tf # Supports GCP and AWS
│ ├── variables.tf
│ └── terraform.tfvars.example
├── manifests/ # Demo workflows
│ ├── demo-workflow-simple.yaml
│ ├── demo-workflow-multistep.yaml
│ └── demo-workflow-parallel.yaml
├── demo-prep/ # Demo preparation materials
│ ├── demo-script.md
│ ├── backup-demo.md
│ └── common-questions.md
└── scripts/ # Automation scripts
├── quick-deploy.sh # Supports Kind, GCP, and AWS
├── prepare-demo.sh
└── cleanup.shKey Deliverables
1. POC Scope Document
Use templates/poc-scope-document.md to define:
- Objectives (primary and secondary)
- Scope (in and out of scope)
- Success criteria
- Timeline
- Resources needed
2. Success Criteria Framework
Use templates/success-criteria.md to define:
- Must-have criteria (POC fails without these)
- Should-have criteria (important but not blocking)
- Nice-to-have criteria (if time permits)
3. Demo Materials
- Demo Script: Step-by-step demo flow (
demo-prep/demo-script.md) - Backup Demo: Plan B if live demo fails (
demo-prep/backup-demo.md) - Common Questions: Prepared answers (
demo-prep/common-questions.md)
4. Final Report
Use templates/final-report-template.md to document:
- What was accomplished
- Success criteria results
- Lessons learned
- Recommendations
- Next steps
POC Best Practices
Scoping
✅ Start Small: Focus on core functionality ✅ Be Specific: Clear objectives and success criteria ✅ Time-Box: Set a deadline and stick to it ✅ Document Everything: Scope, decisions, outcomes
Execution
✅ Deploy Quickly: Use minimal infrastructure ✅ Test Early: Validate assumptions quickly ✅ Communicate Often: Daily standups, regular updates ✅ Stay Focused: Resist scope creep
Demo
✅ Prepare Thoroughly: Test everything beforehand ✅ Have Backup Plan: Screenshots, videos, architecture discussion ✅ Engage Audience: Ask questions, check understanding ✅ Be Honest: Acknowledge limitations
Documentation
✅ Document Outcomes: What worked, what didn't ✅ Capture Lessons: What would you do differently? ✅ Provide Recommendations: Clear next steps ✅ Share Knowledge: Help others learn
Deployment Comparison
| Feature | Kind | GCP | AWS |
|---|---|---|---|
| Cost | $0 | ~$0-5/day | ~$0-5/day |
| Deployment Time | ~2 min | ~5-10 min | ~10-15 min |
| Setup Complexity | Low | Medium | Medium |
| Real Cloud Environment | ❌ | ✅ | ✅ |
| Best For | Learning | GCP POCs | AWS POCs |
When to Use Each
Kind (Local):
- Learning and testing
- Zero-cost requirement
- Fast iteration
- No cloud account needed
GCP:
- Customer uses GCP
- Need real cloud environment
- Quick POC deployment
- Minimal cost acceptable
AWS:
- Customer uses AWS
- Need real cloud environment
- Quick POC deployment
- Minimal cost acceptable
Estimated Time
Infrastructure Deployment:
- Kind: ~2 minutes
- GCP: ~5-10 minutes
- AWS: ~10-15 minutes
Demo Preparation: 30-60 minutes POC Planning: 1-2 hours (using templates) Total Lab Time: 2-3 hours
Estimated Cost
Kind Option: $0 (local deployment) GCP Option: $0-5 per day (minimal resources, destroy quickly) AWS Option: $0-5 per day (minimal resources, destroy quickly)
Cost Breakdown (Cloud):
- Cluster: ~$0.10/hour
- Nodes: ~$0.05-0.10/hour per node
- Load balancer: ~$0.025/hour
- Total: ~$0.20-0.30/hour = ~$5-7/day if running 24/7
Tip: Destroy resources immediately after POC to minimize costs.
Documentation
- Scoping Guide - How to scope a POC effectively
- Demo Guide - Comprehensive demo preparation and delivery
- Troubleshooting - Common POC issues and solutions
- Step-by-Step Guide - Detailed walkthrough
Templates
Demo Materials
Cleanup
Kind
kind delete cluster --name poc-clusterCloud (GCP or AWS)
./scripts/cleanup.shOr manually:
cd minimal-deployment
terraform destroyImportant: Always clean up POC resources immediately to minimize costs!
Next Steps
After completing this lab:
- Practice scoping a POC using the templates
- Prepare a demo using the demo materials
- Review the common questions and prepare answers
- Try deploying with different providers (Kind, GCP, AWS)
- Proceed to Lab 06: Multi-Tenant Deployment