DEV Community

Cover image for We created a tool that reduces AWS costs by 60%
Sara Miteva for Microtica

Posted on • Edited on

We created a tool that reduces AWS costs by 60%

We often think of the cloud as the perfect solution for saving on infrastructure costs, especially with pay-as-you-use models. However, moving the same on-premise infrastructure onto the cloud can end up costing you more, if you don’t do it properly.

AWS is the most innovative leader in the Cloud market. As a product fully-based on AWS at the moment, we tend to reduce cloud complexity for our users in every aspect. One of them is also the optimization of AWS costs.

AWS offers tools that you can use to visualize your costs and usage like the Cost Explorer and Budgets. You can also follow the Cost Optimization advice and recommendations to modify your instances and save money.

Here’s what you can do to minimize your costs on AWS:

  • Apply for AWS credits
  • Use Spot instances
  • Implement Auto-scaling for idle resources
  • Use the right AWS region
  • Rightsizing your needed compute resources

These action points can help you reduce costs, but they don’t always bring the best results. There’s also one more major thing about your non-production environments you can do to make sure you maximize your savings. Turning them off when your team is not using them.

Companies that are responsible with their finances for a project usually make one big mistake. They have only one cloud environment.

In this case, the process of developing the product is greatly affected. You need your development, testing and production environments to function properly. This is why we believe that saving on non-production environments when you’re not using them allows you to have 2 or 3 environments active in working hours.

Save 60% off Your AWS Costs

Since we are a startup, we need to keep our finances in order. That’s why we constantly work on reducing unnecessary costs. Microtica uses a great number of servers (EC2 instances) and RDS instances running to power our development, testing and production environments.

In order to optimize our resources, we decided to shut down non-production environments when they are not in use. As we are in love with automation, we started working on a solution to automatically turn off instances, with alarm-based jobs. After testing it out and receiving significant results for Microtica, we decided to offer this to our users too.

By shutting down the non-production servers outside of work hours, we managed to save 60% of our AWS monthly bill.

So, how can you take advantage of this feature?

Login to the portal and in the sidebar you will now notice the Cloud Tools section. Here you can see 2 new pages: Cost Explorer and Saving Schedules.

Please note that to use this feature, you just need to have a Microtica account. You have to give the platform access to your AWS account on which you’d like to activate the savings. However, your projects don’t have to be based on Microtica and you don’t have to use our platform as your automation tool.

Saving Schedules

To create a saving schedule, start by naming the schedule. Then, select the days you want the schedule to be active. Also, choose the timeframe in which the AWS resources should be active (start time and stop time).

Create schedule for environment resources

The next step is to select an environment on which you want to implement this schedule. On the right side, you will see all EC2, RDS and auto-scaling groups available in that environment which will be affected by the schedule.

When activating this schedule, it will mark all these resources to be shut-down at the defined Stop Time and to “wake-up” at the defined Start Time on the selected days. You will be able to follow the status of the resources in the list on the right.

Create schedule with tag filter

Another possible option to create a schedule, if you aren’t using Microtica environments, is to mark only the resources you want to affect with a tag. You can add tags to your resources in your AWS console.

Then, in Microtica you enter your AWS account id. You also add tag name and value to automatically shut down all the resources marked with this AWS resource tag. After this, you will be able to see whether they are running or not in the list on the right.

Adding a tag is optional. If you don’t filter by tag, all the resources found in the provided AWS account will be shut down.

After activating the schedule, you will be able to see it in the list of schedules. Here you have some basic information around which AWS account this schedule affects and the estimated savings “numbers”.

List of available schedules

Cost Explorer for AWS Costs

To stay on top of your cloud spendings and have full visibility of what is going on with the finances, we’ve created a Dashboard. Here, you will find some of the most important analytics connected with your AWS accounts:

  • the estimated cost of AWS for the current month
  • how the month-to-date spend is behaving
  • a breakdown of your cloud spendings in the last year with a forecast for the upcoming year
  • which AWS account costs you the most
  • which services take the most spendings
  • costs by allocation tag

Finally, you can see the accumulated estimated savings for the month. The data is based on the currently active saving schedules and daily utilization hours.

Cost Explorer

Cloud adoption is on the rise every year because of cloud computing benefits. Moreover, the impacts on collaboration, security, production, and revenue for companies are obvious.

By implementing steps to effectively manage your cloud savings you will experience the long-term financial benefits. This will help your company increase growth, repurpose more resources for market research and development, and ultimately, for marketing activities for your products and services.

Top comments (0)