AWS makes computing in the cloud simple, cost effective and efficient to use. The way in which we utilise the resources available to us is so much easier compared to the traditional ways in which we previously computed and managed our IT infrastructure and resources. Sometimes the ease makes us take a more carefree approach to computing and our management of resource use or the control we have over what is running at any given time is not as it should be. Occasionally the way in which we use the AWS services becomes haphazard and mistakes become pronounced which could have a negative impact on the service, cost and user experience.
The mistakes encompass misusing resources or not using them in the correct manner leading to outcomes that result in overspending and decreased efficiency, some of the time.
There are some common areas where blunders often occur and if we are aware of them, the more chance we have to avoid them or prevent them from transpiring.
Some common mistakes worth avoiding when utilising AWS
Overspending when there is no need for this
Many of the errors made when utilising AWS result in unnecessary overspending. The increased cost is avoidable but many organisations still tend to overspend when it comes to AWS utilisation. AWS enables the swift allocation of resources and often organisations are running resources that they are not even aware of, resources in many regions and resources that are not even being used. If the resources are not needed you should not be running them and unnecessary spending can be avoided. Even if the resource is provisioned, maybe for future use, but is not actually being used this will incur cost. It’s essential to properly manage resource usage, to know what resources are being utilised, to know what resources are not needed and which resources have become stale. Better resource management is key to maintaining sensible costs.
It’s best to keep track of what you are spending on and keep reviewing on a quarterly basis to ensure that what you have subscribed to and using is still required.
Fail to plan, plan to fail
Planning should be a fundamental part of the process. Planning is especially important with regards to AWS instances and resources.
Plan your instance use so that the correct type, quantity and size are chosen and are fit for purpose to keep functioning optimal and costs realistic.
It’s fundamental that you plan so that you don’t over-provision, you may think by doing this you are allowing for further flexibility but instance types are optimised for certain functions, each with varying costs and capabilities. Only you know your specific deployment requirements hence you must take the responsibility for getting this right.
Moreover ensure you understand the different instance payment models available (on-demand, reserved and spot) and ensure you opt for the appropriate one or combination by planning ahead.
Devise a plan for managing your resources and the subscriptions, stick to it and keep it up-to-date.
Instance misuse and mismanagement
Instance use and management of instances and how we use them has the potential to be quite tricky. From choosing the size of the instance to the quantity of instances we require, through to the most suitable instance type. It is essential that we make the right decisions to get this right. AWS prides itself in flexibility but sometimes we find that the diverse selection makes the decision-making process more complex.
Instance type may be a problem for some. Each instance type is devised differently and for distinctive purposes. The problem occurs when you utilise an instance type for the wrong purpose resulting in overspending where you shouldn’t be and achieve less than optimal satisfaction.
It often transpires, to be on the safe side (so we think), that we choose oversized instances. These instances provide more power than is required, which again incurs needless cost.
Running more instances than is needed is also a common occurrence. There is no need for this, as AWS offers an auto-scaling capability to scale when and if required. Even more worrying is running instances without even knowing that they are running. Leaving instances to run without being used is futile and wasteful equivalent to leaving the water running unnecessarily.
If that wasn’t enough to consider the instance resource payments models are also a matter of decision making. The three models available are on-demand, reserved and spot. How you choose to pay for your instance resources heavily depends on your deployment and application. Each with their own benefits, differing usage will incite one model over another and sometimes a combination of models leads to the best efficiency in cost. Knowing when and how to utilise reserve and spot instances can significantly reduce your costs.
Although a very well known and highlighted ‘not to do’, this mistake still happens way to often, using your root account instead of creating a subaccount. This should not be occurring. Your root account gives full access to all your resources, for all your AWS services without restriction.
You should create an IAM user with admin privileges and individual IAM users with relevant permissions. Ensure that you set your permissions correctly. It is best to follow the least privilege approach whenever possible.
Errors in properly configuring security groups leads to weaknesses in security and makes you more susceptible to potential security threats.
Always utilise encryption to ensure the privacy and security of your data.
Don’t undervalue security, encrypt whenever possible, and for more sensitive data consider using Amazon Virtual Private Cloud (VPC).
Not obtaining the necessary education or keeping abreast with changes
Amazon ensures their AWS services are well documented and all documentation kept up-to-date. Online webinars are available to view, without charge, and very informative (take advantage of this). AWS educational events, conferences and talks occur globally. It’s important to have a good knowledge base of the various services and best practice to ensure the best possible outcome. Education is key to enhancing user experience and what you are able to achieve from the AWS service.
Availability and Backup Blunders
EBS snapshots allow you to create copies of your volumes. This doubles up as an effective solution for performing backups. It is not very effective if you take too few, too many or none at all, this is something that should be avoided. Not managing to ensure that data remains current is a big mistake. In case of an unfortunate event occurring, this may lead to loss of data. Getting the balance right is essential.
Spreading your workload over availability zones (within multiple data centres, within a region) is a great feature of AWS, however many make the mistake of not taking benefit from this. This feature when utilised correctly, increases availability and safeguards in case an outage does occur.
This by no means represents a comprehensive collection of pitfalls but rather a few of the common occurring blunders that stand out.
Spending a little more time on planning could have unprecedented advantages in the long run. Planning will help to optimise the service and assist the organisation in avoiding costs to spiral out of control unnecessarily.
Although AWS is a pay-for -what -you -use service, it’s important to remember that a lot of the time we are paying for resources that we are not actually using, merely because we have forgotten about them. Either they become lost in the many resources we have running at any giving time, or we have provisioned them for later use. These unused, yet provisioned resources still incur cost, cost that could be avoided.
Considering the areas where mistakes are often made and trying to work on these areas to avoid them could improve your experience with AWS, reduce unnecessary spending, enhance efficiencies and reduce potential vulnerability and security risk.