Skip to content

Commit

Permalink
upstream 5.1 - config-autoscaler - release notes and docs
Browse files Browse the repository at this point in the history
  • Loading branch information
itsouvalas committed Apr 8, 2022
1 parent 1b1e5da commit bcd2d39
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 2 deletions.
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,8 @@ Change to the created repository and run `genesis new <env-name>` to create
your new cf-app-autoscaler deployment environment file, then run `genesis
deploy <env-name>` to deploy it.

See MANUAL.md for more detailed information regarding features and parameters
See [MANUAL.md](/MANUAL.md) for more detailed information regarding features and parameters
to customize your deployment.

See [config-autoscaler.md](/docs/config-autoscaler.md) to setup basic autoscaling policies without having to
edit, create or have to manually apply a policy-example.xml
11 changes: 11 additions & 0 deletions ci/release_notes.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,13 @@
# Breaking Changes

This uses the latest upstream version 5.x.x which [_Drops support for CF CLI v6 and add support for v8 in the acceptance tests_](https://github.com/cloudfoundry/app-autoscaler-release/releases/tag/5.0.0)

# Features

* Using upstream 5.1.0 @genesis-bot
* Added [config-autoscaler](/docs/config-autoscaler.md) @itsouvalas

# Chores

* removed reference to xenial stemcells @JasonTheMain
* updated ci pipeline configuration to match new concourse environment @itsouvalas
63 changes: 63 additions & 0 deletions docs/config-autoscaler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# Autoscaling configuration

The `genesis do env_name.yml config-autoscaler` addon allows you to:

* Create autoscaling policies using basic metric types:
* CPU
* Memory Used (MB)
* Memory Used (%)
* Response Time
* Throughput (requests per second)
* Store them under `/policies` directory of the root of your deployment using `$org_name-$space_name-$app_name-as-policy.json` filename structure
* Apply them to a specific application running under your cf deployment
* Update or re-apply a specific policy

and it does that by:

* Logging you in to your cf deployment
* Querying for the available orgs/spaces under your cf deployment letting you select the desired one
* Querying for the available applications under the specified org/space letting you select the desired one

## Pros

* Allows you to create and apply policies without having to know the structure of a policy.xml file
* Avoids common typos that make the process tedious and time consuming
* Provides a solid starting point for identifying a basic set of available metrics that can be used for autoscaling
* stores everything by default under your deployment directory allowing you to push it to your repository which:
* Allows you to review each applications scaling policy in place without having to query cf for it
* Allows you to restore a policy

## Cons

* It doesn't allow you to use multiple metrics simultaneously
* It only allows for the specific metrics to be configured
* it doesn't make you an expert on policies

# Usage

```
genesis do env-name.yml config-autoscaler
```

Answer a series of questions:

* _Type the organization name your application resides on_
* _Type the space name your application resides on_
* _Would you like to connect to another org/space?_
* _Type the application name you would like to configure autoscaling for_
* _Type the minimum number of instances running at all times_
* _Type the maximum number of instances running at all times_
* _Choose the metric type used for autoscaling_
* _Type the threshold value at which your instances will scale up_
* _Type the threshold value at which your instances will scale down_
* _The policy file aleady exists. Overwrite it?_ (if a policy file for the specific org-space-app is already in place)
* _Type the autoscaler service name you would like to use_
* _The application is already bound to an Auto-Scaling service. Re-apply it?_ (if the application is already bound to a service)

# Demo - Creating a policy without having logged in to cf

![Creating a policy](/files/tty-first.gif)

# Demo - Updating a policy having logged in to cf first

![Updating a policy](/files/tty-second.gif)
Binary file added files/tty-first.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added files/tty-second.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion kit.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: cf-app-autoscaler
version: 3.0.0
version: 4.0.0
author: Dennis Bell <dennis.j.bell@gmail.com>
Ioannis Tsouvalas <tsouvalasi@atic.gr>
docs: https://github.com/cloudfoundry/app-autoscaler-release
Expand Down

0 comments on commit bcd2d39

Please sign in to comment.