Resource Management
Naming Conventions
Resource Names
Consistent Naming
- Use descriptive, lowercase names with hyphens
- Include environment prefixes (dev, staging, prod)
- Follow team-established conventions
- Avoid generic names like “check1” or “test”
Tagging Strategy
Organized Tagging
- Use consistent tag patterns across resources
- Include environment, team, and purpose tags
- Enable easy filtering and reporting
- Document your tagging strategy
Resource Organization
Security Best Practices
Secret Management
Use Environment Variables:Access Control
API Key Security
Secure API Keys
- Use dedicated API keys for Pulumi
- Rotate keys regularly
- Limit key permissions when possible
- Monitor key usage
Team Access
Team Permissions
- Use Pulumi organizations for team collaboration
- Implement role-based access control
- Review access permissions regularly
- Use separate stacks for different environments
Environment Management
Stack Strategy
Use separate Pulumi stacks for different environments to maintain isolation and enable environment-specific configurations.
Configuration Management
Monitoring Strategy
Check Frequency Optimization
Critical Services
High Frequency
- 1-5 minute intervals for critical APIs
- Multiple locations for redundancy
- Immediate alerting on failures
- Comprehensive assertions
Non-Critical Services
Lower Frequency
- 10-30 minute intervals for non-critical services
- Single location monitoring
- Delayed alerting
- Basic health checks
Location Strategy
Assertion Best Practices
Comprehensive API Checks:Code Organization
Modular Structure
Recommended Project Structure:Reusable Functions
CI/CD Integration
Automated Deployments
GitHub Actions
GitHub Workflow
- Deploy on push to main branch
- Preview changes on pull requests
- Use Pulumi GitHub Actions
- Secure secret management
Other CI/CD
Other Platforms
- GitLab CI/CD integration
- Jenkins pipeline support
- Azure DevOps integration
- CircleCI configuration
Testing and Validation
Preview Changes
Validation Strategies
Configuration Validation
Configuration Validation
- Validate environment variables are set
- Check API key permissions
- Verify account ID format
- Test connectivity to Checkly API
Resource Validation
Resource Validation
- Verify check configurations
- Test alert channel connectivity
- Validate check group assignments
- Confirm location availability
Deployment Validation
Deployment Validation
- Monitor initial check runs
- Verify alert channel notifications
- Check resource relationships
- Validate performance metrics
Performance Considerations
Resource Limits
Optimization Strategies:- Use appropriate check frequencies
- Group related checks to reduce overhead
- Monitor resource usage and costs
- Implement check deactivation for non-critical services
Scalability
Maintenance and Updates
Regular Reviews
Schedule regular reviews of your monitoring infrastructure to ensure it remains effective and up-to-date.
- Check for unused or obsolete resources
- Review and update check frequencies
- Validate alert channel configurations
- Update check assertions and thresholds
- Review performance and cost metrics
- Update documentation and runbooks
Documentation
Documentation Requirements:- Resource naming conventions
- Environment configurations
- Alert escalation procedures
- Troubleshooting guides
- Change management procedures
Common Pitfalls to Avoid
Resource Drift
Resource Drift
Problem: Manual changes in Checkly UI create drift with Pulumi state
Solution: Always manage resources through Pulumi or document manual changes
Secret Exposure
Secret Exposure
Problem: Committing secrets to version control
Solution: Use environment variables and Pulumi’s secret management
Over-Monitoring
Over-Monitoring
Problem: Too many checks or too frequent monitoring
Solution: Focus on critical paths and optimize check frequencies
Poor Naming
Poor Naming
Problem: Unclear or inconsistent resource names
Solution: Establish and follow naming conventions