Getting Started with Resources
PowerDown will automatically discover all your resources in connected cloud accounts. These resources include:
- Autoscale groups
You can also create virtual resources to combine physical resources into groups that can be managed as a unit. These are called Resource Groups.
PowerDown will automatically discover cloud resources as they are created (by whatever means) and will automatically remove them from view and management if the resources are terminated. In this manner, PowerDown tracks your actual cloud resources without you having to take manual action. The PowerDown dashboard and the Resource list are updated live so you do not have to click reload to get the latest snapshot of your cloud state.
By default, PowerDown scans all active cloud regions every two minutes for changes and new or terminated resources. Inactive regions are scanned once every hour.
Once resources are discovered, users can attach one or more personal schedules to those resources and PowerDown will then automatically start and stop them and all dependent resources as required. PowerDown will compute exactly when resources should be powered down and when they are required by combining all user schedules, resolving the time zones and then creating a universal schedule for each resource.
While this schedule is used as the basis, users can still easily override it for unexpected needs without having to redefine it. They can do this from the dashboard or via the PowerDown CLI tool.
PowerDown resources have three names:
- Unique long form name
- Short form name
- Cloud tag name
The long form name is globally unique for your account across all teams and providers. For example: acme/server/i-0d22fb062a6823890. The name has 3 parts: the cloud provider account name, the type of resource and the resource identifier. The long name is used for API calls to uniquely identify a resource for your account.
The short form is used for display in the Resource List and other places in the dashboard and the PowerDown CLI. For example: the long form name acme/server/i-0d22fb062a6892389 would have a short name of i-0d22fb062a6892389.
The cloud tag name corresponds to the Name tag defined by you in your cloud account. The tag name is used for display in the App for easy identification.
For any resource, you can attach a PowerDown schedule to control when it should be powered up and down. You can override the schedule via the PowerDown App or the PowerDown cli to direct resources to be powered up as required. You can also click the on / off toggle to immediately override the schedule.
If you use an out-of-band (non-PowerDown) means to power up or down a resource such as via the cloud provider console, API or CLI, then PowerDown will notice the change and update its state accordingly. If the resource has an attached PowerDown schedule that requires that the resource be powered up and you have manually powered down the resource, then PowerDown will immediately power up the resource — negating your manual actions. If you need to manually intervene and prevent PowerDown from enacting its schedule for a resource, you can either disable the schedule via the Enable Schedule option in the relevant schedule, or you can temporarily disable PowerDown services for the team or for your entire account.
Autoscale groups are scalable resources that launch one or more server instances. An Autoscale group defines how many server instances should be active. When in a powered down state, an Autoscale group would typically define a count of zero. However, you can override this and define a non-zero number of instances when powered-down to enable a "low-power" mode where the Autoscale group is still available when powered down, but at a reduced capacity.
Server resources are individual AWS EC2 compute instances. They may be reserved, on-demand or spot instances.
PowerDown will discover your servers and track their instance state. If the servers are part of an Autoscale group, they are marked as a dependency of the Autoscale group. If the Autoscale group is powered up or down, the server instances will first be powered up or down as required.
PowerDown supports AWS RDS databases including MySQL, MariaDB, Postgres, Oracle and Microsoft SQL server. Amazon Aurora is not supported as it is not possible at this time to stop AWS Aurora databases without terminating them.
PowerDown supports the AWS Elastic Container Service (ECS), both classic EC2 and the newer infrastructure-less Fargate. PowerDown will discover your ECS services which manage container tasks. PowerDown will manage ECS services similarly to Autoscale groups and will change the task count in response to power up or down events.
PowerDown augments the "physical" cloud resource types with Resource Groups which are a virtual resource that groups other physical or virtual resources. Logical groups are used to create high-level resources that can be managed as as unit. Resource groups can contain other servers, autoscale groups, databases, container services or other resource groups. A typical use is to combine an entire environment such as "staging" or "test" into a single resource that can be scheduled and powered up or down with one command.
Resource Groups can specify their member resources by name or by matching tags. When specified by name, the relevant resources can be selected by the PowerDown App Add Resource Group form and selecting By Name. If the member resource is terminated, it is removed from the group by PowerDown.
When selecting resources by matching tags, one or more tags are specified to define which resources to include or exclude. If resources are created in your cloud that match the specified group tags, the resource will automatically join the resource group and be managed by its schedule and respond to its power up and down events.
PowerDown calculates usage statistics for all resources, teams, schedules and for your entire account. This information is presented in the Resource List, Schedule List, Team List and for the account on the Dashboard.
The following statistics are computed:
- Rate — the cloud provider charge rate for resources per month.
- Spent — the amount that has been incurred and will be paid to the cloud provider for the resources this month.
- Saved — the amount that has been saved by powering down the resources this month.
For example: an AWS T2.micro instance has a rate of $8.35 per month in the us-east-1 region. If that resource were powered up 33% of the time, it would have a Spent value of $2.78 and a Saved value of $5.57.