It’s been 10 years since the original release of Amazon Relational Database Service (RDS) in October 2009, and we are still seeing advancements and changes being made to this database management software. Software for scheduling RDS start/stop times for database instances has become a part of cloud computing that continues to grow and develop. In 2017, AWS announced a new feature that would give businesses the ability to stop RDS instances and start them again without losing automatic backups or transaction logs. Previously, when it came to an AWS database, the only available option for starting and stopping RDS database instances was to take a snapshot of an instance, delete it, and later create a new instance using the snapshot as a restore point.
This was great news for cost-conscious businesses which, up until now, had to leave databases running twenty-four hours a day, meaning they were being charged for time they were often not using. The “stop RDS” functionality as several advantages over the snapshot method. Such as, the fact that databases will now be restored to the same configuration they were when stopped, unlike with an AWS snapshot. However, with every silver lining there comes a cloud, and – although businesses will be able to stop RDS instances and not get charged for database instance hours – they will still have to pay for provisioned storage, manual snapshots and automated backup storage.
The ability to automate scheduled start/stop times for RDS instances had all eyes on AWS and started another wave of development in automated scheduling software.
Automatically Create Custom Schedules
Amazon has updated their solution that is used to automatically create custom schedules for RDS instances, known as the AWS Instance Scheduler. Features that come with this update include; cross-account instance scheduling, automated tagging, scheduler command-line interface, and partial automation. These new developments help with the planning and scheduling of instances by allowing users to start and stop their instances for up to 7 days at a time. The start/stop instance function supports all database instance classes.
While stopped, storage volumes stay attached to the instances and their data is retained. Users can also look forward to the fact that the storage volumes stay attached to the instances and their data is kept.
This process is especially helpful for users who are using the databases for development and testing purposes. Having access to the instances you need, when you need them, and turning them off when you don’t need them, will allow you to do what you have to do without wasting money.
While this tool can be very useful, it is important to note some downsides. This tool allows you to manage and create custom schedules for your RDS, but this management is done entirely through editing DynamoDB table entries, which is not the easiest process for users. All of the settings in DynamoDB are applied through instance tags, which can be a problem if not all users have access to change tags. The Instance Scheduler does not provide the best auditing or multi-user capabilities, so if you have multiple users adding and updating schedules, you may want to consider an alternative.
The Added Expenses That Come With Manually Stopping RDS Instances
A downside to starting and stopping an RDS instance without automated scheduling software, is that the process is manual. The problem with this is that the manual process is time-consuming and can lead you to accrue a number of expenses. Though you can ask your developers to manually stop non-production RDS instances – such as those used for development, testing and staging – they may forget, leaving those instances running and driving up the bills. While your developers are capable of writing scheduling scripts to turn RDS instances on and off, this takes them away from their core projects, which may result in the business paying more for their time then they are saving.
Software for scheduling RDS start/stop times maximizes the benefits of being able to stop RDS instances automatically, leaving less room for human error. All team managers have to do is set a start time for when the working day begins, and a stop time for when the working day is finished. This saves time and money, and developers and team managers don’t have to stress about making sure instances are on or off when they need to be. Using a third-party tool, such as ParkMyCloud, for scheduling RDS start/stop times eliminates the issue with the “stop RDS” functionality where instances will automatically be restarted after seven days. With ParkMyCloud, when you schedule an instance to be stopped, it stays stopped.
Scheduling RDS Start/Stop Times with ParkMyCloud
Scheduling RDS start/stop times with ParkMyCloud is easy. Team managers create a limited-permissions role in the ParkMyCloud app and then access their Amazon account through the app. ParkMyCloud conducts a discovery of all the business ́s AWS accounts and displays them on a single-view dashboard so that team leaders can schedule start/stop times for RDS instances, EC2 instances, and auto-scaling groups. The same start/stop times can be applied to all of a business ́s RDS instances. Another available option is that different parking schedules can be applied to different instances depending on the requirements of the team.
After the schedules are confirmed, the app will display a projection of how much the business will reduce its cloud spend by, by scheduling RDS start/stop times. As soon as the schedules are in operation, a second figure displays showing how much has actually been saved. To give an example, here’s a scenario in which a business needs access to its RDS database between 8:00 a.m. and 8:00 p.m. Mondays to Fridays – the cost for database hours would be reduced by almost 65%.
Ways to Manage RDS Instances in ParkMyCloud
RDS instances can also be part of logical groups in ParkMyCloud. Let’s say you have a QA environment with a couple of RDS databases and multiple EC2 instances running a specific version of your software. ParkMyCloud allows users to create Logical Groups, which shows up as one logical entity in the interface but is scheduling multiple instances behind it. A logical group can be used to manage all the constituent parts of an application. For example, database, application servers, and web servers could all be members of a single logical group, managed by a single schedule. The start/stop times of the members within the group can be sequenced as needed and, with ParkMyCloud, “snoozed” if access is required during scheduled stop times. You can also set start or stop delays within the Logical Group to customize the order, so if databases need to be started first and stopped last, then you can set that level of granularity. Used as a part of logical groups, this allows you to organize and manage your RDS instances in one place, at one time.
Automatically Detect AWS RDS Databases
In ParkMyCloud, AWS RDS instances now a part of the list of resources that can be optimized with SmartParking. This new ParkMyCloud cost control functionality helps users find and eliminate cloud waste to optimize their AWS RDS costs. “SmartParking” is what we call automatic on/off schedule recommendations based on utilization history. Users can choose between three options for SmartParking schedules, “conservative”, “balanced”, or “aggressive”. Conservative schedules protect all historic “on” times, while aggressive schedules prioritize maximum savings. The utilization metrics data that we have started to collect from AWS databases, allows us to generate “smart” schedule recommendations for RDS resources. You can also customize your SmartParking recommendations for your environment – the settings are configured on a per-team, per cloud-provider, and per-resource type basis.
Stop RDS Instances with ParkMyCloud and Make Indirect Savings
Using ParkMyCloud´s software for scheduling RDS start/stop times can actually help businesses make indirect savings in addition to those achieved by reducing the charge for database instance hours. With the ability to stop RDS instances via a single-view dashboard, team leaders get total visibility over the business’s cloud operations and deployments. Thanks to the depth of insight this provides, decisions can be made to terminate or reassign underused instances – not just RDS instances but compute instances as well.
The total visibility provided by ParkMyCloud´s app can help improve a number of things such as reporting, planning, and budgeting. Team leaders can see which instances have been scheduled for parking, how much each parking schedule is saving, and if a further reduction in the charge for database instance hours can be achieved. Based on its scheduling function alone, ParkMyCloud typically pays for itself within two months. If you add the indirect savings businesses can make, the benefits of using ParkMyCloud to stop RDS instances can amount to much more.
What are your Costs?
With oversized resources comes wasted spend. The problem a lot of users run into is that they don’t know their costs. A recent report showed that more than 40% of cloud instances are oversized* – that is, they’re provisioned at a larger capacity than actually needed. That means you’re paying for capacity you’re rarely, or never, using, and paying 2-3 times what you should be.
It’s important to ensure that you’re matching your workloads to the instance types that best meet their needs, so you have the best and most cost-efficient option for your database. Here’s a breakdown of AWS RDS Instances types…
- General Purpose
- T3 instances – the latest burstable, general purpose instance type that provides a baseline level of CPU performance, plus the ability to burst CPU usage. Balance of compute, memory, and network.
- T2 instances – similar to T3, T2 instances are burstable general-purpose performance instances that provide a baseline level of CPU performance with the ability to burst.
- M5 instances – the latest general purpose instances with a balance of compute, memory, and network resources.
- M4 instances – balance of compute, memory, and network resources.
- Memory Optimized
- R5 instances – latest generation of memory-optimized instances.
- R4 instances – previous generation of memory-optimized instances.
- X1e instances – optimized for high-performance databases, offering one of the lowest prices per GiB of RAM.
- X1 instances – optimized for large-scale, enterprise-class and in-memory applications.
Pricing of these instance types depend on the RDS database engine you are running it in. To give an example, here’s what a memory-optimized R4 large compares to an R4 Extra Large across engines as one example. This is pricing for the US East (N. Virginia) region:
You can see how the cost of an AWS RDS instance doubles, or more, just by going up one size – this is the same across instance types, sizes, and regions.
RightSizing your RDS Instances with ParkMyCloud
Running relational databases on AWS can be relatively expensive when compared to EC2 hosting and becomes even more expensive if you have overprovisioned your resources. Analyzing each resource to calculate its optimum configuration can be a time consuming and costly process. However, by properly sizing and planning your resources, you save money that can be allocated to other projects in your budget.
Software solutions exist that can help determine appropriate AWS RDS sizing. However, these can be a false economy when they are bundled together with other software tools as cloud management solutions. Additionally, these solutions provide mere recommendations, without giving users the option to take action and automate sizing actions in any way. Automation is key to ensure that correctional action is actually and, of course, saving you time. This is why ParkMyCloud´s AWS RDS rightsizing solution is ideal to ensure you have provisioned your instances correctly to fit your needs.
ParkMyCloud can help you avoid wasted spend on AWS RDS instances by focusing solely on optimizing your resources. It does this by conducting a discovery of your resources via a permissions-limited IAM role and then delivering Instance Utilization Reports that show the peak and average utilization of your RDS resources over a series of customizable timeframes.
The heatmap-style reports identify resources that have a more expensive configuration than required. Then, ParkMyCloud makes recommendations about which resources could be rightsized, which could be terminated, and which could be reassigned to a cheaper pricing plan. The reports not only identify cloud waste in RDS provisioning, but also in EC2 and auto-scaling provisioning as well.
It is equally as quick and as cost-effective to use ParkMyCloud to schedule start/stop times for non-production RDS instances. After all, half the work is already done once the app has finished its discovery of your database resources on AWS.
Find out More about Scheduling RDS Start/Stop Times with ParkMyCloud
If you’re curious about Amazon’s ability to stop and start RDS instances, but are concerned about the productivity time that may be lost writing and maintaining scheduling scripts, speak with us – we will help you learn more about scheduling RDS start/stop times with ParkMyCloud. Our team of Customer Support Representatives will be happy to answer any questions you may have about our software and guide you through the best way to stop RDS instances on Amazon’s Relational Database to ensure you are not charged for time you are not using.
If you feel ParkMyCloud´s software for scheduling RDS start/stop times could be of benefit to your business, make sure to take advantage of our fourteen-day free trial. During the fourteen days of the trial, you should see sufficient direct and indirect savings so you can make an informed decision about whether to upgrade to a standard, pro, or enterprise plan at the end of the trial period. You also always have the option to continue using a “free tier” option, however that does not have quite as much functionality as the other plans.
- Scheduling start/stop times with ParkMyCloud is more reliable than instructing developers to switch off unused instances, and more cost-effective than writing and maintaining scheduling scripts
- Use ParkMyCloud to schedule start/stop times for non-production RDS instances – half the work is already done once the app has finished its discovery of your database resources on AWS.
- ParkMyCloud identifies underused and unused resources, so you can terminate or reconfigure them to be more appropriate for the needs of the business by rightsizing resources.
- RightSizing with ParkMyCloud provides you with a visualization that will highlight any resources configured with a more expensive feature-set than is required for their load, and recommend a more appropriate configuration.
- Software for scheduling RDS start/stop times maximizes the benefits of being able to stop RDS instances.
- Scheduling RDS start/stop times with ParkMyCloud is easy, cost-effective and more versatile than scheduling scripts.
- Manage database servers, application servers and web servers in a logical group with a single parking schedule.
- The total visibility provided by ParkMyCloud improves accountability, reporting, planning, and budgeting.
See how much your business can save on the cost of deploying EC2 and RDS instances on AWS. Start a trial of ParkMyCloud today.