Examples of cost optimization of the project infrastructure

How we reduced the cost of using AWS resources.

In most cases where we reduced the AWS costs the reason was a wrong built architecture, to which we made changes. Sometimes resources were used incorrectly from the beginning, sometimes when the application expanded, the architecture needed to be changed.

Since the project is under the NDA, I can not give any details like name of the company, etc.

We got a project, it was a private system of managing tasks with access by invite. When we started to work on it the infrastructure consisted of four sites:

  1. Info site on WordPress;
  2. Test info site on WordPress ;
  3. Main web application;
  4. Test server for the main web application.

Infrastructure consumed resources for $ 686.47 on AWS. At the same time, the application had a bit more than 2000 registered users.

Initially, 4 separate RDS instances were used for each of the databases. Each site/app had its own large instance, which also required money.

After our proposal and approving with the client we made changes to the infrastructure:

  • All applications were dockerized;
  • Database on RDS only for the main app;
  • On one t2.small instance we have placed two sites on WordPress, staging and production – with current attendance it was enough;
  • Chose optimal database instance types for the app, set up backup.

Calculations you can see in the table below.

The comparison of the price before and after the optimization
The new project infrastructure builded by onix-systems devops team

СonneSOA project, that we have experience working, develop and support with

SOA project’s components

The project contains the next list of components:

  1. Application with http access (Python applications based on Tornado framework and go application with http access to them).
  2. Applications (Python application) that read queries and execute necessary actions.
  3. Hashicorp Consul (https://www.consul.io/) service for automatic discovery of services.
  4. Ebay Fabio (https://github.com/fabiolb/fabio) is used as http, https load balancer between all registered microservices. It has native support to read data from consul.

Continue reading СonneSOA project, that we have experience working, develop and support with

Our DevOps Experience

We are taking advantage of AWS and its services and have a solid experience with Docker and “dockerizing” applications written in various languages: NodeJS, Golang, Kotlin, PHP, Python.

We deployed different environments: from the easiest one-server deployment with 3-5 containers using Ansible to environments with scaling groups on AWS with 10-20 microservices using Terraform.