A otimização de nuvem parece uma fruta fácil de colher, mas tenho boas e más notícias para você. A boa notícia é que, na maioria dos casos, é uma maneira rápida de obter alguns resultados instantâneos do FinOps. A má notícia é que você tem que trabalhar nisso constantemente. A otimização única dá resultados, no entanto, em alguns meses você pode voltar à sua conta de nuvem anterior.
Existem algumas práticas que você pode usar para otimize os recursos da nuvem e reduza sua conta de nuvem. Mas o mais importante é estabelecer um processo de consumo e provisionamento inteligente e consciente de recursos para que você lide não apenas com os resultados, mas faça da otimização uma parte integrante de todos os seus processos internos.
Ok, vamos começar com algumas maneiras de otimizar suas despesas atuais e depois discutir como torná-las parte de todo o processo de provisionamento da nuvem.
Existem centenas de ferramentas de otimização de recursos de nuvem; algumas delas são muito legais, outras apenas olham para métricas de monitoramento de máquina e dizem se você precisa de um sabor mais barato. Nosso foco aqui será no que você pode fazer sozinho com sua equipe e sem nenhuma ferramenta. No entanto, eu recomendo fortemente que você analise o mercado e identifique uma solução que esteja em conformidade com os padrões FinOps e possa ajudá-lo com todos os quatro princípios FinOps.
Eu foco conscientemente em serviços IaaS, pois eles são os mais comuns. Usarei a AWS como exemplo, mas todos os itens devem funcionar para todas as nuvens públicas.
Recursos não utilizados
Vamos começar com os recursos não utilizados que você pode limpar:
- Liste todos os volumes e instantâneos que não estão sendo anexados a nenhuma VM ou usados para criar imagens. Revise e remova-os. Ao remover imagens, não se esqueça de revisar os instantâneos, pois eles estão vinculados às imagens.
- Liste todas as VMs paradas e verifique se são necessárias. Se eles não custarem nada como VM, eles ainda terão volumes anexados.
VM re-flavoring
Agora vamos falar sobre re-flavouring de VM: revise as métricas de desempenho de suas VMs e veja se você precisa escolher flavors menos caros. Eu sugiro começar com recursos recorrentes como trabalhos de CI/CD, pois você obterá um resultado mensurável mais rápido.
Instâncias reservadas e planos de salvamento
Considerar instâncias reservadas e planos de poupança. Aqui está um bom artigo e outro sobre como usá-los corretamente. Seja cauteloso: instâncias reservadas e planos de economia que não são calculados corretamente podem aumentar suas despesas em vez de reduzi-las. Você pode encontrar mais artigos na Internet e escreverei um artigo separado sobre isso em breve.
Instâncias spot
Considere instâncias spot. Elas são 2–4 vezes mais baratas que as on-demand e são ideais para trabalhos de CI/CD e tarefas de curto prazo. Aqui Forneço mais informações sobre isso.
Otimização de armazenamento e rede
- Revise seu tráfego entre regiões e de saída. Ambos não são gratuitos e podem surpreendê-lo quando você se aprofundar.
- Ligue e configure configurações de retenção para objetos parciais em todos os seus buckets de armazenamento de objetos. No armazenamento de objetos, você paga por espaço alocado e, às vezes, você tem objetos parcialmente carregados lá, que consomem armazenamento, mas são inúteis, pois não são integrais.
- Encontre duplicatas e buckets/pastas pertencentes a usuários e projetos inativos. Para ser honesto, nunca vi uma ordem adequada em nenhum armazenamento de objetos. Você pode ser a primeira empresa.
- Considere o uso de armazenamento a frio para alguns de seus baldes e pastas e esse tipo de armazenamento é muito mais barato.
- Considere o uso de serviços CDN em vez de apenas armazenamento de objetos. Você pode melhorar a experiência do usuário e economizar nos custos de armazenamento e tráfego de saída.
E agora vamos falar sobre a construção do processo que deve ajudar você a trazer mais ordem e usar as nuvens de forma otimizada.
- Marque todos os recursos. Você pode usar várias tags para identificar os proprietários dos recursos, TTL, projeto, equipe, o que for. Recursos sem uma tag devem ser removidos. Eu descrevi isso em mais detalhes aqui.
- Crie um script de limpeza que usará uma tag TTL e removerá recursos expirados. Não confie em seus engenheiros para limpar os recursos manualmente ou nos trabalhos do Jenkins para fazer isso automaticamente. Os trabalhos de CI/CD podem falhar e os engenheiros podem esquecer e optar por uma PTO.
- Crie uma equipe FinOps para revisar os passos acima e implementá-los. Como mencionei no começo, você precisa fazer isso regularmente ou não funciona corretamente. Aqui você pode encontrar mais detalhes.
- Considere outras nuvens e regiões. Nem todas as regiões têm o mesmo preço e desempenho de instância. Você deve monitorar ativamente essas métricas para provisionar na nuvem, região e zona de disponibilidade com melhor desempenho e economia.
- Encontre uma solução de software para ajudar você. Foque não apenas em uma ferramenta com o melhor marketing, mas naquela que realmente adota e define os padrões FinOps. A ferramenta de otimização de nuvem não é suficiente.
Você deve pensar em FinOps não apenas quando for uma empresa com um bilhão de receitas e milhares de funcionários, mas desde o primeiro dia de sua empresa, pois as nuvens podem impulsionar o crescimento ou ser uma verdadeira dor de cabeça - até quase arruinar seu negócio (aqui é um dos exemplos). A FinOps se dedica a ajudar você a obter o melhor das nuvens pagando apenas o que você deve.
Nick Smirnov, CEO na Hystax