[20160602143119] CPU Metrics; ECR in Ireland; Scale Down To Remove Unneeded ELBs

Rack CPU Utilization

convox instances was incorrectly calculating 0% CPU Utilization based off the ECS Instances CPU reservation information. We now pull the proper CPU Utilization Average value directly from CloudWatch Metrics:

$ convox instances
ID          AGENT  STATUS  STARTED     PS  CPU    MEM  
i-3a0de2bc  on     active  4 days ago  3   1.27%  7.21%
i-ff44b863  on     active  5 days ago  2   1.66%  6.41%
i-d1ec644b  on     active  3 days ago  0   0.29%  0.00%

The result of expertly wrapping these low level AWS services is a Convox REST API that is really easy to work with for monitoring and automation:

$ convox api get /instances
[
  {
    "agent": true,
    "cpu": 0.0123,
    "id": "i-3a0de2bc",
    "memory": 0.07212622088655146,
    "private-ip": "10.0.2.7",
    "processes": 3,
    "public-ip": "54.83.186.197",
    "started": "2016-05-27T21:31:16Z",
    "status": "active"
  },
  {
    "agent": true,
    "cpu": 0.016819999999999998,
    "id": "i-ff44b863",
    "memory": 0.0641121963436013,
    "private-ip": "10.0.1.50",
    "processes": 2,
    "public-ip": "54.210.12.112",
    "started": "2016-05-27T08:51:08Z",
    "status": "active"
  },
  {
    "agent": true,
    "cpu": 0.0028399999999999996,
    "id": "i-d1ec644b",
    "memory": 0,
    "private-ip": "10.0.3.191",
    "processes": 0,
    "public-ip": "52.91.82.58",
    "started": "2016-05-28T20:39:19Z",
    "status": "active"
  }
]

EC2 Container Registry In Ireland (eu-west-1)

AWS released its highly scalable, high performance Docker image registry service in Ireland a few weeks ago. Convox users in eu-west-1 will start using it after the next convox rack update and two app deploys.

We expect this to be faster and more reliable than the legacy private registry running in your rack. One more region to go (Tokyo ap-northeast-1) before we can remove the legacy private registry for good!

Scale Down to Delete Unneeded ELBs

If you scale a web process down to 0, convox retains the ELB so you will keep the same hostname if and when you scale a web process back up to 1 or more.

This has an unfortunate side effect of costing some of us $18/mo for an ELB we may not be using. Now you can scale a web process down to -1 to de-provision the ELB and save money:

$ convox scale web --count=-1
NAME  DESIRED  RUNNING  MEMORY
web   -1       0        256 

$ convox apps info
Name       httpd
Status     running
Release    RDJQJEUAPTP
Processes  web
Endpoints  :80 (web)

At any time you can scale back up to 0 or more to create a new ELB. The hostname will be different but your service will be back online in minutes.