- .NET 8 Web API (Clean Architecture: API, Application, Domain, Infrastructure layers)
- Frontend: HTML/JavaScript/CSS for course management
- Key Features: Course registration, student management, certificate generation
- Database: Entity Framework Core with in-memory database
- Logging: Serilog with file and console outputs
- Testing: xUnit test framework
Open GitHub Issues for your CourseApplication repository
1. Create User Story with GitHub Copilot (2 min)
Scenario: Product Owner wants to add course waitlist feature
Steps:
1. Open GitHub Issues → New Issue
2. Type: "As a student, I want to join a course waitlist when the course is full, so that I can be notified when a spot becomes available"
3. Click GitHub Copilot icon → "Expand this user story"
4. Show how Copilot generates:
- Detailed acceptance criteria
- Technical requirements
- API endpoints needed
- Database schema changes
2. Backlog Refinement with Copilot Chat (2 min)
Open GitHub Copilot Chat in VS Code
Prompt: "Analyze my CourseRegistration.Domain entities and suggest 5 user stories for improving the certificate generation workflow based on the Certificate Creation Rules in .github/instructions"
Expected Output:
✓ Story 1: Add SerialNumber generation service
✓ Story 2: Implement SignatureHash validation
✓ Story 3: Add certificate revocation workflow
✓ Story 4: Create verification endpoint
✓ Story 5: Add QR code generation for certificates
3. Sprint Planning Suggestion (1 min)
Prompt to Copilot: "Given my current Course Registration API with 5 controllers, estimate story points and dependencies for implementing a certificate verification REST API"
Show how Copilot suggests:
- Breaking down into smaller tasks
- Identifying dependencies on existing services
- Estimating complexity based on existing code patterns
- "GitHub Copilot understands our domain model and suggests contextually relevant features"
- "AI reduces planning meeting time by 30-40% by auto-generating detailed acceptance criteria"
- "Notice how it references our .github/instructions for certificate rules"
Open Visual Studio Code with your CourseRegistration.API project
1. AI-Assisted Controller Creation (3 min)
Scenario: Create a new CertificateVerificationController
Steps:
1. Create new file: CertificateVerificationController.cs
2. Start typing:
// Create a controller for certificate verification with endpoints to verify by serial number and certificate ID
3. Let Copilot generate the entire controller
4. Show generated code includes:
- Dependency injection
- Logging
- XML documentation
- Proper HTTP status codes
- DTOs matching your existing patterns
Generated Code Preview:
/// <summary>
/// Controller for certificate verification operations
/// </summary>
[ApiController]
[Route("api/[controller]")]
public class CertificateVerificationController : ControllerBase
{
private readonly ICertificateService _certificateService;
private readonly ILogger<CertificateVerificationController> _logger;
// Copilot will generate GET endpoints for:
// - Verify by SerialNumber
// - Verify by CertificateId
// - Check certificate status (Active/Revoked/Expired)
}2. Automated Unit Test Creation (2 min)
Scenario: Generate tests for CoursesController
Steps:
1. Right-click on CoursesController.cs
2. Open Copilot Chat: "/tests Generate unit tests for GetCourse method"
3. Show generated xUnit tests with:
- Arrange-Act-Assert pattern
- Mock setup for dependencies
- Multiple test cases (found, not found, exception handling)
Generated Test Preview:
public class CoursesControllerTests
{
[Fact]
public async Task GetCourse_WithValidId_ReturnsOkResult()
{
// Arrange
var mockService = new Mock<ICourseService>();
var mockLogger = new Mock<ILogger<CoursesController>>();
// ... Copilot generates complete test
}
[Fact]
public async Task GetCourse_WithInvalidId_ReturnsNotFound()
{
// Copilot handles edge cases automatically
}
}3. Code Refactoring with AI (2 min)
Scenario: Refactor Certificate.cs to follow Certificate Creation Rules
Steps:
1. Open Certificate.cs
2. Copilot Chat: "@workspace Refactor Certificate entity to include SerialNumber, SignatureHash, Status, VerificationUrl, and Version fields as per .github/instructions certificate rules"
3. Show how Copilot:
- Adds new properties
- Adds validation attributes
- Updates XML documentation
- Suggests migration code
- "Copilot understands our clean architecture and generates code matching existing patterns"
- "Test generation follows our xUnit + AAA pattern automatically"
- "It reads .github/instructions to follow our certificate creation rules"
- "55% faster development - no more boilerplate coding"
Open GitHub repository → Security tab
1. Secret Scanning Detection (2 min)
Scenario: Accidentally committed connection string
Steps:
1. Show secrets.md file (DO NOT open if it contains real secrets!)
2. Navigate to GitHub → Security → Secret Scanning
3. Show detected secrets:
- Connection strings
- API keys
- JWT signing keys
4. Show how to resolve:
- Remove from git history
- Rotate credentials
- Use Azure Key Vault instead
2. Copilot Security Code Review (2 min)
Scenario: Add authentication to API endpoints
Steps:
1. Open CoursesController.cs
2. Copilot Chat: "Add JWT authentication and authorization to this controller. Students can only view courses, but only admins can create/update/delete"
3. Show Copilot generates:
- [Authorize] attributes
- Role-based access control
- Secure token validation
Generated Secure Code:
[Authorize(Roles = "Admin")]
[HttpPost]
public async Task<ActionResult> CreateCourse([FromBody] CreateCourseDto dto)
{
// Copilot adds input validation
if (!ModelState.IsValid)
return BadRequest(ApiResponseDto<object>.ErrorResponse("Invalid input"));
// Copilot suggests sanitization for XSS prevention
var sanitizedName = _htmlSanitizer.Sanitize(dto.CourseName);
}3. Dependency Vulnerability Scanning (2 min)
Steps:
1. GitHub → Security → Dependabot alerts
2. Show vulnerable NuGet packages
3. Click "Create Dependabot security update"
4. Show auto-generated PR with:
- Vulnerability details (CVE number)
- Suggested fix version
- Compatibility analysis
- Auto-generated changelog
- "GitHub Advanced Security scans every commit for secrets"
- "Copilot suggests secure coding patterns (input validation, sanitization)"
- "Dependabot auto-patches 70% of vulnerabilities without manual intervention"
- "SAST analysis runs on every PR to catch SQL injection, XSS vulnerabilities"
Open .github/workflows directory
1. Auto-Generate CI/CD Pipeline (3 min)
Scenario: Create GitHub Actions workflow for .NET API
Steps:
1. Create new file: .github/workflows/dotnet-ci.yml
2. Copilot Chat: "Generate a GitHub Actions workflow to build, test, and deploy my .NET 8 Course Registration API to Azure App Service"
3. Show generated YAML includes:
- Multi-stage pipeline (build, test, deploy)
- Cache optimization for NuGet packages
- Automated versioning based on tags
- Environment-specific deployments
- Slack/Teams notifications
Generated Pipeline Preview:
name: .NET CI/CD Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Setup .NET
uses: actions/setup-dotnet@v3
with:
dotnet-version: '8.0.x'
- name: Restore dependencies
run: dotnet restore
- name: Build
run: dotnet build --no-restore --configuration Release
- name: Run tests
run: dotnet test --no-build --verbosity normal --collect:"XPlat Code Coverage"
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
deploy-to-azure:
needs: build-and-test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
steps:
- name: Deploy to Azure App Service
uses: azure/webapps-deploy@v2
with:
app-name: course-registration-api
publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }}2. Pipeline Failure Analysis (2 min)
Scenario: Build fails due to test failure
Steps:
1. Show failed workflow run
2. Click on failed step
3. GitHub Copilot analyzes error logs
4. Suggests fix: "The test is failing because mock setup is incorrect. Update line 45 in CourseServiceTests.cs to return CourseDto instead of null"
3. Automated Changelog Generation (1 min)
Steps:
1. Show conventional commits in git history:
- feat: add certificate verification endpoint
- fix: resolve null reference in GetCourse
- docs: update API documentation
2. Run: npx semantic-release
3. Show auto-generated:
- Version bump (1.2.0 → 1.3.0)
- CHANGELOG.md with categorized changes
- GitHub Release with notes
- "From 'I need a pipeline' to production deployment in under 5 minutes"
- "AI understands .NET 8 best practices and generates optimized builds"
- "Pipeline self-healing: AI detects common failures and suggests fixes"
- "50% reduction in pipeline setup time, 35% faster builds with intelligent caching"
Open new terminal in VS Code
1. Generate Bicep from Natural Language (3 min)
Scenario: Create Azure infrastructure for Course Registration API
Copilot Chat Prompt:
"Generate Bicep template to deploy my .NET 8 Course Registration API with:
- Azure App Service (B1 tier)
- Azure SQL Database (Basic tier)
- Application Insights for monitoring
- Key Vault for secrets
- All resources in West US 2 region
- Follow naming convention: cr-{resource}-{env}"
Show generated Bicep file includes:
- Parameterized for multiple environments
- Managed identities for secure access
- Connection strings stored in Key Vault
- Diagnostic settings enabled
- Tags for cost tracking
Generated Bicep Preview:
@description('The environment name')
param environment string = 'dev'
@description('The location for all resources')
param location string = 'westus2'
// App Service Plan
resource appServicePlan 'Microsoft.Web/serverfarms@2022-03-01' = {
name: 'cr-asp-${environment}'
location: location
sku: {
name: 'B1'
tier: 'Basic'
}
properties: {
reserved: true // Linux
}
}
// Application Insights
resource appInsights 'Microsoft.Insights/components@2020-02-02' = {
name: 'cr-ai-${environment}'
location: location
kind: 'web'
properties: {
Application_Type: 'web'
}
}
// Key Vault
resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
name: 'cr-kv-${environment}'
location: location
properties: {
sku: {
family: 'A'
name: 'standard'
}
tenantId: subscription().tenantId
enabledForDeployment: true
}
}
// Azure SQL Server & Database
// App Service with managed identity
// ... (Copilot generates complete infrastructure)2. Cost Optimization Recommendations (1 min)
Copilot Chat: "Analyze this Bicep template and suggest cost optimizations"
Shows suggestions:
✓ Use Azure SQL Serverless instead of Basic tier (save 40%)
✓ Enable auto-scaling only during business hours
✓ Use reserved instances for production App Service
✓ Implement lifecycle management for blob storage logs
3. Deploy Infrastructure (1 min)
Steps:
1. Terminal: az login
2. Terminal: az deployment group create --resource-group rg-course-registration --template-file main.bicep --parameters environment=dev
3. Show real-time deployment progress
4. Navigate to Azure Portal to show created resources
- "From idea to deployed infrastructure in 5 minutes"
- "AI understands Azure best practices: managed identities, Key Vault integration"
- "Cost optimization recommendations can save 25-40% on cloud spend"
- "Infrastructure-as-Code ensures consistency across environments"
Open terminal in VS Code at API project root
1. Generate Optimized Dockerfile (2 min)
Scenario: Containerize .NET 8 API
Copilot Chat: "@workspace Create a multi-stage Dockerfile for my Course Registration API optimized for production"
Show generated Dockerfile:
- Multi-stage build (SDK for build, runtime for deploy)
- Layer caching optimization
- Non-root user for security
- Health checks
- Environment variable configuration
Generated Dockerfile:
# Build stage
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src
# Copy csproj files and restore dependencies (better caching)
COPY ["CourseRegistration.API/CourseRegistration.API.csproj", "CourseRegistration.API/"]
COPY ["CourseRegistration.Application/CourseRegistration.Application.csproj", "CourseRegistration.Application/"]
COPY ["CourseRegistration.Domain/CourseRegistration.Domain.csproj", "CourseRegistration.Domain/"]
COPY ["CourseRegistration.Infrastructure/CourseRegistration.Infrastructure.csproj", "CourseRegistration.Infrastructure/"]
RUN dotnet restore "CourseRegistration.API/CourseRegistration.API.csproj"
# Copy remaining files and build
COPY . .
WORKDIR "/src/CourseRegistration.API"
RUN dotnet build "CourseRegistration.API.csproj" -c Release -o /app/build
# Publish stage
FROM build AS publish
RUN dotnet publish "CourseRegistration.API.csproj" -c Release -o /app/publish /p:UseAppHost=false
# Runtime stage
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS final
WORKDIR /app
# Create non-root user
RUN addgroup --system --gid 1000 appgroup && \
adduser --system --uid 1000 --ingroup appgroup appuser
# Copy published app
COPY --from=publish /app/publish .
# Set user
USER appuser
# Expose port
EXPOSE 8080
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:8080/health || exit 1
ENTRYPOINT ["dotnet", "CourseRegistration.API.dll"]2. Generate Kubernetes Manifests (2 min)
Copilot Chat: "Generate Kubernetes deployment, service, and ingress manifests for my Course Registration API with:
- 3 replicas
- Resource limits (500m CPU, 512Mi memory)
- Liveness and readiness probes
- ConfigMap for appsettings
- Secret for connection strings
- HPA for autoscaling based on CPU (50-70%)"
Show generated files:
- deployment.yaml
- service.yaml
- configmap.yaml
- secret.yaml
- hpa.yaml
- ingress.yaml
Generated Kubernetes Deployment Preview:
apiVersion: apps/v1
kind: Deployment
metadata:
name: course-registration-api
labels:
app: course-registration-api
spec:
replicas: 3
selector:
matchLabels:
app: course-registration-api
template:
metadata:
labels:
app: course-registration-api
spec:
containers:
- name: api
image: youracr.azurecr.io/course-registration-api:latest
ports:
- containerPort: 8080
resources:
requests:
memory: "256Mi"
cpu: "250m"
limits:
memory: "512Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 30
periodSeconds: 10
readinessProbe:
httpGet:
path: /health/ready
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
env:
- name: ASPNETCORE_ENVIRONMENT
value: "Production"
envFrom:
- configMapRef:
name: course-registration-config
- secretRef:
name: course-registration-secrets
---
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: course-registration-api-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: course-registration-api
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 603. Deploy to AKS (1 min)
Steps:
1. Build image: docker build -t course-registration-api:v1 .
2. Push to ACR: docker push youracr.azurecr.io/course-registration-api:v1
3. Apply manifests: kubectl apply -f k8s/
4. Verify: kubectl get pods
- "Copilot generates production-ready, security-hardened Dockerfiles"
- "Kubernetes manifests follow best practices: health checks, resource limits, autoscaling"
- "45% reduction in container-related incidents with AI-validated configs"
- "From containerization to orchestration in minutes, not hours"
Open Azure Portal → Application Insights for your API
1. AI-Powered Log Analysis with KQL (2 min)
Scenario: Investigate slow API responses
Steps:
1. Open Application Insights → Logs
2. Click "Copilot" button
3. Ask: "Show me all API requests in the last 24 hours where response time exceeded 2 seconds, grouped by endpoint"
Copilot generates KQL query:
```kusto
requests
| where timestamp > ago(24h)
| where duration > 2000 // milliseconds
| summarize
RequestCount = count(),
AvgDuration = avg(duration),
MaxDuration = max(duration)
by name
| order by AvgDuration desc
| render barchart
Show results:
- /api/courses/search: 3.2s average (SLOW!)
- /api/registrations: 1.5s average
- Identify performance bottleneck
2. Anomaly Detection & Predictive Alerting (2 min)
Steps:
1. Application Insights → Failures
2. Show AI-detected anomalies:
- Spike in 500 errors at 2:15 PM
- Unusual pattern in database connection timeouts
3. Click "Smart Detection" → Show alert:
"Predicted memory leak detected. Memory usage increasing 15% per hour.
Estimated crash in 4.5 hours if trend continues."
4. Show recommended action:
- Restart app service
- Scale out to distribute load
- Investigate memory profiler snapshot
3. Automated Incident RCA (2 min)
Scenario: API went down for 5 minutes yesterday
Steps:
1. Application Insights → Failures → Select incident
2. Click "AI Analysis"
3. Show generated Root Cause Analysis:
---
**Incident Timeline:**
14:23:15 - First failure detected (HTTP 500 on /api/courses)
14:23:30 - Database connection pool exhausted (max 100 connections reached)
14:24:00 - All API endpoints returning 503
14:28:15 - Auto-scaling triggered (3 → 6 instances)
14:28:45 - Service recovered
**Root Cause:**
Database connection leak in CoursesController.GetCourses method.
DbContext not properly disposed in exception handling path.
**Affected Requests:** 1,247 requests (98.2% failure rate)
**Recommended Fix:**
Line 47 in CoursesController.cs - wrap DbContext usage in using statement.
**Prevention:**
- Add connection pool monitoring alert (threshold: 80%)
- Implement circuit breaker pattern
- Add integration test for connection disposal
---
4. Show auto-generated PR with the fix!
- "Azure Monitor Copilot writes complex KQL queries from plain English"
- "AI detects anomalies 60% faster than manual log analysis"
- "Predictive alerting prevents incidents before they happen"
- "RCA generation saves 2-3 hours per incident investigation"
- "Mean Time To Resolution (MTTR) reduced by 60%"
Open Azure Portal → Automation Accounts
1. Automated Patch Management (1.5 min)
Scenario: Monthly security patching for all services
Steps:
1. Azure Automation → Update Management
2. Show schedule:
- Every 2nd Tuesday, 2:00 AM UTC (maintenance window)
- Stages: Dev → QA → Prod (progressive rollout)
3. AI features:
- Pre-patch health check
- Automated database backup
- Canary deployment (10% → 50% → 100%)
- Auto-rollback on error detection
4. Show last patch run:
✓ 23 security updates applied
✓ 0 failures
✓ Automatic rollback triggered for QA (database migration failed)
✓ Production deployment paused (awaiting manual review)
2. Continuous Compliance Monitoring (1.5 min)
Steps:
1. Azure Policy → Compliance
2. Show policy violations detected by AI:
⚠️ App Service not using HTTPS only (6 instances)
⚠️ Storage accounts allow public blob access (2 instances)
⚠️ SQL databases missing encryption at rest (1 instance)
⚠️ Missing required tags: CostCenter, Environment
3. Click "Remediate"
4. Show AI generates remediation script:
```powershell
# Auto-generated remediation script
Get-AzWebApp -ResourceGroupName "rg-course-registration" |
Where-Object {$_.HttpsOnly -eq $false} |
Set-AzWebApp -HttpsOnly $true
# Apply required tags
$tags = @{
"CostCenter" = "Engineering"
"Environment" = "Production"
"Application" = "CourseRegistration"
}
Set-AzResource -ResourceId $resourceId -Tag $tags -Force
- Execute remediation → Show compliance: 94% → 100%
**3. Performance Tuning Recommendations (1 min)**
Steps:
- Azure Advisor → Performance
- Show AI recommendations:
📊 Course Registration API Analysis:
✓ Database Optimization: - Add index on Students.Email (84% query improvement) - Add composite index on Registrations(StudentId, CourseId) - Enable query store for plan optimization
✓ Application Insights Recommendations: - Enable response compression (reduce bandwidth by 60%) - Implement Redis cache for course catalog (reduce DB calls by 45%) - Use async/await in StudentsController.GetStudents (improve throughput)
✓ Infrastructure: - Current App Service B1 is under-utilized (15% CPU, 30% memory) - Recommendation: Downgrade to F1 tier → Save $54/month
✓ Cost Optimization: - Storage account using LRS (Local redundancy) - No need for RA-GRS in dev environment → Save $12/month - Set lifecycle policy to delete logs older than 90 days → Save $8/month
#### **Talking Points:**
- "Automated patching with intelligent rollback prevents 95% of deployment issues"
- "Continuous compliance monitoring ensures we meet SOC2, HIPAA standards"
- "AI-driven performance tuning improved API response time by 40%"
- "Cost optimization saved $74/month per environment (5 environments = $370/month savings!)"
- "Operations overhead reduced by 50% - team focuses on innovation, not maintenance"
---
## **Pro Tips for Presenting**
### **General Delivery Tips:**
1. **Start with "Why"**
- "Manual code reviews take 2-3 hours. With AI, it's 15 minutes with better quality."
- "Our team spent 8 hours/week on pipeline maintenance. Now it's 30 minutes."
2. **Use Live Demos, Not Screenshots**
- Have your CourseApplication open and ready
- Practice each demo 3-4 times beforehand
- Have backup screenshots in case of technical issues
3. **Tell a Story**
- "Let me show you how Sarah, our junior developer, shipped a feature in 2 days that would have taken 2 weeks..."
- Connect each demo to real developer pain points
4. **Emphasize ROI**
- 55% faster development
- 60% reduction in MTTR
- 40% cloud cost savings
- 70% faster vulnerability remediation
5. **Handle Questions Like a Pro**
- "Great question! Let me show you in the code..."
- If you don't know: "I haven't tested that specific scenario, but based on what I've seen, I believe..."
- Redirect to demo: "Actually, that's exactly what the next section covers!"
### **Technical Preparation Checklist:**
**Before Presentation:**
- [ ] Visual Studio Code with GitHub Copilot extension installed
- [ ] Azure subscription with sample resources deployed
- [ ] GitHub repository with workflows configured
- [ ] Application Insights with sample data (run load tests beforehand)
- [ ] Docker Desktop running
- [ ] kubectl configured to AKS cluster
- [ ] Postman/Insomnia with sample API requests
- [ ] Two monitors: one for presentation, one for notes
**Backup Plans:**
- [ ] Record demo videos as backup (in case of network issues)
- [ ] Have screenshots of each step
- [ ] Prepare "demo gods failed" stories (everyone loves honesty!)
- [ ] Have sample code snippets ready to paste
### **Slide Deck Structure:**
**For Each Section:**
Slide 1: Title + Pain Point "Manual Code Reviews: 3 hours per PR"
Slide 2: AI Solution "GitHub Copilot + Advanced Security: 15 minutes per PR"
Slide 3: Demo [LIVE DEMO - 5 minutes]
Slide 4: Results & ROI "60% faster reviews, 40% fewer bugs in production"
### **Audience Engagement:**
1. **Ask Questions:**
- "How many of you have spent 2+ hours debugging a failed deployment?"
- "Raise your hand if you've accidentally committed a secret to git"
2. **Relate to Their Experience:**
- "We've all been there - it's 5 PM Friday, production is down..."
- "Remember the last time you had to manually create 50 Kubernetes manifests?"
3. **Invite Participation:**
- "What endpoint should I test? Someone call out a course name!"
- "Pick a number between 1-10 for how many replicas..."
### **Common Mistakes to Avoid:**
❌ **Don't:**
- Read directly from slides
- Apologize for demo failures (just move on)
- Use jargon without explaining
- Go over time limit
- Skip demos due to nervousness
✅ **Do:**
- Maintain eye contact
- Speak clearly and with enthusiasm
- Pause for questions
- Relate to real-world scenarios
- Show genuine excitement about AI capabilities
---
## **Customization for Your Application**
### **Quick Demo Customizations:**
**1. Planning Demo:**
- Use your actual GitHub Issues board
- Reference your Certificate Creation Rules from .github/instructions
- Show Copilot suggesting features specific to student/course management
**2. Development Demo:**
- Demonstrate on your actual CoursesController
- Generate tests for your existing methods (GetCourses, CreateCourse)
- Show Certificate entity refactoring with your domain rules
**3. Security Demo:**
- Reference your secrets.md file (be careful not to expose!)
- Show authentication on your existing controllers
- Scan your actual NuGet packages for vulnerabilities
**4. CI/CD Demo:**
- Create real GitHub Actions workflow for your solution
- Deploy to an actual Azure App Service
- Show real build/test output from your xUnit tests
**5. IaC Demo:**
- Generate Bicep for your specific tech stack (.NET 8 + SQL + App Service)
- Reference your actual appsettings.json configuration needs
**6. Kubernetes Demo:**
- Use your actual Dockerfile structure
- Reference your CourseRegistration.API project
- Show health endpoint (/health) if you have one
**7. Monitoring Demo:**
- Use your Serilog logs from the logs/ folder
- Query for actual course registration operations
- Show real performance metrics if available
**8. Operations Demo:**
- Reference your actual Azure resources
- Show compliance for your specific requirements
- Demonstrate cost optimization for your app tier
---
## **Practice Schedule**
**3 Days Before Presentation:**
- Run through all demos once
- Identify any broken demos and fix
- Record backup videos
**2 Days Before:**
- Full dry run with colleague
- Refine talking points
- Prepare answers to likely questions
**1 Day Before:**
- Quick run-through of each demo
- Verify all tools/accounts working
- Get good sleep!
**Day Of:**
- Arrive 30 minutes early
- Test presentation laptop with projector
- Run each demo once to warm up
- Deep breath - you've got this!
---
## **Closing Slide Recommendations**
**Final Slide Content:**
🎯 Key Takeaways:
- AI agents reduce manual work by 50-70% across DevOps lifecycle
- Faster delivery: 55% faster development, 60% faster incident resolution
- Better quality: 40% fewer bugs, 70% faster vulnerability fixes
- Lower costs: 25-40% cloud cost optimization
🚀 Next Steps:
- Start with GitHub Copilot (free trial available)
- Enable GitHub Advanced Security
- Implement one AI-powered workflow this sprint
📧 Questions? Let's connect: [Your contact information]
---
## **Emergency Troubleshooting**
**If Demo Fails:**
1. **Network Issue:**
- "Let me show you the recorded version while we troubleshoot..."
- Switch to backup video or screenshots
- Continue with explanation
2. **Application Crash:**
- "And this is why we have monitoring! Let me show you how AI would detect this..."
- Turn it into a teachable moment
- Move to next demo
3. **Copilot Not Responding:**
- "While Copilot thinks, let me show you a previous example..."
- Have pre-generated code ready
- Switch to different demo
4. **Time Running Short:**
- Skip: Containerization (combine with IaC)
- Skip: Detailed code walkthrough (show final result only)
- Keep: Security, CI/CD, Monitoring (highest impact)
---
## **Measurement & Success Criteria**
**Track These Metrics:**
**Before AI Integration:**
- Code review time: 2-3 hours
- Pipeline setup: 4-6 hours
- MTTR: 2-4 hours
- Test coverage: 65%
- Security vulnerabilities: 23 open issues
- Cloud spend: $1,200/month
**After AI Integration (Expected):**
- Code review time: 15-30 minutes (85% improvement)
- Pipeline setup: 30 minutes (92% improvement)
- MTTR: 45 minutes (70% improvement)
- Test coverage: 85% (31% improvement)
- Security vulnerabilities: 3 open issues (87% reduction)
- Cloud spend: $850/month (29% reduction)
**Use these numbers in your presentation!**
---
## **Resources to Reference During Presentation**
1. **GitHub Copilot Documentation**: https://docs.github.com/copilot
2. **Azure AI Services**: https://azure.microsoft.com/en-us/products/ai-services
3. **GitHub Advanced Security**: https://docs.github.com/en/get-started/learning-about-github/about-github-advanced-security
4. **Azure DevOps AI Features**: https://learn.microsoft.com/azure/devops/
5. **Your .github/instructions**: Show you follow best practices!
---
Good luck with your presentation! Remember: confidence comes from preparation. Run through these demos multiple times, and you'll present like a pro! 🚀
**You've got this!** 💪