Our company moved development into the cloud because we wanted to test easily and quickly. Sometimes, we end up spending a little more than we should doing it. What is the best way to keep costs down when testing in the cloud?
The biggest source of wasted costs in Amazon Web Services (AWS) comes from leaving instances on because you're thinking of them as servers. Instances are not servers and they don't need to be kept running. In fact, they should be thought of as incredibly disposable components -- something you can easily just shut off at a moment's notice.
More on testing in the cloud
Performance test in the cloud
U.S. Army tests cloud apps
Cloud integration challenging testers
Testing in the cloud can be incredibly cheap and efficient if you do it right. The first rule of testing is to remember to "shut off the lights when you're done." You pay for every hour that an instance is running, so if you don't need to test at night, shut the servers down before you leave. Try to encourage your developers to disable any systems they aren't actively using. AWS chief technology officer Werner Vogels describes this in his commandment, "Thou shalt shut off the lights."
Some companies have taken this to another level, having real-time graphs and lights on "dashboards" running in their offices. These real-time graphs can be used to show the total cost of the current running environment. Doing something like this encourages your developers to monitor more closely their impact on the cost of the business and gives them something to be excited about when they lower costs. Just like you wouldn't leave a light on when you're the last one to leave the room, why would you leave a server on when you're the last one to use it for the night?
This was first published in December 2012