Introduction
Like many software developers, I once thought of monitoring only after I had completed coding an application's functionality. Now, I see it as an essential part of the development process, allowing me to better maintain, improve, and troubleshoot my application.
Application monitoring is an important part of developing any software application or service. A well-monitored application allows you to discover and troubleshoot problems, improve system quality, maintain security, and manage complexity.
Let's talk about some of those advantages.
Discover problems
By keeping track of important measurables, we can determine when those measurables fall outside of an acceptable range. This aberration often indicates a fixable problem. For example, if memory or CPU usage spikes unexpectedly, it may suggest that we need to scale up or scale out our service.
Troubleshooting
Once we discover a problem, it can be difficult to find the root of that problem. An effective way to learn more is by reviewing logs recorded when the problem occurred.
Manage Costs
Cost is an important consideration for any business. Monitoring costs for hosted applications and services can help us decide whether we are using resources effectively. Most hosts provide information on costs, broken down by services and time.
Improve system
Analyze system proactively
Who is using which parts of the system? We may discover that certain features are rarely used. With this information, we can raise the visibility of these parts, deprecate them, or make them more attractive. The point is: we should make these decisions based on real data.
Where are the bottlenecks?
How much resource is the system using? Are any services consuming excess memory or CPU? Are any services slow to respond? Knowing where these bottlenecks exist can help us focus our energy and improve the system's performance.
Security
By monitoring for suspicious activity, you can detect threats to your application from outside or inside your organization.
Manage complexity
We cannot hold all the applications and interdependencies in our heads. Monitoring helps us manage that complexity by saving information about the activity.
Compliance
Some industries require certain information to be logged and retained for a given time. A monitoring solution helps meet these legal obligations.
Conclusion
In this article, I explained some of the advantages of maintaining effective monitoring for your service or application. In future articles, I will show you how to implement monitoring using the tools provided by Microsoft Azure.