Implementing Application Insights, Self‑Managed Build Agents, and Automated Quality Checks in a TFS‑Based DevOps Workflow
This article describes how a development team introduced Azure Application Insights for runtime monitoring, built and maintained their own TFS build agents, integrated SonarQube for automated code quality, and established unit and integration testing pipelines to create a data‑driven, scalable DevOps process.
Initially the team had no application‑level monitoring and relied on inserting error logs into a shared database table, which left them unaware of runtime performance and failures. By adopting Azure Application Insights—a SaaS APM service—they gained real‑time visibility into requests, performance, exceptions, and could perform data‑driven optimizations such as caching high‑traffic endpoints.
Insights was demonstrated to management, received CTO approval, and was later integrated with TFS so that build releases automatically annotated monitoring data and displayed Insights widgets on the TFS dashboard.
To keep pace with evolving .NET versions, the team built their own Build Agents, installing VS2017, .NET 4.7, .NET Core 2.0, Docker, CMake, Python, JMeter, F#, Node.js, and Java. This self‑managed infrastructure allowed rapid adoption of new frameworks and ensured the CI pipeline could support .NET upgrades and future .NET Core migration.
For automated code quality, SonarQube was deployed on a dedicated server and linked to TFS build tasks. Pull requests now display SonarQube analysis results, and merges are blocked if the analysis fails, providing early feedback without replacing manual code reviews.
Unit testing was emphasized by enforcing dependency injection, limiting static/new usage, and achieving >70% coverage, with test results integrated into the TFS dashboard. Integration testing leveraged JMeter for performance tests and SpecFlow + xUnit for BDD‑style API tests, though results are still emailed rather than displayed in TFS.
The team also upgraded their build pipeline to support NuGet 4.3, enabling consumption of .NET Standard 2.0 packages despite TFS 2017 Update 2’s older NuGet client.
Additional TFS customizations included linking Jira tasks to code, automatic branch backup during releases, and plans to incorporate Docker, Wiki, and OWASP ZAP for automated security testing.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
DevOps
Share premium content and events on trends, applications, and practices in development efficiency, AI and related technologies. The IDCF International DevOps Coach Federation trains end‑to‑end development‑efficiency talent, linking high‑performance organizations and individuals to achieve excellence.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
