In my previous articles, we discussed FinOps methodology, Visibility, e Cost Optimization. Now let’s cover the next and, probably, the most important principle – Control.
Being able to see historical data of your cloud spending and optimize it is important but it’s crucial to have an opportunity to build a process when funds are allocated and used only for what they should and with an option to manage and forecast the expenses.
The benefits of establishing a proper cloud cost control process are obvious but let’s summarize them:
- É o principal impulsionador da otimização constante quando não há custos ocultos, recursos órfãos ou não utilizados.
- No budget overspending – you know your budget and can forecast the spending projecting it on the current month, quarter, or in some cases even, year.
- Nenhuma destruição para sua equipe quando a equipe precisa revisar periodicamente as despesas e descobrir uma maneira de otimizar para ficar abaixo do orçamento.
10 steps to implement the principle of control in FinOps process
- Crie um orçamento separado para cada item granular que você gostaria de rastrear. Pode ser (mas não limitado a) um trabalho de CI/CD ou um cluster de aplicativos, uma equipe de P&D, um projeto de PoC, etc.
2. Assign an owner to every specific budget. Don’t expect that one person can properly track more than 7 budgets. This can be a DevOps engineer or a team member of your FinOps team.
3. Identify a rule on how resources should fall under a specific budget and an owner. It can be a tag or a resource name prefix/postfix or some other rules used at your company. Ideally, if the resources can fall under budgets automatically (CI/CD job resources created with a tag, engineers use their name in prefix etc.).
4. Set TTL rules. It can be another tag or, for example, a rule to remove resources older than 24 hours if they don’t contain some specific ‘do-not-delete’ tag.
5. Create a cleanup script to be periodically launched and to remove resources with expired TTL. Don’t forget about volumes, snapshots and images, they are costly resources but at your company, you should have other categories.
6. Compose a script or use third-party cloud cost management tools to calculate and track budget forecasts and give up-to-date cloud expense data to every resource owner. Cloud-native tools are very limited in a way you can track expenses – keep in mind that the main idea of the cloud for you is to spend more, not to save. I suggest sending the data to the budget and resource owners every Friday morning so that they had time to review and fix the issues until the weekend starts.
7. The script from p.6 should be able to send instant alerts if there is an actual budget overspend or the forecast is 1.5 bigger than your budget. It gives more room for some corrective actions.
8. Control reserved instances and saving plans usage. It is ridiculous how many companies take those options but still use them.
9. Controle o uso de instância spot para trabalhos de CI/CD. For the majority of the recurring jobs, your team can use spot instances but the team may not be familiar with the functionality.
10. This is the most important step. Educate your team about the steps and explain why they are important. Running all the steps above is a process but not a one time action. The majority of the companies fail exactly because of forgetting to execute the steps recurrently.
Lembre-se também de que existem ferramentas de gerenciamento de custos de nuvem que podem ajudar com o princípio e cuidar da maioria, mas não de todas as etapas. Se sua equipe não levar isso a sério ou não for educada, você não obterá o melhor do FinOps.
Tagging is one of the initial steps on a cloud cost optimization and FinOps adoption journey. It allows to identify the resource owners and the purpose of the resource usage impeccably and gain full cloud cost transparency. Learn how to define a tagging system for cloud resources → https://hystax.com/how-to-define-a-tagging-system-for-cloud-resources.
Nick Smirnov, CEO na Hystax