When you are just starting out you usually want to get things done quickly. Also, most companies do not worry much if keeping the system up and running costs $10 a day instead of $8 a day. It is more important to keep development costs and time low.
However, once your company has reached a certain size, you are suddenly spending $1,000, $10,000 or even more a day. Now you could save thousands or even millions of dollars if your solution would require fewer resources.
We will discuss some strategies to reduce resource requirements below. Fewer resources usually means lower costs, but it can also translate to other benefits like communication speed.
Cloud resources
Sometimes a quick audit of the properties that are used for your Cloud resources can already result in significant savings. Here is an example.
Let us assume that your team has configured and AWS Lambda Function with 10,240 MB of memory to make sure the function is not running out of memory. At the beginning it was unclear how much memory will be required, so it made sense to do this. An audit reveals that the function is now called about 700,000 times a day and never requires more than 1,024 MB of memory. Further investigation shows that there is no noticeable improvement on runtime or other metrics if the function was assigned more than 2,048 MB of memory. With 2,048 MB of memory and above it runs about 1 second on average.
To calculate the annual savings we need to first calculate resource requirements in GB-seconds: 511,000,000 for 2,048 MB of memory versus 2,555,000,000 for 10,240 MB of memory. If run on x86 architecture in Australia this translates to USD 8,517 versus USD 42,583 (at the time of writing this). In this example, the company could save USD 34,066 a year simply by changing a property of a Cloud resource.
If it is easy to change the architecture from x86 to ARM, the company could save another USD 1,704 a year. In some cases this also just requires changing a property of a Cloud resource, but sometimes it requires additional work.
This might all sound far too technical to you. Also, things are not always so straight-forward. However, it should be clear that there could be a huge saving potential. Experienced and independent experts from CyberMindHive can help you to identify ways to make your Cloud resources more cost-effective.
Architecture
Tuning individual components – in the Cloud or on-premises – often provide quick wins that require little work. However, in many cases the biggest reduction of resource requirements – often while improving system performance at the same time – comes from architectural improvements.
There are many different ways to improve the system architecture. Also, it depends a lot on the company’s stage, needs and capabilities which changes make sense when. Here are some examples:
We have extensive experience in minimising resource requirements using the techniques discussed here. If you want to free up some resources and money that you can use somewhere else, contact us now.