Tag Archives: Software Dependencies

The SysTrack Software Analytics Kit: Software Dependencies

A key component of observing software assets is understanding software dependencies. To address this, we here at Lakeside have developed the SysTrack Software Asset Analytics kit. A portion of this kit is entirely centered around discovering and monitoring software dependencies within an environment to meet the needs of the IT professional. These dependencies provide insight into the requirements needed for the proper functionality of software and identifying answers to important questions that IT might have such as “are all my software packages being used?” or “what are the connections required for my applications?”. The driving force behind understanding dependencies is the promotion of innovation for software package delivery and thus a more positive end user experience.

Dependencies allow for the ability to observe what the applications that make up a software package require to function every day.  Requirements for software can vary, but the core attributes to monitor are application connections, required systems components, compatibility, and application usage. The ability to identify required connections and system components is vital due to potential system restrictions such as unusable ports or unsupportable system

Let’s say an IT administrator, Joe, is analyzing software packages that he provides and is wondering how to make it more optimal for him and end users by trimming deadweight from his packages to reduce install and delivery size, limit the chance of errant components interfering with one another, and streamlining application connections. The perfect place for him to start would be our Software Dependencies Summary dashboard. He notices in the Software Summary panel that there is a software package installed in most systems but only used by half of the systems it’s installed on. It is also clearly highlighted in a graph next to the given data and displayed below.

 

By diving into one of the detailed dashboards provided by our Software Asset Analytics Kit, he can easily search for the package and see additional details including the number of associated applications, how many of those applications require connections, and where those connections are going. He goes further down the dashboard and takes note of which systems are using the software and even the last time it was used. With this information, he can conclude that only certain groups within the company need to have that software. As he continues to follow the flow of the dashboard, he notices that only some of the applications within the package are being used and many of the system components required by the unused applications are unnecessary. He can use this information to optimize the software package and only include the necessary applications and components. The image below shows how easy it is for Joe to view this information and thus reach his conclusions.

Finally, he ensures that the applications that do require connections are using approved correct ports to guarantee the security of the environment and potentially simplify network traffic. Through proper use of this dashboard, Joe could easily navigate the pertinent data and know what to trim from the software package and how to limit its delivery to only the groups that required it. He even confirmed that the software package would only make connections through approved network ports.

Dependencies is just one of the three key categories when observing software assets. We will continue to expand on the other two categories, Usage and Performance, with examples taken directly from the SysTrack Software Asset Analytics Kit to show the importance and practicality of monitoring this data for maintaining a successful environment.

Software Asset Optimization with SysTrack

Workplace analytics encompasses a vast amount of end user computing related information collected from a variety of sources, and a vital component of the topic is the observation of software assets. Obviously, a broad topic, we’ve chosen to break that further into three key categories: performance, usage and dependencies. Software performance monitoring is driven by the need to understand how well applications are working in the environment. Software usage is predicated on the idea of optimizing licensing and delivery to provide necessary applications. The last category, Dependencies, is vital to understand what pieces are necessary for software to function.

Software performance is itself a complex topic, but broadly the idea is to identify the answer to key questions like “why does my application keep crashing?” and “what applications take the longest time to load?” This incorporates key metrics like resource consumption details (CPU, memory, IOPS, network bandwidth) as well as number and frequency of faults or hangs. In many ways, this is one of the first items thought of in the context of software asset analytics, and it’s often one of the first things an end user notices about the environment. Diagnosing performance issues and understanding the resource consumption for the average user can help steer hardware requisition and delivery methods. Clearly, though, a preliminary question in many cases is exactly what packages belong in the environment.

Accurately observing software usage can be invaluable to a company. The ability to know which applications are used versus installed directly relates to the distribution of licenses, and that’s a direct cost driver. Another consideration is support cost savings made possible by making images less complicated. Intrinsic to rationalization is a host of potential ways to make sure that the delivery of applications to end users is as closely tailored to their needs as possible. There are some technical considerations to this as well, not the least of which is exploring the components or backend connections required for software in the environment.

Gaining insight into the required components a given package needs to function can be very important to choosing appropriate delivery mechanisms and options. Application compatibility concerns driven by incompatible components, fundamentally unsupportable system components, and complex networking requirements are all key to understand. Identifying what applications call on to function on a day to day basis dictates many of the decisions IT need to make to modernize and continually innovate with their delivery options.

We’ll be going into more depth on each of these categories as we release our upcoming Software Asset Analytics Kit. With each area, we’ll expand on some real use cases and provide some real-world examples of how each provides essential information for an environment.