The Doppler Quarterly Summer 2016 | Page 27

• Direct business value tracking from the performance metrics and monitoring subsystems
• Historical performance data organization , analysis , visualization , and storage that can track performance issues and resolutions to proactively avoid said issues in the future
Service Agents
Service agents are software components that run side by side with , or inside of , an existing service , on either public or private clouds ( see Figure 1 ). There could be many services that are bound to a single agent , or a single service bound to a single agent . It ’ s the job of the service agents to :
• Interact with the point of monitoring in the service during production / operations .
• Interact with the service repository to determine service identity and current dynamic performance thresholds and adhere to those thresholds .
• Update the time series database as defined in the service repository , at a predefined and dynamic frequency .
• Manage communications and alerts with other components ( push ).
• Work with the identity management system , or other security subsystems , to manage authentication services .
• Work with the service governance system to leverage policies .
The best way to think about service agents is that they interact with the services in order to determine performance during operations . Also , keep in mind that the agents themselves may cause performance issues and thus need to be used sparingly and only when they are monitoring critical performance components using services .
Service Repository
The service repository maintains all service attributes , policies , and identities , providing a single point of service discovery on either the public or private clouds . Typically , this is part of a service governance system , but it could be created specifically for the purpose of performance monitoring and replicate directly out of the service governance repository . It ’ s the job of the service repository to :
• Provide a place to define current and past service performance thresholds that are read and acted upon by the agents ; these span both private and public clouds and can be dynamically altered using APIs .
• Provide up-to-date service identity , including dependencies with other services or systems . This allows for the definition of groups of services ( such as composites ) that act together to perform a single function . The services are monitored individually and as a group .
• Define the location and binding information for agents that represent each service .
• Store other information relevant to managing the performance of the services .
These days , service repositories should never be built . There are many open-source and proprietary solutions out there . In some instances , you may have to adapt to an existing repository
Communications Manager
The communications manager deals with all communications between agents , services , service repositories , databases , analytics , and other components charged with monitoring and managing service performance . Typically , this will be a queue — or some other high-speed middleware layer — that will allow messages to be both produced and consumed by each component in the system . It ’ s the job of the communications manager to :
• Connect with each component of the service performance management system ; this includes providing authentication and validation .
SUMMER 2016 | THE DOPPLER | 25