Back when I was a teenager (just shortly after the earth cooled), the term “parking” meant something a lot different than just finding a temporary spot for your automobile. It means something different in the context of public cloud computing, too. While not as exhilarating as the previous context, “parking” cloud resources can be quite rewarding.
The purpose of this brief article is to discuss what I mean by parking in this context, why you should consider it and how to go about doing it using ParkMyCloud.
What Is Parking?
“Parking” refers to the ability to schedule the stopping of your compute resources, when they are not being used, as well as the starting of those resources, when you do need them. Automatically turning off these less frequently used resources, when not in use, reduces your monthly cloud services bill. Specifically, we’ll be talking about parking your Amazon Web Services (AWS) EC2 instances.
Why Should I Park My EC2 Instances?
One of the biggest challenges in the rapidly growing cloud computing world is cost control.
If we look at a typical AWS bill, roughly 66% of that bill is for EC2 instances. Additionally, slightly more than half of those instances are used in non-production environments. If you could park those infrequently used instances, say, just the non-production instances, you could easily save 20% or more on your monthly bill.
To see how this is accomplished, suppose you’re running a modest environment of 20 EC2 instances (m3.medium) and half of those are non-production development environments.
Let’s look at this example with and without parking.
Without parking, you can see that your on-demand compute cost for this environment (without bandwidth and other add-on charges) is going to be about $981.00 per month.
Certainly you could take advantage of AWS Reserved Instances (RI), and that would knock down your compute costs to as low as $588.40 per month, saving you about 40%. However, you would need an upfront capital investment to achieve this lower number.
Now let’s look at these same environments with parking applied to the non-production EC2 instances.
The schedule assumes the non-production resources are running from 7:00 a.m. – 7:00 p.m. weekdays and parked evenings and weekends. Notice that you save 32% off your total monthly bill on the on-demand pricing. If you choose to use both parking and RI, you can increase those savings to 59% per month. In the case of the on-demand pricing, you would save $3,785 a year in compute costs and your payback would be less than 6 months.
If you pick a different operating system (e.g., Windows or RHEL vs. Linux), choose a larger instance size (e.g., m4.large vs. m3.medium) or park more instances, your savings increase and your payback period decreases.
How Do I Park My EC2 Instances?
Well, you could develop custom scripts to achieve these savings. Of course, you would have to maintain these configurations or scripts and remember to adjust them every time your environment changes.
Or, you could use ParkMyCloud. With ParkMyCloud, you can discover and apply parking schedules to your compute instances without scripting. You merely enter your AWS credentials and ParkMyCloud shows you all of your compute instances in all AWS regions at a glance (something AWS does not currently do).
You then apply parking schedules to the instances that can be turned off when not in use. The schedule automatically parks and restarts the instance at the appointed times. When you remove a parking schedule, the EC2 instance is returned to a running state, just like we found it. It’s that simple.
The savings are immediate and those savings increase dramatically as you increase the number of instances you park.