If you’ve recently received a higher than normal AWS bill, then it might be worth taking a look into how you’re managing your cloud.
Server waste generally occurs within growing businesses that require more power for running tests and developing on EC2 AWS servers. The actions that cause this waste are typically embedded in how efficiently your servers are being used, and if there’s enough flexible control to manage requests.
However, for a financial director or project manager, who typically don’t have access to server information, trying to reduce these ‘surprise’ costs often means scaling back on increased budgets, or denying requests for new hardware.
With this in mind, the first step to lowering your AWS billing is to understand how this server waste happens.
Are You Paying For Inactive Servers?
Overprovisioning is one of the biggest mistakes companies make when running an infrastructure in a cloud based PaaS or IaaS solution like Amazon Web Services (AWS).
The problem is that companies either buy too much cloud computing power or not enough reserved instances from Amazon.
The usual scenario is that DevOps teams overprovision infrastructure – that is they buy too much capacity just in case they need it to handle peak demand.
However, the drawback of doing this is that many organisations dissipate money by under-utilising the resources they’ve bought.
One problem is where end-users acquire cloud services on an ad hoc basis – perhaps because they needed a cloud service for a limited period of time, or because there are cyclical peaks in demand – but then end up paying for the extra cloud instances all the time, or for longer durations than required, because the resources aren’t throttled back as soon as they’re no longer needed.
Additionally, in some cases, a company might be using the wrong usage tier and could make significant savings if they moved from a medium-usage tier to a micro-usage tier.
In other cases, a company might be running an extravagant number of EC2 instances when they weren’t needed most of the time. In the latter case, such carelessness can result in recurring cost that can go on indefinitely if the right monitoring or expertise isn’t in place.
One option to lowering costs is to purchase reserved instances, which is Amazon’s way of lowering the hourly cost of infrastructure in exchange for a prepayment.
But with over 2000 different types of reservations you can buy, many organisations are uncertain of what they need and so hesitate in buying reserved instances.
Altogether, the costs associated with cloud computing can be broken down into three forms:
- Additional cloud service fees because of a failure to properly configure the cloud services.
- Management solution costs if you choose to use one of the growing assortment of IT management vendors to help you control your cloud resources.
- Added internal and/or external technical support costs.
All of these factors make a significant contribution to your AWS costs and result in very real billing nightmares.
What’s often overlooked in all of this is that servers have an ‘off’ button like most other things. Yet frequently servers are left running overnight – simply because someone forgets to turn them off, or are considered too much of a hassle to bring back online due to the need for technical staff to do the job. This latter case usually takes the form of wasted time in a request being acted on by the I.T. department.
This then raises the question of who should be responsible for servers?
Realistically, if you’re involved with the cloud in any capacity, you should understand how the use of cloud servers affects their billing and therefore have a degree of control over them; a notion that’s also supported by those at TechTarget.
How Can I Control our Servers?
There are three suggested courses of action to create AWS savings:
- Scheduling
- Automation
- On-Demand
All three have one thing in common: switching a server off when it’s not needed.
1) Start Scheduling Server Activity
The first step in reducing server wastage is to look at your potential for AWS scheduling.
Scheduling isn’t a new concept by any means, but implementing it effectively and easily is the key to achieving sustainable results.
Atomic Object explains that “If you need development, testing, QA, and production environments, this quickly becomes fairly expensive. However, if you turn off the non-production environments (development, testing, and QA) when they won’t be used (such as at night), you can greatly reduce the total cost of the operation.”
With this idea in mind, businesses can forecast the server usage they expect (high or low), lowering the risk of unexpected server costs; which in turn creates an up-spin in server speed for developers, and lowers the man-hours needed from IT.
Great, how do I do this?
There are several methods to start scheduling, ranging from third party software, through to having your IT team write their own script. You could even configure a data pipeline to run AWS CLI commands that stop and start EC2 AWS server at scheduled intervals.
2) Server Automation – Your On/Off Switch
The principle of server automation, is that a server will automatically switch itself on and off, depending on the set of conditions programmed to it.
Servers can therefore be programmed to respond to changes in demand, just like how a developer will periodically start and stop his testing throughout the day. This makes automation a particularly useful tool for controlling your exact server usage, and a sound alternative to running a server 24/7.
Hence automation helps reduce both the cost and waste of a server, freeing up time for developers to work on other projects, and provides more up-spin for them to work with.
3) Accessing Servers On-Demand
Many third parties often claim that their software is on-demand, but what exactly does this mean? For many, it just means how quickly a server will shut down when a button is pressed, and while this does have its uses, it doesn’t address the bigger picture.
A server is only truly on-demand when it can be accessed by both developers and non-technical people, with each being able to utilise it effectively to reduce server waste.
The easiest way to achieve this is usually through specialised third party software. These packages help to lower the technical knowledge required to operate servers, offering easy-to-use interfaces, and reducing the risk of any user created errors.
That’s Great, But How Can I Monitor & Control Costs?
Monitoring your cloud usage when you don’t have much control over cloud services isn’t easy, but a way to get more visibility is to talk to your end-users, and find out when the servers actually need to be on. This at least helps you see the bigger picture, rather than just the bill.
Scheduling, automation, and on-demand are all great ways of regaining some control over you cloud. Some of these options give more flexibility than others, but they can all help to reduce your cloud costs, so you start to see AWS savings.
Cloud Machine Manager is a tool that uses all of these solutions to reduce AWS EC2 bills, so you’re truly only paying for what your company uses.
If you currently know your level of server usage, there is a savings estimator you can use to see how much you could be saving.