No mundo de desenvolvimento de software, é essencial garantir que uma aplicação funcione de maneira eficiente e confiável. Em um ambiente altamente competitivo, o tempo de inatividade pode levar à perda de negócios e, possivelmente, à insatisfação do cliente.
Para enfrentar esses desafios, uma ótima alternativa é a implementação de Health Checks em suas aplicações ASP.NET Core. Neste artigo, discutirei os conceitos básicos dessas verificações e como implementá-las em aplicações ASP.NET Core.
O que são Health Checks?
Health Checks são mecanismos utilizados para monitorar a saúde e o desempenho de uma aplicação. Eles são projetados para identificar rapidamente problemas que possam afetar a estabilidade e o desempenho da aplicação e tomar medidas corretivas em tempo hábil. Isso permite que os desenvolvedores e os operadores de TI gerenciem a aplicação de maneira mais eficaz e garantam uma experiência do usuário mais estável.
Health Checks no ASP.NET Core
O ASP.NET Core é um framework de desenvolvimento web de código aberto e multiplataforma desenvolvido pela Microsoft. Ele foi projetado para ser escalável e de alto desempenho, com recursos integrados para simplificar a criação e a manutenção de aplicações web modernas. A partir da versão 2.2, o ASP.NET Core introduziu o suporte nativo para Health Checks, fornecendo uma maneira simples de adicionar essas verificações a uma aplicação.
Para configurá-los em uma API ASP.NET Core, basta atualizar a class Program com o código das linhas 3 e 12. O restante do código não será mostrado para simplificar a explicação:
Com isso, adicionamos Health Checks à nossa API, resultando na criação automática de um endpoint “/health” que irá servir para essas verificações. Ele vai retornar um simples texto com “Healthy” ou “Unhealthy”, dependendo do estado do recurso.
Health Check para o SQL Server
Também é possível adicionar Health Checks do SQL Server e ter uma interface gráfica para isso!
Primeiramente, instale as bibliotecas abaixo:
- AspNetCore.HealthChecks.SqlServer
- AspNetCore.HealthChecks.UI
- AspNetCore.HealthChecks.UI.Client
- AspNetCore.HealthChecks.UI.InMemory.Storage
E agora, na classe Program, atualizará o código para ficar ao seguinte abaixo (não incluo o restante das linhas do Program para simplificar):
Aqui adicionamos as linhas de 4 a 7, configurando o health check do SQL Server e também a interface gráfica, e também da linha 16 à 21. A linha 16 em específico está adicionando mais informações ao nosso endpoint de verificação.
Outro ponto de atenção é a linha 5. A string de conexão que estiver no appsettings.json será utilizada para realizar a verificação da integridade do banco de dados. Logo, preste atenção no nome e valor da string de conexão, para não estar errada e começar a apontar erro mesmo o banco estando funcional.
Executando a aplicação e acessando o endpoint “/healthchecks-ui”, teremos uma interface gráfica mostrando o nosso health check e o estado dele!
Muito legal, né?
Quer alavancar sua carreira como Desenvolvedor(a) .NET?
Além de Desenvolvedor .NET Sênior, eu sou instrutor de mais de 700 alunos e também tenho dezenas de mentorados.
Conheça o com mais de 800 video-aulas sobre C# e desenvolvimento de APIs com ASP NET Core, Microsserviços com ASP NET Core, Arquitetura de Software, Computação em Nuvem, SQL, HTML, CSS e JavaScript, JavaScript Intermediário, TypeScript, Desenvolvimento Front-End com Angular, e Desenvolvimento Front-end com React. Diversos mini-cursos disponíveis aos alunos e atualizações gratuitas.
Suporte dedicado, e comunidade de centenas de alunos.
Completo e online, destinado a profissionais que querem dar seu próximo passo em sua carreira como desenvolvedores .NET.
Clique aqui para ter mais informações e garantir sua vaga
Conclusão
Os health checks são uma parte crucial do desenvolvimento e da manutenção de aplicações ASP.NET Core. Ao monitorar o estado geral e o desempenho de nossas aplicações, podemos garantir que nossos serviços estejam sempre em perfeitas condições para atender às demandas dos clientes e fornecer a melhor experiência possível.
Ao utilizar as ferramentas e os recursos nativos do ASP.NET Core, você estará dando um passo fundamental para tornar seu aplicativo mais resiliente, escalável e fácil de gerenciar. Então, não hesite! Vá em frente e comece a implementar health checks em suas aplicações agora mesmo. Afinal, a saúde da sua aplicação é uma prioridade que merece toda a sua atenção.
Lembre-se de que o mundo do desenvolvimento de software está em constante evolução, e nunca é tarde para aprender novas técnicas e práticas recomendadas. Te vejo no próximo artigo!