NEW YORK -- Customers of Amazon Web Services should be proactively aware of costs, familiarize themselves with...
the pricing structure for various instance types, and always use the command-line interface.
At least, that's the advice for cutting AWS costs that independent consultant Ronald Bradford gave during a session at Cloud Expo here this week. "The thing that's most important that I spend time on with customers is managing their expectations around cost in cloud environments," he said. "The AWS billing system is very difficult to work with."
The AWS billing system is very difficult to work with.
Users shouldn't wait to get their bills at the end of the month before making cost-cutting changes to the environment, Bradford said, in part because it can be difficult to dissect AWS cloud bills and match them to what's being used.
There are simple ways to cut costs, such as using Amazon Glacier to reduce backup-file storage expenses. But the most important means of reducing AWS costs is awareness of the different instance types offered and which is the best fit for a given application.
Spot instances are one way to lower costs, if the application is suited for it, Bradford said. An m1.large instance in Amazon costs 24 cents an hour on demand, or about 17 cents an hour for a reserved instance -- when it's combined with the upfront charge of about 4 cents per hour. But a spot instance can be as cheap as 3 cents an hour. (Instance pricing varies according to region and operating system type.) But, Bradford warned, spot instances are not for every application. Depending on the zone and the number of users bidding on instances, spot instances can be more expensive than on-demand instances.
Furthermore, spot instances can be terminated if the marketplace bid price exceeds the price a user is currently paying, meaning that spot instances should be used only for workloads that can be restarted, Bradford said.
Other cost-cutters include using the CloudFront Content Delivery Network to scale the performance of Web servers rather than adding more instances, getting rid of old Elastic Block Store snapshots, and most importantly, removing or shutting down unused instances. "Why run your Web servers over 24 hours?" Bradford noted. "If you can stop them for eight out of 24 hours when they're barely being used, you can save one-third of the cost."
Meanwhile, "if there's anything I've learned working with hundreds of Web servers is that it's very hard for a human to do." Therefore, users should familiarize themselves with the command-line interface (CLI) and learn how to automate such activities as provisioning new instances through scripts, which can also reduce the cost of man-hours spent running the environment. "Manual CLI use is slow," Bradford said. "Automation is critical."