Na nuvem, é importante observar regularmente e de perto como seu aplicativo e serviços são arquitetados e utilizados. É a melhor maneira de identificar oportunidades que permitirão dimensionar corretamente sua instância, ajustar seu banco de dados, modificar seu uso de armazenamento, configurar melhor seus balanceadores de carga ou até mesmo reprojetar sua aplicação.
Por exemplo, se você tiver um conjunto de 20 instâncias, todas em execução com 10% de uso da CPU, considere usar uma instância menor ou consolidar mais trabalho nessas instâncias. Esse tipo de pensamento sobre a utilização e os gastos da nuvem ajudará você a otimizar seu ambiente e economizar dinheiro rapidamente.
Otimizar sua arquitetura de nuvem tem três objetivos principais:
- Melhore o desempenho, a disponibilidade e a experiência do usuário final aproveitando melhor os serviços na nuvem
- Otimize seus gastos com nuvem, alcançando o delicado equilíbrio entre custo e desempenho
- Capture métricas comerciais e técnicas que ajudam a justificar seus gastos atuais com nuvem e que podem ser referenciadas como justificativa para um orçamento de nuvem maior conforme o crescimento exigir.
Neste tutorial, mostraremos como usar a plataforma New Relic para capturar todos os dados que você deve aproveitar para otimizar sua arquitetura e gastos em nuvem.
1. Instrumente seu aplicativo e ambiente de nuvem
Certifique-se de que os seguintes produtos e integração sejam instrumentos:
Instrumento | Detalhes |
---|---|
Instrumento de infraestrutura: Se ainda não o fez, revise os requisitos do agente de infraestrutura. A infraestrutura vem com vários tipos de integração, incluindo Amazon Web Services (AWS), Microsoft Azure e integração no host. Depois de instalar o agente de infraestrutura em seu(s) host(s), você terá acesso imediato ao amplo espectro de métricas que o agente coleta imediatamente. | |
Instrumento seu aplicativo com APM. Isso permitirá que você monitor o desempenho do seu aplicativo enquanto você otimiza os serviços na nuvem subjacentes. Dessa forma, você pode confirmar se as alterações na infraestrutura estão de fato melhorando o desempenho do aplicativo. | |
A integração Amazon da infraestrutura permite monitor seus dados AWS em qualquer lugar da nossa plataforma, incluindo infraestrutura, painel e alerta. | |
Se você estiver hospedado em um ambiente AWS, a New Relic pode ajudá-lo monitor seus gastos na nuvem com nossa integração com o AWS Billing . Para aproveitar a integração do AWS Billing da New Relic, siga os procedimentos na documentação do Connect AWS Billing |
2. Criar dashboard para visualização de métricas de infraestrutura de anomalia; inclua orçamentos da AWS, se disponíveis
O painel permite que você escreva consultas personalizadas poderosas sobre seus dados e visualize os resultados em um widget exibido em um dashboard comum. Você também pode alimentar os resultados da sua consulta diretamente no alerta, onde poderá obter notificação imediata sobre qualquer Desvio identificado.
Para esta etapa, você deve exibir métricas de infraestrutura de anomalia relacionadas ao desempenho e uso (CPU, memória, disco, banco de dados, etc.). Incluir orçamentos da AWS, se disponíveis.
Crie individuais para cada aplicativo e, em seguida, reúna esses painéis em um único aplicativo de dados, conforme mostrado aqui. Este aplicativo de dados Visão geral da produção da AWS exibe um conjunto de widgets relevantes para um orçamento de produção da AWS. Os aplicativos de dados são ótimos para apresentações nas quais você deseja percorrer uma série de tópicos e também fornecer uma visão geral clara de todo um ambiente ou serviço.
3. Identifique recursos para otimização
Esta etapa mostra como usar a métrica capturada pelo New Relic para determinar quais recursos otimizar.
No dashboard de exemplo acima, o widget de uso da CPU à esquerda revela que este aplicativo usa muitos tamanhos de instância. Observe que a instância “c4.xlarge” (em coral) consome consistentemente apenas cerca de 20% da capacidade da CPU. Porém, ao analisar o uso de memória do c4.xlarge no widget central (verde claro), você verá que o uso de memória para esta instância varia de 20% a 80%. Isso sugere que o aplicativo consome mais memória do que CPU. Nesse caso, o tipo de instância deve ser alterado de uma instância otimizada para computador para uma instância otimizada para memória. Observe que o gráfico à direita do dashboard pode ser usado para monitor o tempo médio de resposta do aplicativo conforme você faz essas otimizações.
Este é apenas um exemplo de como identificar recursos baseados em nuvem que poderiam ser candidatos à otimização.
Agora que você identificou a arquitetura para otimização, vá em frente e faça isso. Quer você dimensione corretamente sua instância, ajuste seu banco de dados, modifique seu uso de armazenamento, configure melhor seus balanceadores de carga ou até mesmo re-arquitete seu aplicativo, no final seu objetivo é ser capaz de comparar sua arquitetura nova e otimizada contra a anomalia que você capturou na Etapa 2. Para saber mais sobre anomalias, revise o tutorial Estabelecer objetivos e anomalia.
4. Opcional: configurar alerta
Você pode criar uma condição do alerta para consulta de NRQL. Certifique-se de consultar a documentação completa conforme necessário.
Use esta consulta para configurar o alerta:
SELECT latest(`provider.actualAmount`) as '$ Actual', latest(`provider.forecastedAmount`) as '$ Forecast', max(`provider.limitAmount`) as '$ Limit' FROM FinanceSample WHERE provider = 'BillingBudget' AND `provider.budgetName` = '[Your Cloud Budget]'
Se você puder escrever consultas sobre seus dados e mostrá-los no painel, poderá usá-los facilmente para gerar condição do alerta.
Consulta de anomalia
New Relic também permite que você escreva “anomalia consulta” em seus dados. São consultas que você escreve sem estabelecer limites rígidos para os resultados. Em vez disso, você permite que os alertas New Relic aprendam automaticamente seus dados de desempenho e, em seguida, alertem você quando seus dados se afastarem muito dos números de anomalia.
Para criar uma consulta de anomalia, acesse o console de alertas, entre em política de alertas e adicione uma Nova política de alertas. Em seguida, siga estas etapas:
Crie políticas de alertas. Dê à sua apólice um nome conciso e descritivo e selecione uma preferência de incidente. Em seguida, selecione Criar política de alertas.
Crie uma condição. Selecione NRQL
Defina sua consulta e decida com que restrição os alertas do New Relic devem analisar seus dados usando um controle deslizante simples e uma visualização com base em seu desempenho recente.
O controle deslizante na parte inferior do gráfico aumenta ou diminui a faixa cinza em torno do limite do seu orçamento (a linha azul). A configuração mostrada teria resultado em zero incidente com base em dados recentes, e é isso que você está procurando. No entanto, se a linha azul subir ou descer da faixa cinza, iremos notificá-lo imediatamente.
Os alertas são uma ótima maneira de ajudá-lo a aprender proativamente sobre seus gastos na nuvem ou sobre qualquer um dos seus dados de desempenho.
Saber mais
- Revise o tutorial Alertas proativos e orquestração de incidentes para se aprofundar em algumas das práticas recomendadas descritas acima.