scale

boxfuseScale

Scales an App to the specified capacity in a certain environment

Usage: gradle boxfuseScale -Dboxfuse.app=appName -Dboxfuse.capacity=instanceCount:instanceType

> gradle boxfuseScale -Dboxfuse.app=hello -Dboxfuse.capacity=3:t2.small -Dboxfuse.env=prod

Scaling hello to 3 t2.large instances in prod
Launching t2.large instance of axelfontaine/hello:1.0 (ami-f6384f94) in eu-central-1 ...
Instance launched in 00:10.009s -> i-f876f2ba
Remapping Elastic IP 54.11.12.1 to i-f876f2ba ...
Waiting 15s for AWS to complete Elastic IP Zero Downtime transition ...
Terminating instance i-053de18e ...
Deployment completed successfully. axelfontaine/hello:1.0 is up and running at http://hello-axelfontaine.boxfuse.io
Successfully scaled hello to 3 t2.large instances in prod

Class name

com.boxfuse.client.gradle.task.ScaleTask

Properties

Plugin Parameter Gradle/System property Default Description
user boxfuse.user Required - Your Boxfuse Client user. Also configurable via the BOXFUSE_USER environment variable
secret boxfuse.secret Required - Your Boxfuse Client secret. Also configurable via the BOXFUSE_SECRET environment variable
app boxfuse.app The name of the application
capacity boxfuse.capacity The capacity to scale an app to in a certain environment

Valid formats:

5:t2.small ensure there are always 5 t2.small instances running
2-10:c4.large:cpu30-70 auto-scale between 2 (min) and 10 (max) c4.large instances based upon average CPU load over the last 300 seconds scale in at 30% and below, scale out at 70% and above
2-10:c4.large:cpu30-70:60 auto-scale between 2 (min) and 10 (max) c4.large instances based upon average CPU load over the last 60 seconds scale in at 30% and below, scale out at 70% and above
2-10:c4.large:netin1024-8300 auto-scale between 2 (min) and 10 (max) c4.large instances based upon incoming network traffic per instance over the last 300 seconds scale in at 1024 KB and below, scale out at 8300 KB and above
2-10:c4.large:netin1024-8300:60 auto-scale between 2 (min) and 10 (max) c4.large instances based upon incoming network traffic per instance over the last 60 seconds scale in at 1024 KB and below, scale out at 8300 KB and above
2-10:c4.large:netout1024-8300 auto-scale between 2 (min) and 10 (max) c4.large instances based upon outgoing network traffic per instance over the last 300 seconds scale in at 1024 KB and below, scale out at 8300 KB and above
2-10:c4.large:netout1024-8300:60 auto-scale between 2 (min) and 10 (max) c4.large instances based upon outgoing network traffic per instance over the last 60 seconds scale in at 1024 KB and below, scale out at 8300 KB and above
env boxfuse.env The environment to scale the app in: test or prod

Sample Configuration

boxfuse {
    user='1234567890abcdef1234567890abcdef12345678'
    secret='ABCDEFGHIJKL1234567abcdefghijklmnopqrstu'
    app='hello'
    capacity='3:t2.large'
    env='test'
}

ps