The CF App Autoscaler Genesis Kit deploys the Cloud Foundry App Autoscaler - a service that enables automatic scaling of Cloud Foundry applications based on predefined rules and metrics. This ensures optimal resource utilization and application performance by dynamically adjusting instance counts in response to workload demands.
As the App Autoscaler is tightly coupled to Cloud Foundry, this kit requires a CF deployment created with the cf-genesis-kit version 2.0.0 or higher.
┌─────────────────┐ ┌─────────────────────────┐
│ │ │ │
│ Cloud Foundry │◄────────┤ App Autoscaler Service │
│ Applications │ │ │
│ │ └─────────────┬───────────┘
└────────┬────────┘ │
│ │
│ │
│ │
│ ┌───────────▼───────────┐
│ │ │
└───────────────────►│ Metrics Collection │
│ │
└───────────────────────┘
- Dynamic Application Scaling: Automatically scale applications up or down based on metrics
- Multiple Metric Types: Support for CPU, memory, response time, and throughput metrics
- Policy Management: Configure and apply scaling rules through intuitive CLI commands
- Service Broker Integration: Seamless integration with Cloud Foundry service broker framework
- Database Flexibility: Support for both PostgreSQL and MySQL databases
- Infrastructure Support: Deployable across multiple IaaS providers including OpenStack and STACKIT
- Genesis v2.8.5+
- Cloud Foundry deployment created with cf-genesis-kit v2.0.0+
- BOSH director with Credhub
- CF CLI installed locally
App Autoscaler Kit Version | Compatible CF Genesis Kit Versions | App Autoscaler Release Version |
---|---|---|
4.1.x | 2.0.0+ | 15.3.1 |
4.0.x | 2.0.0+ | 15.2.0 |
3.x.x | 1.x.x, 2.0.0+ | 14.x.x |
2.x.x | 1.x.x | 3.x.x |
To use it, you don't even need to clone this repository! Just run the following commands:
# Create a cf-app-autoscaler-deployments repo using the latest version
genesis init --kit cf-app-autoscaler
# Create a deployment repo using a specific version
genesis init --kit cf-app-autoscaler/4.1.2
# Create a custom-named repository
genesis init --kit cf-app-autoscaler -d my-cf-app-autoscaler-configs
Change to the created repository and run the following commands:
# Create a new environment file
genesis new my-env
# Deploy the environment
genesis deploy my-env
After deployment, you'll need to:
-
Install the CF CLI plugin:
genesis do my-env setup-cf-plugin
-
Bind the autoscaler service broker to CF:
genesis do my-env bind-autoscaler
-
Create and apply autoscaling policies:
genesis do my-env config-autoscaler
- Service Broker Registration Fails: Ensure your CF API is accessible and credentials are correct.
- CF Plugin Installation Errors: Make sure you have the latest CF CLI and proper internet access.
- Database Connection Issues: Verify database credentials and network connectivity.
-
Check BOSH deployment status:
bosh -d my-env-cf-app-autoscaler instances
-
Verify service broker registration:
cf service-brokers | grep autoscaler
-
Test service broker binding:
genesis do my-env test-bind-autoscaler
- Detailed Manual - Complete information on features and parameters
- Infrastructure Support - IaaS-specific configurations
- Autoscaler Configuration - Creating and applying scaling policies