Agriculture & Husbandry Solutions based on Ai & ML.
Learn more


AWS Experience: How to Reduce Costs and Increase the Effectiveness

AWS Experience
Jetruby guide

The MOST complete Guide to Finding the Best Developer for your App.

bonus gift

Automated Developer Evaluation Matrix

Score every developer and hire the best one!

Developers Comparison Template

Most important decision-making information organized in one place.

Table of Contents

In our company work the developers that do their best to develop qualitative software. We use the test-driven development approach and write the tests before the actual code to make it as reliable and effective as possible.

Additionally, we use automated builds for running the tests on every project when making a branch on Gitlab.

However, with the growth of our company, the infrastructure couldn’t handle the number our developers uploaded into DVCS. We came up with several solutions for this challenge.

Thus, we tried to run our tests faster than it was on the personal stations of our developers. Read this article to find out how we implemented this solution.

We also tried to resolve an issue with our infrastructure with an affordable price for its support.

Before moving all the infrastructure to Autoscale runners, we used self-hosting hardware located in our office. Among the expenditures were power costs. One machine cost was about 2-3$ per month. They functioned around-the-clock even if they were not loaded.

Moreover, because of loading, we couldn’t run the necessary number of builds concurrently. As a result, the average amount of build’s timeout could take up to 10 minutes. All the builds were terribly slow and unstable. All of these significantly slowed down the development process.


Our DevOps department reached a solution to start using Autoscale EC2 instances. This provided us with a possibility of using the necessary “power” as well as keeping the builds on in the needed moments.

So we got rid of our self-hosted solutions and start using AWS EC2. This was the beginning of our new infrastructure optimization.

We had 4 machines that were used as Gitlab Runners. The cost of every machine was around $500. All other vacant machines were given to our new developers so that we could save much money on buying the new ones.

We used the following runner’s settings.

Based on the settings, we could concurrently run 20 builds on 10 machines with 1 GB memory on each one.

We used packer for creating our personal AMI . Here’s how a config looks like.

This config allows creating AMI that is suitable for our work. There can be found the settings for ElasticSearch, SWAP as well as our keys for connecting with GitLab.

The Result

Using this configuration we significantly increased the effectiveness of our runners. Moreover, we solved an issue with builds lagging.

Thanks to Knapsack, all the builds have been parallelized to the great amount of machines.

Using Knapsack and fail-fast strategies, we were able to reduce the average amount of build on 25-30%. And now let the numbers talk for themselves.

The total infrastructure’s cost: $23

In contrast:

4 machines:

Monthly ~$12-14 + time spent waiting for the builds

1-time payment: $2000 cost of unused machines

For 1 Year: $2156

Autoscale Runners:

Monthly: ~$23 with no time for waiting

For 1 year: $276

As you can see, we successfully reduced both the company’s expenditures and time for the code delivery.

Useful article?

Please share with your followers

Farming management system

Tim Hammerich of AgInfo Sees Growing Focus on Animal Digital Monitoring

In his “Farm of the Future Report,” Hammerich writes that “there are actually some very interesting animal related technologies developing as well.
Startup Stages

You never knew these essential startup stages!

The job of an entrepreneur is not as easy as it might sound at first. Yes, it is a truly unique path that leads you through various startup stages while…
SHRM Report: Artificial Intelligence will Help HR in Content Development

SHRM Report: Artificial Intelligence will Help HR in Content Development

This article highlights ways that companies can use AI to automate key processes in HR including: Creation of job descriptions based on specific skill requirements, Employee engagement—sending out automated questionnaires asking employees to rate work experiences, ...
How to find the perfect tech co-founder for your tech startup

How your startup mentor can change your startup

Recruiting a startup mentor is a move in the right direction for your startup. As a company founder, you need a startup mentorship to provide you with an essential resource…

Create a product for your customers