Nos últimos 5 anos ou mais, muitas organizações mudaram as suas infraestruturas e recursos adicionais para o Microsoft Azure. De acordo com a InfoClutch, mais de 280.000 empresas usam o Azure em todo o mundo, o que torna os custos da nuvem (e sua otimização) uma grande parte dos orçamentos de TI da maioria das empresas.
Existem vários modelos de preços integrados para ajudá-lo com o gerenciamento de custos do Azure e várias ferramentas para ajudá-lo a otimizar o seu orçamento, mas o processo de otimização de custos focado que pode realmente fazer a diferençam vem com experiência e conhecimento. Reduzir o desperdício e despesas gerais desnecessárias pode ser útil quando você busca novas maneiras de maximizar a utilização dos recursos existentes.
Nesta postagem do blog, abordaremos sete opções de práticas recomendadas de economia que podem ajudá-lo a aproveitar ao máximo a sua arquitetura do Microsoft Azure e otimizar os seus gastos mensais.
1. Mover para bancos de dados elásticos [Elastic Databases]
Executar o MS SQL ou outros servidores de banco de dados no Azure pode se tornar uma vantagem bastante cara, e o aumento dos custos pode acontecer muito rapidamente. As máquinas virtuais podem ser caras, enquanto as instâncias de banco de dados geralmente não são utilizadas da maneira ideal, o que torna as VMs de banco de dados inadequadas e não a maneira mais direta de distribuir cargas entre as instâncias, especialmente se você estiver procurando cortar os seus custos gerais do Azure.
É por isso que a transição para PaaS é a melhor solução para muitas organizações. A maioria das empresas que migram para o serviço SQL do Azure relatam uma redução substancial nos custos. Essa redução se deve principalmente a um método de pagamento mais dinâmico, no qual você paga apenas pelos recursos do banco de dados que está realmente usando naquele momento, permitindo a relação custo-benefício em um nível mais granular.
Dica de prática recomendada: use SQL Elastic Pools (Pools Elásticos SQL)
O uso de pools elásticos SQL supera a prática de reservar uma certa quantidade de recursos para uma única instância de banco de dados, pois a utilização desse modelo permite que você reserve vários recursos que podem ser compartilhados entre centenas de bancos de dados. Os pools elásticos SQL fornecem todas as vantagens do Azure SQL enquanto permitem que você lide com picos nos padrões de uso em vários bancos de dados com mais eficiência. Esta solução provou ser muito confiável e popular entre empresas com aplicativos multilocatários.
Por outro lado, em um cenário em que você tem um banco de dados com uso muito maior em comparação com outros bancos de dados em seu pool elástico, pode ser necessário comprar uma camada de pool elástico mais cara para que possa suportar picos de uso de maneira adequada. Nessa situação, a solução mais econômica é tirar o banco de dados de alto uso do pool, dividindo-o em ofertas de banco de dados único. Isso permitirá que você pague por uma camada de pool elástica menos cara, que você usará para bancos de dados de baixo uso.
Recomendamos que você verifique o uso de DTU do banco de dados e se notar que um único banco de dados tem 40% ou mais de uso em seus DTUs em um determinado momento, isso quase certamente significa que há espaço para uma economia significativa de custos. No entanto, como o DTU pode não ser confiável, é altamente recomendável verificar as métricas do banco de dados regularmente, para fazer as escolhas baseadas em dados.
Dica de prática recomendada: use o SQL Azure sem servidor
Essa camada única de computação de banco de dados no Banco de Dados SQL do Azure foi projetada para dimensionar automaticamente a potência e o uso da computação de acordo com a demanda da carga de trabalho. Os bancos de dados sem servidor cobram dos seus usuários a quantidade de capacidade de computação usada por segundo, enquanto também podem pausar automaticamente o banco de dados quando inativos e retomar a atividade quando necessário, durante os quais você paga apenas pelo armazenamento.
2. Use o Storage Tiering
Como o armazenamento está geralmente entre as maiores partes dos custos contínuos do Azure, otimizar esse aspecto da implantação do Azure pode trazer reduções significativas nas despesas gerais.
O modelo de Armazenamento de Blob do Azure oferece níveis de armazenamento Premium, Hot, Cool e Archive, cada um com o preço apropriado por GB por mês. Usar a camada de armazenamento certa para o tipo certo de dados pode ser muito econômico.
Por exemplo, armazenar os dados que você acessa com menos frequência em uma camada de custo mais baixo é uma boa prática de automação, pois diminui os custos mensais e permite uma redução substancial de custos a longo prazo.
3. Transferir cargas de trabalho para contêineres
Os contêineres são responsáveis por uma arquitetura de carga de trabalho mais leve quando comparados às VMs. Dependendo do seu fluxo de trabalho e recursos, as empresas podem executar vários aplicativos em contêineres em um único host físico e, em certos casos, gerenciar dezenas de contêineres por host. As empresas que reempacotam os seus aplicativos como contêineres são capazes de reduzir a utilização de máquinas virtuais e, portanto, reduzir ainda mais os custos.
Nota importante:
Uma advertência importante a ser abordada aqui é que, em certos cenários, transferir cargas de trabalho para contêineres pode realmente aumentar os seus custos. Recomendamos entrar em contato com nossos especialistas do Azure para consultar sobre as melhores práticas baseadas em contêiner para os seus projetos exclusivos
4. Exclua os discos virtuais não usados
Com o Azure, os discos virtuais não são excluídos automaticamente quando você exclui uma máquina virtual. Em vez disso, eles continuam a aumentar os seus custos. Recomendamos localizar e excluir discos virtuais não usados por meio da tela de discos do portal do Azure, onde você pode identificar todos os seus discos virtuais gerenciados ativos, localizados em sua conta de armazenamento atual. Verifique o proprietário de cada disco virtual e, se estiver vazio, não está sendo usado por nenhuma VM, o que significa que pode ser potencialmente excluído.
5. Tamanho certo das suas VMs para melhor desempenho
As VMs do Azure vêm com vários recursos de hardware e desempenho diferentes, por isso é crucial encontrar a VM ideal para a sua carga de trabalho, de modo que forneça taxa de transferência adequada e desempenho máximo com a taxa de custo mais baixa. Depois de encontrar a melhor combinação, certifique-se de mantê-la e utilizar o escalonamento automático para ajustar automaticamente o número de VMs de acordo com as cargas de trabalho reais.
Embora nem sempre seja viável, tente atingir (ou chegar perto de) 100% de utilização da VM, pois assim os seus custos de VM serão ideais. Para chegar perto da utilização máxima da VM, recomendamos monitorar as suas métricas usando o Azure Monitor, bem como usar o escalonamento automático para adicionar / excluir máquinas de acordo com a sua porcentagem de utilização atual.
6. Rastreie o desempenho das dependências do aplicativo
Além do servidor SQL, é altamente provável que o seu aplicativo use filas/cache, faça chamadas de serviço da Web ou use outras dependências e recursos do Azure, como CosmosDB, Armazenamento do Azure, etc.
O Cache do Azure para Redis é um ótimo recurso, pois permite rendimento superior e desempenho de latência. Ele faz isso armazenando os seus dados na memória, em vez de no disco. O desempenho é muito consistente e rápido em termos de leitura / gravação, pois processa solicitações em milissegundos de um dígito, permitindo a entrega de operações de cache extremamente rápidas e alta escalabilidade de camadas de dados de acordo com a carga do aplicativo.
O Barramento de Serviço do Microsoft Azure é outra opção a ser considerada. É um agente de mensagens de integração empresarial totalmente gerenciado que pode desacoplar aplicativos e serviços, oferecendo uma plataforma confiável e segura para transferência assíncrona de dados e estado. O Service Bus usa mensagens para transferir dados entre aplicativos e serviços.
Recomendamos garantir que todas as dependências e recursos mencionados acima sejam bem dimensionados e tenham um desempenho ideal.
7. Crie o cronograma de início / parada da VM com base no uso
Embora essa prática pareça bastante simples, recomendamos realizar uma análise completa dos padrões de uso e disponibilidade, de acordo com a qual você será capaz de criar uma programação de início / parada otimizada para suas VMs.
O escalonamento automático também pode ser de grande ajuda, especialmente combinado com seu agendamento personalizado, pois pode fornecer à sua infraestrutura do Azure elasticidade adicional e – inevitavelmente – maior relação custo-benefício. Você pode usar os Runbooks de Automação do Azure para implementar funções de início / parada automáticas.
Esse tipo de agendamento pode ser bastante eficaz, especialmente para ambientes de desenvolvimento / teste em que não há necessidade do regime sempre ativo. Por outro lado, o escalonamento automático em VMSS é uma solução ideal para os aplicativos que precisam ser executados em VMs, pois seu mecanismo integrado é projetado para adicionar e remover instâncias de acordo com a regra de escalonamento automático.
8. CDN para cache dinâmico e estático
Utilizando estratégias de cache dinâmico é possível aumentar o poder de escala, reduzindo uso de CPU e ram de seus servidores na Azure, e consequentemente, reduzindo custos com infraestrutura.
Outro ponto que a CDN pode ajudar é com cache estático, permitindo que você reduza custos com data transfer out (uso de banda).
Caso queira consultar um case sobre como a GoCache pode ajudar a reduzir custos com Azure, recomendamos a leitura do artigo:
– Case UltraFarma & GoCache
Referencia: https://superadmins.com/7-proven-ways-for-azure-cost-optimization/