Skip to main content

Custom Resources Use Cases

This page explores practical use cases where Custom Resources provide significant value in managing infrastructure and application deployments. Each use case includes the business context, technical requirements, and implementation approach.

Use Cases

Test Environment Management

Business Context Development teams need consistent access to test environments, but physical/virtual resources are limited and expensive. Teams often face conflicts when multiple projects need the same type of testing infrastructure simultaneously.

Challenges

  • Resource Contention: Multiple teams competing for limited test servers
  • Environment Consistency: Ensuring test environments match production specifications
  • Cost Management: Optimizing resource utilization to control costs
  • Tracking: Knowing which resources are allocated to which projects

Solution with Custom Resources

resources:
test_server:
selector:
type: Test_Environment_Pool
quantity: '1'
attributes:
- server_type: "web" # database, cache
- cpu_cores: 2 # 4, 8, 16
- memory_gb: 8 # 16, 32, 64
- os_type: "linux" # windows
- location: "us-east-1" # us-west-2, eu-west-1

Benefits:

  • Automatic Allocation: Blueprints automatically reserve appropriate test servers
  • Resource Visibility: Clear tracking of which resources are in use
  • Standardization: Consistent environment specifications across teams
  • Conflict Prevention: No more manual coordination between teams

Database Connection Pool Management

Business Context Applications require database connections, but connection limits and database resource management require careful coordination. Different environments (dev/staging/prod) have different database instances with varying capabilities.

Challenges

  • Connection Limits: Databases have maximum connection limits that must be respected
  • Environment Isolation: Ensuring applications connect to appropriate database tiers
  • Resource Tracking: Understanding database utilization across applications
  • Configuration Management: Managing different connection strings and parameters

Solution with Custom Resources

resources:
database:
selector:
type: Database_Pool
quantity: '1'
attributes:
- database_type: "mysql" # "postgresql", "oracle", "mongodb"
- environment_tier: "dev" # "staging", "prod"
- connection_string: Full connection URL
- performance_tier: "basic" # "standard", "premium"

Benefits:

  • Automatic Environment Matching: Applications get appropriate database tier
  • Connection Management: Prevents exceeding database connection limits
  • Environment Consistency: Standardized database configurations
  • Dependency Tracking: Clear visibility into application-database relationships

Kubernetes Cluster Resource Management

Business Context Organizations running multiple Kubernetes clusters need to efficiently allocate cluster resources to different teams and projects while maintaining isolation and resource limits.

Challenges

  • Cluster Capacity: Understanding available resources across multiple clusters
  • Team Isolation: Ensuring teams don't interfere with each other's workloads
  • Resource Optimization: Maximizing cluster utilization while maintaining performance
  • Multi-Cluster Management: Coordinating deployments across different clusters

Solution with Custom Resources

resources:
k8s_resources:
selector:
type: K8s
attributes:
- cluster_name: Target Kubernetes cluster
- region: Cluster geographic region

Benefits:

  • Resource Isolation: Each project gets dedicated namespaces with resource limits
  • Capacity Planning: Clear visibility into cluster resource allocation
  • Multi-Cluster Support: Automatic selection of appropriate clusters
  • Policy Enforcement: Consistent security and resource policies

CI/CD Pipeline Resource Allocation

Business Context CI/CD pipelines require dedicated build agents and runners, but these resources are expensive and need to be shared efficiently across multiple teams and projects.

Challenges

  • Agent Availability: Ensuring build agents are available when needed
  • Resource Specialization: Different builds require different agent capabilities
  • Queue Management: Preventing build queues from blocking critical deployments
  • Cost Control: Optimizing agent utilization to minimize costs

Benefits:

  • Intelligent Allocation: Pipelines get appropriate agents for their requirements
  • Resource Optimization: Better utilization of expensive build infrastructure
  • Build Reliability: Consistent, predictable build environments
  • Scalability: Easy to add new agents and distribute load

Network Resource Management

Business Context Complex applications require specific network configurations, IP addresses, VLANs, and firewall rules. Manual network management leads to conflicts and security issues.

Challenges

  • IP Address Conflicts: Preventing duplicate IP assignments
  • Network Segmentation: Ensuring proper network isolation
  • Firewall Management: Coordinating firewall rules across environments
  • Compliance: Meeting network security and compliance requirements

Benefits:

  • Automatic IP Management: No more IP address conflicts
  • Security Consistency: Standardized firewall and security configurations
  • Compliance Assurance: Automatic application of compliance policies
  • Network Visibility: Clear tracking of network resource allocation

License Management

Business Context Software licenses are expensive and often have strict usage limits. Organizations need to track and optimize license utilization across different projects and environments.

Challenges

  • License Compliance: Ensuring license usage stays within limits
  • Cost Optimization: Maximizing value from expensive license investments
  • Usage Tracking: Understanding which projects use which licenses
  • Audit Preparation: Maintaining accurate license usage records

Benefits:

  • Automatic Compliance: Prevents over-allocation of licenses
  • Usage Optimization: Better visibility into license utilization
  • Cost Management: Data-driven license purchase decisions
  • Audit Readiness: Comprehensive license usage tracking

Disaster Recovery and Backup Resources

Business Context Applications need backup and disaster recovery capabilities, but these resources must be coordinated to avoid conflicts and ensure compliance with recovery time objectives (RTO) and recovery point objectives (RPO).

Challenges

  • Backup Window Management: Coordinating backup schedules to avoid conflicts
  • Storage Allocation: Managing backup storage across multiple systems
  • Recovery Testing: Regular testing of disaster recovery procedures
  • Compliance Requirements: Meeting regulatory backup and retention requirements

Cross-Cutting Benefits

  • Coordinated Scheduling: Prevents backup window conflicts
  • Compliance Assurance: Automatic compliance with retention policies
  • Resource Optimization: Efficient use of backup infrastructure
  • Recovery Planning: Clear recovery capabilities and timelines

Operational Benefits

  • Automation: Reduced manual coordination and configuration
  • Standardization: Consistent resource configurations across environments
  • Visibility: Clear tracking of resource allocation and utilization
  • Conflict Prevention: Automatic prevention of resource conflicts

Financial Benefits

  • Cost Optimization: Better utilization of expensive resources
  • Budget Predictability: Clear understanding of resource consumption
  • License Compliance: Avoiding costly compliance violations
  • Waste Reduction: Elimination of over-provisioned resources

Security and Compliance Benefits

  • Policy Enforcement: Automatic application of security policies
  • Audit Trails: Comprehensive tracking for compliance reporting
  • Access Control: Controlled access to sensitive resources
  • Risk Mitigation: Reduced risk of security misconfigurations

Implementation Considerations

Planning Phase

  1. Resource Inventory: Catalog existing resources and their attributes
  2. Usage Patterns: Analyze current resource usage and allocation patterns
  3. Team Requirements: Understand team-specific resource needs
  4. Compliance Requirements: Identify regulatory and policy requirements

Rollout Strategy

  1. Pilot Program: Start with a single team or use case
  2. Template Development: Create reusable blueprint templates
  3. Training: Train teams on new resource reservation workflows
  4. Monitoring: Implement monitoring and alerting for resource usage

Success Metrics

  • Resource Utilization: Improvement in resource utilization rates
  • Conflict Reduction: Decrease in resource conflicts and manual coordination
  • Deployment Speed: Faster environment provisioning times
  • Cost Savings: Reduction in resource waste and over-provisioning

Next Steps

  • Setup Custom Resources - Learn how to implement these use cases
  • Consider which use cases apply to your organization's challenges