a Microsoft Azure fornece um poderoso conjunto de serviços para ajudar os desenvolvedores a criar e implantar seus aplicativos. Azure torna tão fácil de usar que você pode rapidamente deixar seus custos de hospedagem Azure ficar fora de controle. No entanto, existem maneiras de gerir melhor o seu preço Azure e otimizar os seus custos globais.
em Stackify, estamos a utilizar Azure há mais de 4 anos. Crescemos com Azure como gostamos de dizer e alavancamos uma grande variedade de diferentes serviços Azure e gastamos uma pequena fortuna nele todos os anos. Estamos escrevendo este artigo para compartilhar algumas das nossas melhores dicas.vamos concentrar-nos em 5 maneiras diferentes para reduzir os seus custos.:
- Abaixe seu real azure preços
- descobrir o que seus custos atuais são
- Optimizar a forma como você implantar seus aplicativos
- Melhorar o desempenho do seu aplicativo
- dicas
Como reduzir o Microsoft Azure Preços & Eficaz Azure Gestão de Custos
Uma das coisas mais fáceis que você pode fazer é simplesmente obter alguns descontos em sua fatura ou obter algo de graça!
1. Pré-pagamento para obter um desconto, mesmo numa conta de pagamento.
a Microsoft ofereceu descontos de 2,5-5% com base em 6 ou 12 meses de pré-pagamento. Verifique para ver se você pode tirar vantagem disso. No entanto, um acordo EA pode ser uma opção melhor.2. Obter um acordo EA para descontos Azure máximos.os acordos da AEA exigem a selecção de um compromisso monetário anual, o que implica uma taxa de desconto. Você é então cobrado trimestralmente para quaisquer excessos além de seu compromisso anual.um acordo EA pode poupar até 20-30% para alguns produtos Azure. Atenção, os horários de desconto são uma confusão. Assim como um exemplo, sua taxa de desconto em SQL Azure pode ser de 5%, mas os Serviços de nuvem pode ser algo como 10-20% e é diferente para cada SKU que vendem. Alguns podem não oferecer muito de um desconto em tudo. Há milhares de SKUs. Portanto, certifique-se de saber que Serviços Azure você realmente precisa e maximizar o desconto sobre aqueles SKUs em seu acordo EA.
3. Podes inscrever-te no Bizspark?
Stackify foi originalmente em Bizspark e foi capaz de obter um monte de benefícios gratuitos incríveis. A Microsoft anuncia até US $ 120.000 em benefícios gratuitos para startups. Nada mau!4. Você pode mudar as regiões Azure para um melhor preço azure?
o preço Azure varia de uma região para outra, mesmo nos EUA. Verifique novamente os preços em várias regiões para ver se você pode economizar um pouco.
exemplo: A2 VM in West US is $133.92 but $126.48 in West US 2. Austrália Oriental é $ 168,14
5. Obter dinheiro gratuito da Microsoft, trabalhando com um Parceiro Azure em um projeto.
Se você tem um grande projeto para mover para Azure, você pode obter alguns descontos para ajudar a incentivar e pagar por um parceiro da Microsoft para ajudar a fazer isso acontecer. Como um exemplo, nós fomos capazes de fazer isso para ajudar a fazer um monte de trabalho com o Chef.
descubra quais são os seus custos Azure actuais e Organize a apresentação de relatórios
probabilidades, não sabe o que não sabe quando se trata de quanto está a gastar e em que está a gastá-lo. É tão fácil com Azure criar novos recursos e simplesmente esquecê-los.
6. Sabes quanto gastas em quê, o que é difícil sem uma ferramenta para isso.
a Microsoft tem um par de ferramentas que você pode usar para analisar o seu faturamento:
- Azure portal de faturamento
- EA – portal https://ea.azure.com/
Ambos estes deixam muito a desejar para qualquer nível avançado de relatórios. Você pode conectar seus dados EA ao PowerBI, que abre mais algumas oportunidades para desbloquear os dados, mas você realmente precisa segmentar os dados por projeto, departamentos e etc. para obter mais informações sobre isso.
Há um monte de ferramentas de terceiros disponíveis, embora assustadoramente, muitos deles mais de US $1.000 por mês! Recomendamos o uso de um serviço chamado custos Azure (https://azure-costs.com/) que é barato e faz um ótimo trabalho. Ele tem uma lista livre e opções pagas de $ 29 – $ 199 por mês.
apenas para lhe dar uma ideia, você pode agrupar o relato de várias maneiras diferentes para entender se você está gastando muito em VMs, SQL Azure, Serviços de aplicativos, etc.
Group by various fields in Azure Costs
7. Atribuir despesas Azure por Projeto, meio ambiente ou cliente para melhor relato.
No Stackify, hospedamos a nossa produção, pré-produção, QA, desenvolvimento e aplicações de teste Tudo com Azure. Quando olhamos para a nossa proposta de lei a um nível elevado, não há uma boa maneira de saber quanto estamos a gastar em que Ambiente, O que é importante para nós.
quanto gastamos na produção afeta nossas margens como um negócio e queremos também minimizar os custos em ambientes dev/test.
usamos os custos Azure para organizar o que estamos gastando dinheiro. Nós simplesmente marcamos cada recurso Azure e, em seguida, podemos obter relatórios pelas tags para facilmente ver as despesas por meio ambiente.
Tag resources in Azure Costs
podemos então obter relatórios por cada tag para entender como estamos gastando nosso dinheiro.
Relatório pela tag no Azure Custos
Optimizar a forma Como Você Implantar Seus Aplicativos para Poupar Dinheiro no Azure
Se estiver a mover um aplicativo para o Azure, existem algumas formas de poupar dinheiro que você não pode mesmo estar a pensar. Também quero dar-lhe algumas dicas sobre a otimização de Serviços de Aplicativos, Serviços de nuvem, etc.
8. Escolha o tipo certo e o tamanho das máquinas virtuais.
Se estiver a usar o Azure para hospedar máquinas virtuais, certifique-se que escolhe o tipo correcto de instância. Existem literalmente dezenas de diferentes tipos e tamanhos. Certifique-se de selecionar o tipo certo com base em se você precisa de mais memória, CPU, disco mais rápido, etc.9. Use Azure DevTest Labs para garantir que o teste VMs obter desligamento automático para economizar dinheiro.
nada é mais irritante do que alguém configurar um servidor de teste e descobrir mais tarde que você tem pago por ele há meses e meses. Azure DevTest Labs é incrível para criar servidores que você precisa ocasionalmente ou apenas certas horas do dia.
DevTest Labs pode ativá-los automaticamente e desligá-los em um cronograma. Isso ajuda muito a resolver o problema de sua equipe de QA esquecendo de desligar os servidores antes de sair para o dia ou fim de semana.Nota: O DevTest Labs não custa nada adicional para usar. Você simplesmente paga pelos próprios VMs.
10. Evite pagar por intervalos de tempo em Serviços de nuvem.com os Serviços Azure Cloud para funções na Web e nos Trabalhadores, você paga o preço total das faixas horárias, tal como faz com as faixas horárias de produção. É uma boa idéia para implantar para os slots de estadiamento e, em seguida, trocar estadiamento em produção para minimizar o tempo de inatividade.
certifique-se que apaga os espaços de paragem o mais rapidamente possível. Nada me deixa mais louco do que entrar em Azure e ver um monte de coisas colocadas em espaços de preparação sentados lá sem razão.
edite a vista no portal Azure para adicionar colunas para “estadiamento” e “produção” para que você possa ver rapidamente quais têm algo nos slots de estadiamento. Os Serviços na nuvem custam dinheiro, mesmo que os servidores sejam interrompidos. Tens de apagá-los!
11. Combine aplicativos web com planos de serviço Azure App para reduzir a contagem de servidores.
uma das melhores características absolutas de Azure são os Serviços de aplicações. Você pode criar um plano de Serviço de App que representa 2-3 ou mais servidores e, em seguida, empacotar quantas aplicações web você quiser sobre eles.
esta é uma enorme vantagem sobre o pagamento de um servidor inteiro para uma aplicação web que quase não faz nada. Temos usado funções Web de serviço na nuvem para sempre e, em alguns casos, têm 3 exemplos de alta disponibilidade em um aplicativo da web que fica praticamente sem tráfego. É um enorme desperdício.
12. Pare de usar funções Web de serviço na nuvem a menos que você tenha que fazê-lo.
a menos que você tenha que usar os Serviços Azure Cloud para funções Web, eu trabalharia para mudar seus aplicativos para Serviços de aplicativos para aproveitar a combinação de vários aplicativos para menos servidores.
os Serviços de nuvem também levam uma eternidade para ser implantados. Os Serviços de aplicações são anos-luz mais rápidos para a implantação.
13. Use o serviço Azure tecido ou serviço de contêineres para combinar aplicativos.
pelas mesmas razões que menciono acima com os Serviços de aplicações e funções Web, olhe para mover os seus papéis de trabalhador para o serviço de tecido ou serviço de contêineres. Ambos seguem o padrão como planos de Serviço de aplicativos onde você basicamente fornece um grupo de servidores e, em seguida, jogar um monte de aplicativos sobre eles.
14. Use Auto-escala para reduzir os custos durante as horas de folga.
a maioria dos aplicativos tem períodos mais movimentados e mais lentos ao longo de uma semana ou dia. Aproveite a auto-escala construído em Azure para economizar algum dinheiro durante períodos lentos.estes tipos de implantação todos suportam a auto-dimensionamento: Serviços na Nuvem Serviços na escala de VM (incluindo lote, Tecido de Serviço, Serviço de contentores) a escala de VM (incluindo lote, Tecido de Serviço, Serviço de contentores) a escala de VM pode também significar desligar completamente a sua aplicação. Os Serviços de App têm um recurso chamado AlwaysOn que controla se o app deve fechar devido a nenhuma atividade. Você também pode agendar desligar seus servidores dev / QA com algo como laboratórios DevTest. Há também serviços de terceiros como Park My Cloud.
15. Use os recursos Azure PaaS; não role o seu próprio VMs a menos que tenha de o fazer.
falei com várias pessoas que usam Azure e sua versão de usar Azure está configurando alguns VMs e hospedando seu aplicativo e servidor SQL nesses VMs.alavancar a Azure para máquinas virtuais e IaaS é bom, mas você está perdendo muitas oportunidades para reduzir os custos de gestão e os custos de Azure como um todo. A menos que você tenha uma razão muito, muito boa para usar SQL em um VM, como comprar algum balancer de carga de terceiros correndo em um VM e outros cenários, apenas não.
em Stackify, nós alavancamos cada recurso PaaS de Azure que podemos. Isso inclui SQL Azure, Redis, Table Storage, Service Bus, etc. A ideia de criar VMs para a Redis ou outro serviço de fila parece uma péssima ideia. A única excepção para nós é a busca elastica.
Azure Search is available and is a basic elasticsearch PaaS offering. Devido ao tamanho e escala do nosso aglomerado elasticsearch, faz mais sentido geri-lo nós mesmos.
16. Use piscinas elásticas SQL.
Se você tem um monte de bases de dados, você deve considerar piscinas elásticas SQL.
com Azure, você tem que escolher um nível de desempenho para cada banco de dados individual. Isto funciona muito bem e proporciona um nível previsível de desempenho. No entanto, também resulta em excesso de provisionamento desempenho em muitos casos.
pense em uma piscina elástica Azure SQL como mais de um servidor e você pode atribuir um monte de bancos de dados para esse servidor. Isso permite o desempenho de cada banco de dados para ebb e fluir dentro dos recursos totais do servidor.
na Stackify cada um dos nossos clientes tem as suas próprias bases de dados SQL. Temos literalmente centenas deles, e adicionamos novos e removemos algumas a cada dia. Piscinas elásticas SQL são críticas para nós para gerenciar que muitos bancos de dados em escala.
Melhore o desempenho da sua própria aplicação
OK, se você tiver maximizado o quanto você gasta em Azure quando se trata de seu preço Global Azure e como você implanta seus aplicativos, é hora de começar a fazer algum ajuste de desempenho.
eu sugeriria usar algum tipo de Ferramenta APM como Retrace, Insights de Aplicação Azure, ou Nova Relíquia.
17. Está na hora de tirar os perfis!
Se você quiser otimizar o desempenho do seu código, você precisa fazer algum perfil de código. Existem três tipos diferentes de profilers e você pode precisar de todos os três para realmente melhorar o seu código.
- perfil de perfil padrão o seu código na sua estação de trabalho para procurar métodos lentos no seu código
- ASP.NET analise e analise o que está acontecendo
- APM – Acompanhe o desempenho geral de sua aplicação e suas dependências
18. Identifique os seus pedidos ou transações web mais usados e mais lentos.
procure pedidos que estão a demorar muito tempo ou que acontecem um número moderado de vezes, mas levam muito tempo. Olha para ASP.NET a transação rastreia para ver se muitas consultas SQL estão acontecendo, serviços web lentos, etc.
a maioria das aplicações modernas estão mais ligadas por chamadas de banco de dados ou serviços web. Se o seu código em si pode ser lento, você provavelmente quer usar um padrão. net profiler, como o Visual Studio profiler para tentar descobrir o porquê.
Top Web Requests from Retrace APM
19. Otimize o desempenho da base de dados SQL.
cada aplicação ocupada pode normalmente beneficiar de alguma afinação básica de SQL. SQL Azure tem uma grande funcionalidade básica para relatórios de desempenho e recomendações de ajuste de índice.
Se você precisa ir mais fundo, certifique-se de consultar os DMVs em SQL para identificar quais consultas são acessadas mais, usar o maior número de IO, levar o maior, etc. Além disso, tenha cuidado para ver quanto tempo as consultas levam do ponto de vista do seu aplicativo.
Você também pode alavancar sua ferramenta APM para identificar quais consultas são mais usadas e quais as ações em seu software estão chamando-as.
Top SQL Queries view from Retrace APM
20. Utilização e desempenho de todas as dependências da aplicação.
além de apenas o servidor SQL, sua aplicação provavelmente faz chamadas de serviço web, usa filas, caching e outras dependências, incluindo outras funcionalidades Azure como DocumentDB, armazenamento Azure, etc.
certifique-se de que todas essas dependências estão a funcionar bem e adequadamente dimensionadas via Azure.
outras ideias para reduzir os custos Azure
Aqui estão algumas outras ideias a considerar para ajudar a reduzir quanto você está gastando em Azure.
21. Você pode usar um CDN?
uma CDN como Cloudflare torna muito fácil adicionar cache de todos os seus arquivos estáticos sem alterações de código. Cloudflare também tem uma tonelada de características legais que podem ser usadas para otimizar o desempenho.
Azure tem uma oferta CDN muito simples que você pode tentar, mas não faz o que Cloudflare faz.
22. Pode usar a nova opção de armazenamento a frio Azure?
Azure agora oferece armazenamento Azure quente e frio. Warm é projetado para dados que são usados frequentemente e frio é para dados que raramente são usados. Se você tem um monte de dados que é pouco utilizado, backups, arquivos, ou outros dados, certifique-se de verificar o armazenamento frio.
optimizar os custos de hospedagem na nuvem Azure
espero que tenha achado esta lista útil. Certifique-se de começar com algumas das ideias mais simples para implementar e deixar otimizar o seu código por último.
otimizar o seu código é de longe a parte mais difícil de fazer e pode levar uma enorme quantidade de tempo e testes de regressão. Em Stackify, temos APIs que são chamados milhões e milhões de vezes por dia. Se você tem um código que é chamado tantas vezes quanto o nosso, definitivamente vale a pena investir nas otimizações de baixo nível do Código, caso contrário…talvez não.