New Website Banner-6.png

Performance Optimization

At stack.io, we can select and assign the right resources for your application needs. Efficiency is achieved when performance and costs are balanced against the best-fit infrastructure.

Looking To Improve Performance?

Why wouldn’t you be? An optimized system works in an efficient way, thus allowing for the best outcomes balanced with the right costs; these costs can be found in various time and effort saving areas. Regular optimization audits can help lower operational costs, speed up delivery and save time. At stack.io we recommend conducting such an audit at least on a quarterly basis.

tug of war-2.png

Overprovisioning & Underprovisioning

It can sometimes feel like an eternal struggle. Overprovision: and you are paying for more than what you need for your infrastructure. Underprovision: and you could end up hitting performance issues that may be noticeable to your customers. The solution? It’s all about balance. Performance optimization initiatives should neither impact your customers nor make a sizeable dent in your wallet


What can Stack.io do for you?

There are great tools out there such as kubecost (which we can set up) that can provide suggestions on a regular basis with metrics pulled from Prometheus. However, we typically take a more traditional approach which involves focussing on metrics related to network, storage, and compute.

Our standard process is as follows:

  • We investigate your existing environments and search for patterns, and opportunities for improvement

  • These are then implemented in your test environment

  • Following that, we implement into production

  • Over the course of a few days, we closely observe the behaviour and make any necessary adjustments

Approach

Depending on your traffic patterns we want to hone in on exactly what you require:

traffic 1.png
  • If the traffic is consistent, then you would probably want a less aggressive autoscaling approach and target a certain usage point. For example, you might want to target 80% of CPU usage on your workers and if it goes above that then you are going to scale up. You want to maximize the usage on your resource but at the same time you will want to leave some room for small traffic spikes.

traffic 2.png
  • For instance, if the traffic is very spotty, in that you have zero traffic and then all of a sudden you get a big spike because of a certain event, then we need to find ways to accommodate this. This can be achieved via aggressive autoscaling, preemptive scale-up (in the cases where you know you are going to see an increase in traffic), etc.