AWS Instance Scheduler Comparison with PowerDown
The AWS Instance Scheduler is a cloud schedulers that manage AWS EC2 servers and resources. PowerDown also has the ability to schedule cloud resources including EC2 servers, databases, containers and Auto Scale group.
This document is a comparison of the scheduling capabilities of PowerDown 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 management service that leverages excess cloud capacity to transparently optimize and scale workloads without impacting. PowerDown also powers down idle resources when they are not required and includes powerful scheduling capabilities.
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.
Schedules may need to be overridden for unexpected work or projects that go past their due date. PowerDown makes it easy for any user to say they need a resource or resource group to be available for an extended time. These extensions override the schedule and are automatically removed when they expire. This can be achieved via the web UI or via the command line.
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 15% 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 scheduling is easy to configure and has minimal intrusion into your account. It supports smart dynamic schedules that are automatically calculated based on per-user resource needs. Multiple resources can be scheduled as a high-level group with easy overrides.
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