Amazon Web Services (AWS) grew out of the technology that Amazon has developed over the years to serve its own empire of e-commerce websites and associated backend technologies. AWS is now an enterprise grade public cloud service, that is entirely suitable for hosting business critical applications. It can offer a significantly lowered cost of ownership, and also can deliver a highly robust, scalable application platform. However, there are challenges that need to be overcome with regard to AWS cost management.
AWS Cost Management Challenges
A year or so back, CloudCruiser published some very interesting results from a survey. These results show quite irrevocably, that many enterprises that rely upon AWS, face major cost management challenges.
Indeed, 66% of all companies that took part in the survey, stated that they have significant problems in managing ongoing AWS costs. With 25% of respondents admitting that they had completely failed to align AWS costs with predicted service consumption.
These challenges are a byproduct of what is seen as one of the core benefits of hosting an application using AWS. The fact that the platform is entirely scalable. You pay for what you use.
At face value, this may seem like one of the main reasons why cost of ownership of AWS applications can be lower than self-hosted. But it is a double edged sword. Without careful monitoring and managing of actual resource usage, AWS resource costs can spiral out of control very quickly. So how can we solve the challenge of not only ensuring that AWS costs are managed, but also that the lowest cost of ownership is achieved?
HOSTING AWS Cost Management Solutions
HOSTING offers a number of logical steps that can be taken to keep AWS costs as low as possible. Most of these are process driven and pretty simple to implement.
Centralized Billing – rather than shift responsibility for AWS resource payment to specific cost centers, owned by separate business units. Only then can the big picture be monitored effectively, and potential overspends flagged quickly. This in effect, puts a gatekeeper in place, to stop AWS costs from growing too high, or too rapidly.
Asset Management – so that resource usage can be tracked back to the original owner of the asset. This will involve setting up a standardized naming convention, that can quickly identify resource usage by owner.
Scalability – as it is easy to forget to turn off service provisioning for resources that are no longer needed. This may involve repeatedly decommissioning resources that are used regularly, but not regular enough to be considered “always on” applications.
Capacity and Cost Planning – this means analyzing just which resources need to be provisioned for use by applications. Some application may require a constant level of resource availability using a dedicated AWS instance. Others will only need resources sporadically, and may be able to share an AWS instance with applications with similar resource usage needs.
Change Management Optimization – so that applying additional AWS resources to an application requires that a case be made to prove the need. This case should clearly detail the benefits to be had from applying more resources, and thus incurring extra cost. The change management process needs to be able to verify the cost effectiveness of any new resource allocation, before approving it.
AWS is cost effective when managed properly. Only by intelligently monitoring and managing AWS resource usage, can true cost effectiveness be achieved. The stated benefits of AWS are pay for what you need, when you need it. However, failing to plan what is needed, and to monitor when it is needed, will lead to spiraling AWS costs very quickly.