FinOps : How to optimize the cost of the cloud?

Moving to the Cloud has become a necessity for many companies. The Cloud brings crucial flexibility for productivity, collaboration and innovation.

But this flexibility creates new challenges. According to a RightScale study, companies are spending 35% too much on the Cloud.

But this is a situation that can be avoided with FinOps. With this guide, you will understand everything you need to implement it in your company.

  • What is FinOps ?
  • Why moving to the Cloud can derail the budget.
  • How to optimize the costs of the Cloud.
  • And how to implement FinOps best practices in your company.

Let’s start with this guide!

What is FinOps?

FinOps is the practice of efficient financial management of the Cloud.

Like the term DevOps (mix between development and operations), FinOps links the financial and operational aspects. (finance and ops)

With FinOps, a close collaboration is set up with business, financial and technology professionals to manage the costs of the Cloud.

Many challenges arise from the costs of the Cloud, which will be reviewed later in the article, and FinOps helps to solve them. To implement best practices, we recommend that you follow these 4 steps:

  • Understanding: the first thing to do is to understand the system in place in your company and how resources are used. Some cloud platforms such as AWS have more than 150 products and services (!) so it is not easy to know the resources for each project: bandwidth, storage, gateway API, CDN, etc.
  • Control: then comes the time to take control. For example with the creation of a dashboard to monitor everything or the setting up of alerts and notifications.
  • Optimization: once control is taken, optimization can be done with greater confidence. We will explain how to optimize your expenses later in the article.
  • Governance: Finally, the creation of well-defined best practices and the appointment of managers will allow for sustainable progress.

Why the move to the cloud can derail IT spending?

Cloud prices vs. an on-premise system

Moving to the Cloud can be accompanied by increased costs compared to an on-premise system.

But this is not always the case, and it is necessary to understand why costs can explode in order to be in the best conditions to control them.

With an on-premise solution, you have to pay for servers, network equipment (cable, routers, etc.), electricity, labor, data center rental space and hardware depreciation.

On the other hand, servers in the Cloud are regularly updated and it is easy to migrate from one server to another more powerful one or to stay on the same one at a lower cost.

As a result, the Cloud is a solution that will be more economical. To better understand these costs, we advise you to read the following article: Does Amazon Web Services Pricing Follow Moore’s Law?

Well-run cloud services with a dedication to ever-better operations and customer price reductions, not only reduce prices as quickly as Moore’s Law for core components; they reduce prices for everything else too.

But then where does the cost increase come from if it’s not coming from the infrastructure?

On-premise vs. Cloud Planning

With on-delivery, it is necessary to plan the needs of a project precisely.

With everything that needs to be purchased, set up and configured, making a mistake on the needs of a project would have serious consequences.

And the same goes for the validation of a project. With on-delivery, it is better to be sure of the project’s solidity before validating it, because an error here would cause big budget problems for other projects.

But with the Cloud, validating a project has a much smaller impact on the budget. We can therefore take more risks and give the green light for projects that would not have been validated before moving to the Cloud.

Less infrastructure and labor costs, but more projects, which is why the IT budget can easily be derailed.

Especially since planning the costs of the Cloud is more difficult!

The difficulty of calculating costs with pay-as-you-go

With pay-as-you-go for all the services that you need to use for each project, it is of a more complicated magnitude to predict costs than with servers or other equipment or services that are purchased at a fixed price.

Between validating more projects and planning costs, which is more difficult, many companies are therefore having problems with their IT spending.

And this is having an impact on the digital transformation of companies that will have to move to the

And that has an impact on the digital transformation of companies that will have to move to the Cloud. These costs are seen as unpredictable and scary delaying this transformation.

Of course, it’s not unpredictable, but it’s harder to calculate than before. And that’s why FinOps is essential.

How can you optimize your cloud costs with FinOps?

Now that you have the FinOps issues in mind, let’s go over the 4 steps defined in the definition and explore them in more detail.

FinOps Best practices
FinOps Best practices

1. Understanding

In this section, you will list all the projects and resources that are used for each project.

A possible optimization at this point is to compare the business objectives with each project to see if some of them should not be stopped.

As said in the previous section, the Cloud has helped to give the green light to more projects, but this is not a reason to keep them alive when failure is inevitable.

2. Monitor

Once all projects and resources have been mapped, it is important to have visibility on what is happening.

Being able to easily know what is underutilized and what is too expensive will allow you to optimize more quickly.

For this, several means can be put in place:

A dashboard allowing the monitoring of each service to understand their consumption. Alerts and notifications when the cost of a service exceeds a certain threshold.

  1. Optimize The first 2 steps will give you all the information you need to start optimizing your expenses. Here are the main optimizations you can make.

Optimize servers

For example, you can shut down unused servers.

With the control set up in the previous step, you can also easily find out if a server is underutilized and can therefore be resized.

For development and test servers, a possible optimization is to shut them down when they are not in use, typically on weekends when no one is working.

Serverless

Instead of using an IaaS solution, a PaaS allows you to save labor and can create savings in many cases.

With a FaaS solution, servers are not always on, which can create savings. It is a solution increasingly used in cases such as :

  • Recurring tasks
  • Data processing
  • Background jobs

Optimize storage

Storing data in a database will cost more than a resilient storage service.

Optimizing database storage and migrating data that no longer fits into a cheaper system will save you money.

Optimize traffic

Traffic from your visitors, users and customers can be very expensive. A code level optimization can be done to reduce database queries or to add caching in the right places.

A solution like Cloudflare, which Scalingo recommends, will allow you to do even more optimizations:

  • Protection against DDoS attacks because if you don’t have protection, it will cost you a lot of money.
  • A CDN that will reduce the cost of downloading files.
  • Data compression with Brotli.
  • But also the possibility of having a firewall that reduces security risks.

Promotions

Several Cloud platforms have a free offer, limited in the resources that can be used but also in the time when this offer is available.

If you are a startup, incubators and other startup programs often include promotions and credits for different services.

For example, Scalingo has partnerships with Le Wagon, Belle de Mai and many other incubators. You will be eligible for discounts if you are a member.

4. Governing

Properly documenting everything that has been done in the previous steps is crucial to ensure that FinOps practices can be repeated over time and will give you confidence in your Cloud spending.

With a knowledge base of each project’s resources, the different optimization methods and monitoring data, all the information is easily shared with everyone involved.

A culture of FinOps will develop by continuing long-term optimization efforts.

Finally, by appointing Cloud Resource Managers, you will know who to turn to when you have questions.

It will also allow you to restrict access to resource management, which will prevent possible incidents.

To sum up, setting up governance for FinOps practices will allow you to :

  • Manage your costs on an ongoing basis
  • Make all your budgets more predictable
  • Maintain your accounting by project and monitor their consumption

Scalingo: examples of companies that have optimized their costs with PaaS

Studo: use of ephemeral servers

Studo is an application that allows Austrian students to manage their studies online. With rapid growth, data processing quickly became more time-consuming and the architecture for this processing had to change.

All recurring and data processing tasks were executed on a single server and ex

It is extremely simple to use one-off containers. It works very, very well!

Zoltan Sasvari, Backend Developer at Studo

You can see the full article here : How Studo is using Scalingo to do FaaS ?

HomeCinéSolutions: Black Friday without worries

HomeCinéSolutions is an e-commerce site for hi-fi and home cinema. Black Friday is of course an extremely important period with a vertiginous traffic peak for just a few days.

They used to have dedicated servers that were dimensioned to be able to withstand the shock of Black Friday. So they were paying for underutilized resources for most of the year.

With Scalingo, no resources are underutilized and automatic scaling allows them to handle peak traffic without unnecessary expense.

Compared to our dedicated servers and despite Docker and all the infrastructure set up at Scalingo, the loss of performance was imperceptible! Between the scalability, isolation, flexibility of the platform, and the very well done orchestration, Congrats!

Clément Joubert, CTO of HomeCinéSolutions

State-of-the-art: manage dozens of projects with a single DevOps

Dernier Cri is a web agency based in Paris, Lille and Bordeaux. They manage several dozen projects each year.

This could seem like a lot of system administration work. And yet, only one person takes care of DevOps, and it’s only 20% of his time.

But it hasn’t always been like that. Before Scalingo, VPS management had its limits. Between the occasional forgetfulness of backup management or the lack of a disaster recovery plan, the additional labor cost of this management pushed them to use Scalingo.

With Scalingo, savings also come from a high-performance and highly responsive support.

When you have projects that are a bit complex, we've already had guys from your team to help us look at what we could do to improve the buildpack and make our particular architecture work.

Robin Komiwes, co-founder of Dernier Cri

How to implement FinOps practices in your company?

Companies of all sizes can benefit from FinOps.

After all, the savings are welcome whether you are very small or weigh several million euros.

Here are the 3 tips that we believe are the most important for the success of FinOps in your company.

Start as early as possible

And it is even essential to start as early as possible. Because the longer we wait, the harder it will be to create a FinOps culture.

The optimization process can be very long when there are a lot of Cloud resources used and you have to understand, control and optimize everything.

By starting earlier and ensuring that governance is in place on the subject, FinOps practices will be much easier to follow.

Don’t wait for IT spending to go off the rails!

If you start implementing FinOps when things go wrong, it will paralyze the whole company.

If expenses explode and you need to be able to regain control, it will lead to a freeze on projects and therefore on innovation.

And since optimizing Cloud spending is not a simple exercise and will take time, it could give your competition an advantage.

Bringing in FinOps practices little by little

Nor should we be discouraged by the work that needs to be done. The benefit is considerable and FinOps can be implemented gradually.

For example, start with small projects that are not very critical. Once these projects are successful, use them as an example to get FinOps accepted on larger projects.

Conclusion

With FinOps, you will be able to optimize Cloud-related expenses and be able to better plan and control budgets for each project.

Understanding and controlling the Cloud resources used before optimizing them will allow you to move forward with confidence.

In addition, some optimizations can also make it easier for you to manage the Cloud, allowing you to focus on the value of your projects instead of worrying about maintenance.

  • Serverless: between the advantages of PaaS, ephemeral servers and automatic scaling, serverless is the ideal solution to optimize your expenses for many projects. And Scalingo can support you in this transition.
  • Cloudflare: easily optimize your traffic-related costs with DDoS, CDN, compression, firewall, etc. protection.

Creating a FinOps culture will ensure long-term benefits and the sooner this culture is in place, the less difficult the transition will be.