Author Archive

Application Analytics - Segmenting the Solutions

Wednesday, January 8th, 2014 by Gabriel Torok

There are many ways to get sharp insight into your production applications, including:

  • Creating your own “in house” analytics solution.
  • Using a turn-key public cloud solution (e.g. Google Analytics).
  • Using a client managed package that can be run on premises or in the “cloud” of your choice (e.g. PreEmptive Analytics).

Each one has pros and cons and I’d like to quickly look at them, as well as consider the “do nothing” approach.

Do Nothing about Application Analytics:

Many companies are busy fighting today’s “fires”, and lack the sharp insight into their applications running in production that would enable them to reduce future fires. Said another way, companies without application analytics are more likely to miss quality goals, have higher maintenance costs, and lower customer satisfaction. It’s a vicious cycle where the less time they spend implementing application analytics, the more they end up needing it.

With application analytics, they can prioritize work based on actual usage patterns, identify, triage and resolve problems before their customers are seriously impacted. Because of these obvious benefits, high performing companies are less and less likely to choose the “do nothing” path.

Home Grown Application Analytics:

In-house developed and maintained application analytics solutions can provide deep understanding around the unique needs of a particular company. However, application analytics is not usually a core competency for the company. Therefore, performance, maintenance, ongoing support, new feature development, and high costs are usually an issue. Also, the company will not benefit from ongoing improvements done by others.

Public Cloud Application Analytics:

Turn-key solutions like Google Analytics, New Relic, and (eventually) Microsoft’s App Insights will cost-effectively address issues relevant to the mass market. Their strength is in providing high performance, frequently updated, rich reports with universal appeal. Their weakness is in depth of customization and the ability for client control (can’t run on-premises or in a secure data center of client’s choosing).

Client Managed Application Analytics:

In between these two solution-types are client managed offerings like PreEmptive Analytics which offer the depth of control that usually comes with home-grown solutions, while also offering an out-of-the box experience similar to turnkey cloud solutions. Client-managed solutions have a deeper ability to customize the analytics than cloud solutions do. For example, cloud solutions can’t pivot on any arbitrary data or integrate internal business data, because they can’t scale that across all their customers in a multi-tenant solution. Also, some organizations are regulated, security conscious, and/or have other isolated scenarios that keep them from sending their application data into a public cloud infrastructure. Client managed application analytics solutions like PreEmptive Analytics try to maintain many of the benefits of a turn-key solution, while keeping the benefits of depth of customization and client control and privacy aspects of a home grown solution.

Summary of the Strengths of Client Managed vs. Public Cloud solutions:


Successful companies will use application analytics to ensure their applications are performing as expected and continuously improving. Whether, they build their own, utilize one from the public cloud, or utilize a client managed solution depends on their specific requirements.

Enterprise, B2B and B2C Applications Analytics

Tuesday, May 14th, 2013 by Gabriel Torok

Cloud, mobile and distributed software services have made simulating “true” production impossible while production and release cycles have become more frequent. At the same time, communication and collaboration between development and operations has become a focal point for process improvement, spawning a trend in software development expressed by the term Development Operations (DevOps).

This is especially important as the focus shifts from long QA/user acceptance testing cycles to rapid identification and resolution of issues in production, and deployment of the fixed application back into production. This rapid identify-fix-deploy loop requires adoption of new tools and processes to be successful.

It will be increasingly important to have sharp insight into applications running in production. Without it, you will miss quality goals, have higher maintenance costs, and lower customer satisfaction. With it, you can prioritize work based on actual usage patterns, identify, triage and resolve problems before your customers are seriously impacted. You can also test changes to see how they affect user behavior and intended outcome, and drive both hard and soft costs to a minimum.

Collecting, analyzing and acting on application runtime data poses unique challenges both in terms of the types of data that need to be gathered and the metrics that measure success. Effective application analytics implementations must accommodate the diversity of today’s applications and the emergence of cloud, mobile and distributed computing platforms. Narrower analytics technologies such as standard reports provided in a cloud service will never fully satisfy development and management objectives for corporations.

Existing analytic solutions have almost exclusively resided in the cloud. This makes perfect sense from a technological implementation standpoint for the analytics vendor. However, for companies with sensitive data or that are constrained by government regulation, storing your data “in the cloud” is simply not an option. The only appropriate application analytic solution is one where data can be surfaced on a variety of endpoints (on premise and/or off premise) according to client-specific rules for compliance with relevant industry standards and regulations.

Comprehensive application analytics must support enterprise, B2B and B2C use cases including cloud, servers, web-based, traditional PC and mobile apps – and the data should stream within a private network or across public networks as well.

Our application analytics solutions achieve that objective. Let’s look at the pieces:

  • PreEmptive Analytics for TFS is a “Client-premises” or on-premises incident response solution that connects production incidents to development and operations via automated, intelligent, rule-driven creation and management of work items to decrease the mean time to fix an application.
  • PreEmptive Analytics Runtime Intelligence Service is a managed, multi-tenant service providing broad analytics and archival services – it’s a hassle-free, always up, analytics platform ideally suited to measure the most common metrics and KPIs.
  • PreEmptive Application Analytics Workbench is an on-premises solution that provides critical insight into the adoption, usage, performance, and impact of production applications to facilitate feedback-driven development and enhance software quality, user experience, and decrease the mean time to improve an application.

At this point you might be wondering which of these tools might be most useful to you now. That is where the Data Hub shines brightly.

The PreEmptive Analytics Data Hub is a client-premises endpoint that can be installed internally, on a “DMZ” server, or in the cloud - and it serves as the “one endpoint” for all of your applications, across all of our services – even as you expand and adjust your analytics strategies and implementations. The Data Hub monitors runtime data and routes that data to any/all other PreEmptive Analytics software and services (including other Data Hubs). The Data Hub is an enterprise-scale runtime data management and distribution service providing resilience (caching, retry and commit) and flexibility across architectures and platforms.

So you can instrument your apps, send them to the one endpoint you need, the Data Hub, and then slide in one or more of the available analytics solutions (including 3rd party solutions) that best meet your requirements. If your analytics toolset changes, you can make any necessary adjustment without having to re-instrument or redistribute your applications. Applications that do not have privacy or regulatory concerns could have runtime data forwarded to the “cloud”. And, Analytics for Applications that touch more sensitive data can be kept internally only. Runtime data can be sent to more than one place, providing a set of checks and balances. Flexible, powerful, secure, actionable… You can have your cake and eat it too.

Improving Mean Time to Repair

Tuesday, November 13th, 2012 by Gabriel Torok

IT shops are facing more challenges than ever before. Among other mandates, they must increase quality and deploy updates more frequently. And many IT organizations are running up against the fundamental truth that it is not possible to simulate production. QA and testing are required and necessary, but there are far too many permutations in production to fully test even under the best of circumstances. So, it is essential to respond to issues in production quickly and efficiently.

Mean Time To Repair (MTTR) is the interval from an unwanted event in production to the root cause being fixed and the service (or application) redeployed and in use by the customer.

A goal for IT is to decrease the MTTR for a service or application while possibly at the same time embracing the concepts of frequent delivery and deployment of software. A rapid diagnose-fix-deploy loop requires adoption of new tools and processes to be successful. Since 80% of MTTR may be spent in the diagnosis phase, it can be useful to focus on that first “diagnose” step in the loop.

Tools like PreEmptive Analytics can help development teams identify the most important and widespread issues in deployed applications even before users report them, and set the issues up to be quickly resolved.

PreEmptive Analytics collects and analyzes production incidents and automatically creates (and updates) work items within ALM tools such as Team Foundation Server. When development teams have easy and complete access to production incidents they can make great decisions about how to triage and repair problems. That saves time, money and makes for delighted users. Isn’t that what every development shop wants?

The Visual Studio and TFS 2012 DevOps Story

Monday, October 22nd, 2012 by Gabriel Torok

Cloud, mobile and distributed software services have made “simulating production” impossible while production and release cycles are becoming more frequent. At the same time, communication and collaboration between development and operations has become a focal point for process improvement, spawning a trend in software development expressed by the term Development Operations (DevOps).

Companies recognize that they need to provide continuous quality and eliminate waste in their software development process. This is especially important as the focus shifts from long QA/user acceptance testing cycles to rapid identification and resolution of issues in production, and deployment of the fixed application back into production. This rapid identify-fix-deploy loop requires adoption of new tools and processes to be successful.

There are complimentary “devops” tools shipping in Visual Studio and TFS 2012 that help reduce cycle times and continuously improve quality. Let’s look at them:

SCOM Application Performance Monitoring

Use SCOM Application Performance Monitoring if you own Microsoft’s System Center Operations Manager 2012 and you have internal applications you wish to monitor such as Internet Information Services (IIS)-hosted .NET applications. The .NET Application Performance Monitoring (APM) template in System Center Operations Manager 2012 allows you to get details about application performance and reliability that can help you pinpoint root causes of incidents. You specify settings, the types of events to collect, the performance goals to measure, and servers to monitor and .NET Application Performance Monitoring reveals how applications are running. You can see how frequently a problem is occurring, how a server was performing when a problem occurred, and the chain of events related to the slow request or method that is raising exceptions.

PreEmptive Analytics

Use PreEmptive Analytics for Team Foundation Server (PA/TFS) if you have a broader set of applications you wish to monitor that are:

  • Enterprise, B2B, or B2C: In and across enterprise, partner, & client domains.
  • Heterogeneous: .NET, Java, JavaScript, Windows Native including WP, Android, and WinRT.
  • Distributed: Client/Server, Mobile, Azure, hosted inside and across firewalls and domains.

PreEmptive Analytics allows you to see, as they happen, the errors your users are experiencing. By aggregating and analyzing exceptions reported by your production applications and automatically creating TFS work items, PA/TFS gives you access to incident data right where you need it – in Visual Studio, TFS Web, and Reporting Services. The work items include the exception type, message, full stack trace, the contents of any inner exceptions, and the list of all assemblies loaded at the time of the exception, as well as the number of such exceptions received. With a small amount of additional configuration, you will also be able to see unique instance identifiers (such as the serial number of each application instance that experienced the exception) as well as comments about the error and contact information, if provided by the end user. PreEmptive Analytics is always on (like Radar) and supports a broad set of “real world” scenarios efficiently, securely and reliably.


Intellitrace is more like a CAT scan. It is able to provide “deep dives” into complex systems and is well suited when a problem is already known but not fully understood. As an example, if you are alerted to an issue in production with PreEmptive Analytics and you don’t have enough information yet to fully solve the problem, you could use Intellitrace to further dig in. To do this, start IntelliTrace data collection, reproduce the problem, and then stop collection. You can take the resulting log that IntelliTrace creates, open it in Visual Studio 2012 Ultimate, and analyze it. Intellitrace is great for debugging errors that are hard to reproduce or that happen outside Visual Studio, for example, in production or other environments.

DevOps tools and services improve software quality and reduce time to resolution by generating actionable bugs from deployed software. Visual Studio and TFS 2012 include three complimentary tools that help you dramatically reduce time for solving production errors. Take advantage of these and start building better software, faster.

PreEmptive Solutions and Microsoft Corp. Partner to Provide Exception Analytics in Visual Studio 2012 and Team Foundation Server 2012

Thursday, September 13th, 2012 by Gabriel Torok

With their official press release, Microsoft announced the inclusion of a light version of PreEmptive Analytics inside Visual Studio and Team Foundation Server 2012. While PreEmptive’s code protection product, Dotfuscator, has been inside Visual Studio since 2003, the addition of analytics represents a material expansion to our value proposition.  Because of this, our Visual Studio 2012 version has been renamed PreEmptive Analytics and Dotfuscator Community Edition™. You can find “PreEmptive Dotfuscator and Analytics CE” on the tools menu of Visual Studio 2012 in all versions except Express.

Click on it and follow some easy steps to configure analytics to collect information and/or apply code protection which helps prevent against tampering and reverse engineering. You can direct application analytics to our Runtime Intelligence Services in the cloud. Of if you are using TFS, point the exception reporting at your TFS Server (on premise or in the cloud). Then, configure “PreEmptive Analytics” included with TFS to receive the production incidents and create work items based on rules you specify. Lastly, collect, analyze, and surface exception analytics automatically inside TFS and rapidly respond to what is happening in production.

Using PreEmptive Analytics CE inside Visual Studio and TFS 2012, you already have technology to easily collect and “make actionable” production incidents (exceptions) from your applications in production. You already have automatic intelligent creation of TFS work items to solve the issues that affect most of your customers or your most important customers first.

As developers transition into more frequent deployments, it’s more important than ever to have analytics everywhere, and actionable everyday. That’s why we have partnered with Microsoft to deliver feedback-driven development and operations capabilities in the box for Visual Studio and TFS 2012.

PreEmptive Analytics and Dotfuscator are the only software components embedded inside Visual Studio not directly developed by Microsoft. The alignment of technology and product strategy ensures that PreEmptive software is rigorously tested as a part of each Visual Studio release. We are proud to play a strategic role in the Microsoft ecosystem by helping Visual Studio and TFS users build better software by increasing developer productivity, improving user experience, increasing operational transparency, and securing intellectual property. And we are excited to make Microsoft’s DevOps story more complete by complimenting tools like Intellitrace.

PreEmptive Solutions has over 5,000 corporate clients worldwide and software on millions of desktops. Microsoft believed enough in our protection and analytics software to put a community edition inside Visual Studio.  Fire up PreEmptive Dotfuscator and Analytics in Visual Studio 2012 and start protecting your code and making great choices based on real world information. Not sure which version of our software has the functionality you need? Check out our professional SKUs and compare them to the community versions here.

For a short video that introduces PreEmptive Analytics click here.

For a short demo of PreEmptive Analytics click here.