Health check services and middleware are easy to use and provide capabilities that let you validate if any external resource needed for your application (like a SQL Server database or a remote API) is working properly. Like many ASP.NET Core features, health checks come with a set of services and a middleware. When developing an ASP.NET Core microservice or web application, you can use the built-in health checks feature that was released in ASP. Implement health checks in ASP.NET Core services If you invest in high-quality health reporting that's customized for your application, you can detect and fix issues for your running application much more easily. If you're using an orchestrator, you can provide health information to your orchestrator's cluster, so that the cluster can act accordingly. In the typical model, services send reports about their status, and that information is aggregated to provide an overall view of the state of health of your application. If services cannot send some sort of "I'm alive" signal, either on demand or on a schedule, your application might face risks when you deploy updates, or it might just detect failures too late and not be able to stop cascading failures that can end up in major outages.
![download net uptime monitor download net uptime monitor](https://static.wixstatic.com/media/f63947_ab4d24fb539243dba438734a454bfb77~mv2.png)
Microservices-based applications often use heartbeats or health checks to enable their performance monitors, schedulers, and orchestrators to keep track of the multitude of services.
![download net uptime monitor download net uptime monitor](https://windows-cdn.softpedia.com/screenshots/systemDashboard-Uptime-Monitor_2.png)
Health monitoring is critical to multiple aspects of operating microservices and is especially important when orchestrators perform partial application upgrades in phases, as explained later. Health monitoring can allow near-real-time information about the state of your containers and microservices.