For many small businesses and start-ups looking to venture into cloud computing, the Amazon Web Services (AWS) platform, with its accessible low-cost pricing structure, makes it easy to test the waters of cloud computing without having to commit too much.
Because Amazon services are relatively cheap, an AWS small business will often view the costs associated with server provisioning as almost minor when compared to the cost of buying the infrastructure for themselves, or against the larger overall budget of a project.
However, such thinking minimizes the significance of EC2 server costs, and it becomes all too easy for project managers to spin up instances without proper consideration of the bigger picture. Specifically, the danger here is that it can result in resource over-provisioning and user ‘sprawl’.
The problem then becomes worsened as projects move forward and extra EC2 servers are spun-up but not switched off (after testing, for example), which ultimately results in an expensive AWS bill landing on the desk of someone in finance. It is only at this point that realisation dawns of just how quickly EC2 costs can stack-up!
AWS Small Business Frustrations
The causes of an unexpectedly large EC2 server bill usually develop within the early stages of AWS usage, when it’s not uncommon for small companies to skip managing their AWS account properly to get to the heart of what they really want to do – developing and testing.
In fact, smaller AWS companies should look to lower their incoming costs at the very start by flexibly matching their provisioning against their actual usage, and examine the areas that actually affect their AWS EC2 costs, such as:
- Server platforms – what operating system does your server need?
- Server regions and availability zones – where is it needed geographically?
- Server types – what is your server going to do?
- Server size – how large or small does your server need to be?
- Server tagging – have you tagged you servers for accurate costs allocation?
However, to newly initiated AWS users, such planning isn’t always obvious and it is why Amazon looks to resolve such issues with their library of features available from the AWS management console – which help to control usage and review costs with features such as Cloud Watch, Auto Scaling, and their Trusted Advisor Dashboard, all of which support Amazon’s mantra towards optimizing cloud usage: provision correctly, provision elastically, and save more!
Which is great if you’re a large organisation with the resources and DevOps expertise on-hand to utilise these features as needed. But for an AWS start-up with limited resources and not many developers, the solutions available aren’t practical or quick, and often divert your human resources away from the real projects, which in turn reduces your bottom line productivity.
Essentially, to reduce costs you should provision correctly and turn your servers off when not in use. As such, a common workaround for small AWS companies is to write or deploy their own script for EC2 scheduling or automation, which for example turn servers off when people go home for the day. Useful under the right circumstances, but how often do things go to plan? Chances are that a schedule will clash when someone is working, and you’ll need to pull someone away to look at it again.
AWS Small Business Needs
The needs of an AWS small business are fundamentally different to those of a larger organisation.
While many small businesses support the AWS value proposition and enjoy the same benefits as large companies, they’ll rarely engage as deeply with the platform as the big boys because of their limited resources and the fact they’ve got fewer projects that require the breadth of utilities on offer. All of which isn’t helped by the platform being notably complex, with intricate dashboards and AWS terminology used throughout its design.
As a result, AWS small businesses will often have a tough-time justifying any increased use of AWS and will look for a solution that simplifies its usage even further.
Third party tools can help in this respect, offering user-friendly controls to help manage servers, or supplement home-grown scripts, with simple-to-use EC2 features that provide on-demand control, automation and scheduling – that optimize cloud usage without you having to get your hands dirty.
Overall, Amazon offers some very good solutions for big users, but for everyone else a clear EC2 management solution can often take the technical headaches away.