AWS Instance Scheduler Comparison with PowerDown
PowerDown and the AWS Instance Scheduler are cloud schedulers that manage AWS EC2 servers and resources.
This document is a comparison of the PowerDown cloud optimizer service and the AWS Instance Scheduler solution.
Scheduling in the Cloud
AWS provides an EC2 service so that users can create and destroy infrastructure almost effortlessly. This is like magic as you can create one or a thousand servers in a matter of minutes. However, cloud resources are typically billed by the second and costs can quickly mount as you fully utilize the cloud.
Many of these resources, however are not required 24x7. In most organizations, a large number of resources are only required for a small percentage of time. While it is possible to manually turn off idle resources, doing so at scale has too much overhead. It is difficult to determine when cloud resources are needed for globally dispersed teams with changing resource needs. Consequently, many cloud resources are left powered up when they are actually not needed.
A cloud scheduler can be used to manage and automate the process of powering up and down cloud resources according to user needs.
AWS Instance Scheduler
Amazon recently updated their EC2 Scheduler solution and renamed it the AWS Instance Scheduler, but underneath the product is very similar to the old EC2 Scheduler.
The AWS Instance Scheduler is a basic AWS-provided solution that enables customers to configure custom start and stop schedules for their EC2 and RDS resources. The AWS Instance Scheduler is a "solution" not a service. This means it a set of components that are deployed into your account rather than a discrete service to which you subscribe. It is best suited for smaller scale and simple environments that need to schedule a few resources.
PowerDown is a cloud cost optimizer that lowers cloud costs by automatically powering down idle servers, databases and containers. PowerDown is a stand alone service that has minimal intrusion into your account and offers dynamic scheduling for your cloud resources. PowerDown is ideally suited for teams wanting to maximize their cost savings with minimal effort.
Packaging and Deployment
The AWS Instance Scheduler is packaged as a solution that is injected into your account. This has the advantage of a simplified subscription model via the associated compute and network costs of incurred by the solution. The disadvantage of the solution approach is that you clutter your account by importing the entire solution directly into your account. This includes Lambda functions, Cloud Watch events, security groups, Cloud Formation Templates, SNS endpoints etc. If you lock down your AWS configuration (which is a sound practice), this may be an unwanted intrusion. You must install the AWS solution into your account in every region in which you wish to use the solution.
PowerDown is a discrete service which is enabled by a single cross account IAM role in your account to access all your global AWS resources. That is the only intrusion into your account.
The AWS Instance Scheduler is configured via an extensive but complex multi-page Cloud Formation Template. This is run at initialization time and thereafter it is rerun if you wish to change the configuration. (Ease of use is not a strong point of the Instance Scheduler).
PowerDown is connected to your account via a simple, one click Cloud Formation Template. If you unsubscribe from PowerDown, the IAM role is removed. Management is via the PowerDown Web App.
The AWS Instance Scheduler can be configured via the CloudFormation template, the Dynamo configuration database or via the AWS CLI. However, there are restrictions.
"When deployed, the AWS Instance Scheduler creates an Amazon DynamoDB table that contains global configuration settings. To modify these global configuration settings after the solution is deployed, update the AWS CloudFormation stack. Do not modify these values in the DynamoDB table. If you modify the values in the DynamoDB table, you will create a conflict between the stored parameters in the stack and the values in the table."
AWS Instance Schedules are defined in the Dynamo DB Config table. Once created, the schedules are referenced via EC2 instance tags. Each schedule has a unique name. "For example, a user might ... create a schedule called "uk-office-hours". To identify an instance that will use the uk-office-hours schedule, the user adds the "Schedule" tag key with a value of "uk-office-hours" to each and every instance you wish to schedule. Note that schedules are specified in a single, fixed time zone. Users that need those resources in another time zone will need to adjust accordingly.
In contrast, PowerDown uses dynamic schedules. Users describe the resources they need and when they need them in their own time zone. PowerDown then creates and maintains a resource schedule based on the combined needs of all users.
Both the AWS Instance Scheduler and PowerDown can schedule EC2 instances and RDS databases excepting Aurora. PowerDown can also schedule ECS containers using Fargate.
The AWS Instance Scheduler does not have a dedicated user interface other than the normal AWS Console. There are no statistics to track or monitor the AWS Scheduler solution, except by digging into Cloud Watch Logs and the normal EC2 metrics.
PowerDown provides a detailed view into your resources, schedules and displays statistics regarding cloud costs and savings.
It computes the cost and savings on a per resource, team, schedule and account basis.
The AWS Instance Scheduler will schedule servers that have a common schedule tag. Multiple resources can share the same schedule tag. This provides a basic level of resource grouping.
PowerDown enables resources to be grouped into higher level entities that can be scheduled as a unit. These "Resource Groups" can depend on other resources or groups to any level.
Users can schedule individual resources or resource groups with equal ease. To change a schedule for all the resources in a group, only the group schedule needs to be modified.
The AWS Scheduler is charged by the associated resource cost of the solution components. This includes the compute and network charges for the Lambda, Cloud Watch Events, Dynamo DB and Cloud Watch Logs. Price will vary depending how many instances you schedule and how often the Lambda scheduling is run. AWS recommend that you run the Lambda scheduler not more than every 5 minutes -- presumably to keep Lambda costs down.
PowerDown charges a 25% of the savings you achieve due to powering down resources by PowerDown. No savings, no charge. If a resource is turned off manually or powered down long term (more than two weeks), there is no further charge.
The AWS Scheduler requires more extensive knowledge of AWS services including: Dynamo DB, Lambda, CloudFormation and Cloud Watch. It is suitable for small scale scheduling of a few resources in a single region with a single time zone. As a solution, it is not intended to be a complete service and thus lacks the ease of use and features of the PowerDown service.
PowerDown makes it easy to realize large savings in your cloud bill. Via an easy to use web UI or the command line interface, PowerDown make it simple and straight forward to lower your cloud costs. As a large or small business, PowerDown automates the scheduling of all your resources.
Test the Free Trial to see the capabilities of PowerDown for yourself.
- AWS Instance Scheduler: https://docs.aws.amazon.com/solutions/latest/instance-scheduler/welcome.html
- PowerDown: https://www.powerdown.io