FinOps: uma das áreas mais requisitadas do mercado tech

Nastacha de Avila
mobicareofficial
Published in
9 min readMar 23, 2020

Não é nenhuma novidade que a busca por uma infraestrutura de TI mais eficiente é uma realidade constante para empresas não só do mercado de tecnologia. Como resultado, diversas organizações encontraram na migração de sistemas e dados para nuvem — pública, privada ou híbrida — uma ótima estratégia para gerar escalabilidade, flexibilidade, além de fácil acesso aos dados.

A ~novidade~ está nas consequências desta escolha: como gerenciar os custos decorrentes do serviço de computação em nuvem? Isso porque o valor pago mensalmente para as empresas de armazenamento é calculado a partir do consumo dos serviços, sendo bastante variável. Somado a esse fator, a maioria das grandes clouds (como Amazon Web Services — AWS, Google Cloud e Microsoft Azure) realiza a cobrança em dólar. A conversão da moeda tem atingido patamares exorbitantes no Brasil, o que gera um custo flutuante — pesadelo para a equipe financeira — .

Contar com um time de FinOps (operações financeiras) tornou-se obrigatório nesse cenário: um dos melhores métodos de gestão para calcular os custos dos serviços na nuvem. Para entender sobre essa área, rotina, benefícios, conversei com o Victor Souza, responsável por FinOps tanto na Mobicare quanto na Akross, com mais de 7 anos de experiência em infraestrutura (Data Center e nuvem).

O que significa trabalhar como FinOps?

É olhar para sua infraestrutura como um “budget”, analisar desempenho X quantidade de resources comparado com o seu orçamento e verificar se estão alinhados com a expectativa de custo.

Como foi seu caminho até ser profissional de FinOps?

Antes de trabalhar com Cloud fui Analista de Infraestrutura. Tomava conta de um DataCenter próprio da empresa durante 7 anos. Após esse período, eu tive meu primeiro contato com a Cloud AWS como Analista de Operações, o que me ajudou bastante nessa mudança de paradigma entre DataCenter físico e Cloud.

Em outubro de 2018, cheguei na Mobicare para trabalhar como Analista de Infraestrutura. Fiquei totalmente focado na Infra AWS e ajudando nas ocorrências de parceiros externos para resolução de problemas. Nessa época, ainda estávamos muito mais preocupados em manter toda plataforma estável, porém já havia esforços pela equipe de Operações e Infraestrutura para avaliar os custos dos projetos em relação ao que era criado na AWS.

Foi a partir da necessidade de ter um controle maior dos recursos que utilizamos (e ainda com a alta do dólar que vem disparando cada vez mais) que surgiu uma vaga estritamente preocupada com os custos da nossa Infraestrutura. Me candidatei, passei no processo e hoje sou o profissional que avalia nossos recursos (o que já temos em produção/homologação, se estão dentro do esperado), estima novos projetos em diferentes Cloud’s e automatiza os processos que envolvem as boas práticas do gerenciamento de custos em Cloud na Mobicare e Akross. Esse cara sou eu :)

Quais as habilidades podem ser importantes para um profissional de FinOps?

Ter um background consolidado em termos de DataCenter e Cloud é importante, pois não adianta somente apontar o que está caro e solicitar alterações, e sim questionar coisas do tipo:

  • Qual a real necessidade de usar essa tecnologia?
  • Esses dados guardados nesse bucket têm uma validade? É possível expurgá-los com o tempo ou podemos alterar a forma que guardamos para uma mais em conta?
  • Esse microservice precisa rodar com essas especificações? Ele é stateless suficiente para escolhermos instâncias Spot ao invés de On-Demand?

Com esse diálogo com as áreas impactadas, aliado à sua experiência e à expectativa de custos, você conseguirá se tornar um profissional FinOps.

Quais cursos você recomenda para quem quer trabalhar com FinOps?

Hoje não existe uma certificação ou curso específico para essa área, mas minha sugestão seria o profissional focar nas necessidades da empresa em que trabalha: se você trabalha com AWS somente, por exemplo, pode avaliar os cursos da ACloud Guru da certificação AWS Cloud Practitioner e AWS Solutions Architect. Caso seja multi-cloud e também tenha uma Google Cloud Platform, você poderá avaliar os cursos relacionados à certificação Cloud Engineer e Cloud Architect.

Fica um adendo, já que informação nunca é demais: ler os artigos que os blogs das Cloud’s postam, novidades, novas features ou atualizações que serão feitas também são bem importantes, pois nesses detalhes também moram grandes sacadas que podem te ajudar no dia-a-dia.

Como é a sua rotina?

Basicamente eu divido meu dia em algumas partes:

  • Todo o dia, eu tenho algumas rotinas automáticas que varrem as nossas Cloud’s e verificam o tagueamento de todos os resources que são passíveis de custo (novos e legado);
  • Acompanho a cotação do dólar;
  • Verifico os e-mail’s e alarmes de desvio de custo;
  • Verifico os valores diários e estimativas do mês de cada account (utilizamos uma ferramenta que centraliza esses dados chamada Cloud8);
  • Identifico em cada conta pontos que podem ser reduzidos, abro uma task para isso e alinho a priorização com as áreas afetadas;
  • Acompanho os serviços mais críticos para identificar possíveis vazamentos;
  • Acompanho nosso parque de instâncias Spots/RI’s

Esses possíveis vazamentos envolvem uma análise e entendimento do projeto, com isso, eu consigo identificar, por exemplo, chamadas indevidas de um micro-service que está sendo triggado de forma errada, armazenamento de informações irrelevantes ou redundantes, entre outros.

Qual o processo para estimar custos de um novo projeto?

Para estimar o custo de um novo projeto, primeiramente tenho uma conversa com o PO do projeto para entender o que foi apresentado para o cliente, qual a expectativa do mesmo para o serviço/plataforma/produto que está sendo vendido, volumetria esperada. Tendo isso em mente, utilizo essas informações para conversar com o(s) desenvolvedor(es) que estará(ão) alocado(s) nesse projeto para entender quais tecnologias irão ser utilizadas. Entendo o desenho macro do que será entregue, com todas as integrações entre as api’s e micro-serviços.

Com as duas visões (negócios e técnica), utilizo uma calculadora criada pela nossa equipe, em que forneço os valores esperados, a infraestrutura que irá suportar o projeto. Nesta calculadora já é aplicada a cotação do dólar e os impostos pertinentes à estimativa.

Após o levantamento de valores, apresento a estimativa ao meu Gerente de Infraestrutura e ao Coordenador de Engenharia para aprovação da mesma. Por fim, os valores são apresentados ao nosso Diretor Financeiro para alocação do custo ao projeto.

Finalizadas as devidas aprovações, é alinhada entre as gerências a estimativa de custo do projeto que será enviada ao cliente final.

Quais as opções de Cloud no mercado?

Hoje nós temos 3 grandes Cloud’s que são as mais utilizadas do mercado, Amazon AWS, Google Cloud e Microsoft Azure, cada uma com suas particularidades, vantagens e desvantagens. Com a grande alta do dólar (ao infinito e além), outras Cloud’s que não tinham tanta visibilidade estão cada vez em mais destaque pela principal vantagem: pagar em real (sem custo flutuante). Alguns exemplos são Mandic Cloud, BrasCloud, DigitalOcean Brasil, entre outras.

Porém, temos a desvantagem que essas Cloud’s ainda não têm alguns serviços gerenciáveis como os de nível AWS, GCP ou Azure. Um exemplo é que se você quiser criar uma aplicação serverless na AWS, pode criar uma Lambda, que nada mais é que subir o código e não se preocupar com a infraestrutura por trás, já em uma Cloud como a Mandic, você deverá criar a sua infraestrutura para que suporte o paradigma serverless e, mesmo assim, terá de se preocupar com a infra por trás.

Hoje aqui na Mobicare/Akross usamos o conceito de “build once, deploy everywhere”, independente de onde irá se deployado, seja AWS, Mandic, Bras Cloud ou GCP, a experiência final será a mesma.

Como estamos falando em custos em dólar, qualquer configuração incorreta ou ação não planejada pode gerar sustos em termos financeiros?

Com certeza, se pegarmos a AWS como exemplo, uma criação de instância é bem simples, o famoso “next, next, finish” e você tem uma instância criada, porém temos alguns pontos que devem ser observados. Se você colocar um IP Elástico nessa instância existe um custo adicional, se sua instância fala com a internet, você tem o custo de DataTransfer Out, caso seja MultiAz (tenha mais que uma subnet e subzonas diferentes) você tem o custo de DataTransfer InterZone, podemos pegar como exemplo também o RDS que é o banco de dados na AWS, se você cria uma instância com 100GB de storage é um valor X, caso você selecione a opção provisionado (que aumenta bem a performance do disco por já alocar recursos para escrita/leitura) o valor já é dobrado.

Tudo deve ser bem planejado para evitar ao máximo esses sustos e com isso, evitar estouro do seu budget.

Como evitar prejuízos?

A AWS já fornece algumas ferramentas como o Cost Explorer, que serve exatamente para gerenciar os custos da sua account, porém, nem sempre é simples de analisar o que está ocorrendo e, em alguns pontos, há limitação da ferramenta para exibição de alguns dados, então é feito um trabalho diário para manter toda a infraestrutura taggeada seguindo as boas práticas de gerenciamento de custo para facilitar a visualização dos gastos.

Nós também utilizamos roles bem definidas para os níveis hierárquicos em cada área, com o intuito não de burocratizar a criação de resources, mas sim, dar esse poder a quem tem mais experiência no momento da criação. Temos um fluxo definido para caso seja necessário alguma criação, passar pela equipe de Engenharia para avaliação e entendimento do que quer ser criado.

Além das automações que criamos, também temos alarmes que utilizam a tendência do custo passado e fazendo uma comparação, gerando o valor de média para aquele serviço. Caso esse valor desvie, nós já temos alguma ação ou verificação do porque desse desvio.

Qual a importância de usar tags de alocação de custos? Como esse processo é feito na empresa?

Esse é o coração de quem quer ter uma gerência dos custos dos resources criados, sem uma política de tagueamento bem definida, o processo de precificar os projetos se torna quase impossível.

Inicialmente, a implementação na Mobicare/Akross foi um trabalho manual, porém, hoje já temos scripts que rodam diariamente em nossas contas que fazem 90% do trabalho de tagueamento dos resources. Em uma outra frente, em nossas políticas do IAM, já estamos travando criações de resources não tagueados, pois além de acertar o passado e presente, o futuro já deve nascer dentro dos nossos padrões.

Isso faz com que consigamos fazer um drill-down dos custos por projeto, por exemplo, além de verificar a relação quanto o projeto custa X quanto o projeto se paga. Com essas informações podemos direcionar para onde deve ser aplicado o esforço para investimento, conseguimos ver o desempenho do projeto e qual parte do projeto está gastando mais em termos de infraestrutura (e, se possível, já verificar a otimização do custo).

Qual a sinergia da área de FinOps com a área de segurança (SecFinOps)?

Se você tem políticas bem definidas de segurança e ferramentas que te ajudam a identificar possíveis brechas, faz com que as ameaças externas à sua account se tornem quase nulas, um ambiente aberto pode se tornar uma grande dor de cabeça. Uma vez que o invasor consegue acesso à sua account ou a algum resource dentro dela, ele pode começar a gerar problemas bem críticos, como subir uma infra indesejada em um região não utilizada ou com custo mais elevado, como São Paulo, utilização de recursos para fazer DDOS, entre outras ameaças.

Hey! Meu nome é Nastacha de Avila, sou responsável pela área de Marketing nas empresas Mobicare e Akross, com foco em Branding Awareness para recrutamento de talentos em TI. O que mais amo em trabalhar no mercado de tecnologia é poder estar sempre próxima à inovação.

A Mobicare combina os Melhores Talentos, Tecnologias de Ponta, Práticas Agile e DevOps com Capacidades Operacionais avançadas para ajudar Operadoras Telecom e grandes empresas a gerarem novas receitas e a melhorarem a experiência dos seus próprios clientes.

Se você gosta de inovar, trabalhar com tecnologia de ponta e está sempre buscando conhecimento, somos um match perfeito!

Faça parte do nosso time. 😉

--

--

Nastacha de Avila
mobicareofficial

Responsável pela área de Marketing nas empresas Mobicare e Akross, com foco em Branding Awareness para recrutamento de talentos em TI. 😉