Build & Extend Knowledge
Knowledge Modelling and Studio
Transforming Data-Center Operations
A Tata Consultancy Services Venture
Agenda
Studio : Build and Extend Knowledge
Studio Overview – An environment for Knowledge Modelling
Knowledge Modelling Fundamentals and Hands on:
Entity, Relationships & Annotations
Hands On
Tags, Verbs, Functions and Function Generation
Hands On
Modelling a Policy
Hands On
Modeling Faults and Fixes
Hands On
A Tata Consultancy Services Venture
USER STORY 1:
Build and Extend Knowledge
Objective
Studio Overview
Product Features
Developers Workspace and Customer Artifactory
A Tata Consultancy Services Venture
Studio Overview
Studio
Customer(s) Digitate
publish publish
User(s) Repository(s) Artifactory Artifactory Repository(s) User(s)
Workspace(s) Project(s) Project(s) Workspace(s)
Model Model
Elements Elements
A Tata Consultancy Services Venture
USER STORY 2
Fundamentals of Knowledge Modelling
Objective
Understanding and Building a Knowledge model
• Entity
• Relationships
• Annotations
A Tata Consultancy Services Venture
Knowledge Modelling Entity Definitions
• Entity: An entity is any singular, identifiable item that
exists by itself, physically or virtually and concretely
or abstractly. For e.g. Windows, CPU, Memory,
Service, Filesystem, Oracle etc.
• Root Entity – Root entities are entities that have
Oracle interfaces to the external world. For e.g. Linux,
(Root) Windows
MEM
(non Root)
Installed On • Non-Root Entity: Entities that are dependent on a
has Root entity for interfacing with the external world.
CPU
(non Root) For e.g CPU, Memory
Unix has
(Root) • Dynamic Entity – Enables attributes that are
dynamic in nature such as timestamped data. For
e.g. Historical CPU utilization data. Dynamic entity
always binds to a Static entity like CPU / Memory
A Tata Consultancy Services Venture
Knowledge Modelling
Relationship Definitions
• Relationship can be added between two entities. It indicates
how the two entities are related. e.g. The Unix OS has CPU.
Here ‘Unix’ and ‘CPU’ are entities and ‘has’ is the relationship
Oracle name
(Root) MEM
(non Root) • The relationship is an edge and it can be defined in either
Installed On direction Unix “has” CPU (or) CPU is “contained in” Unix. –
has treating one as the source and the othe as the destination of
CPU
(non Root) the relationship
Unix has
(Root) • Relationship names are like identifiers and are not
constrained.
A Tata Consultancy Services Venture
Knowledge Modelling Annotations for Relationship
Relationships have Annotations
Annotation Description
Identified By To represent how a non-root entity is identified by
the root entity. E.g. CPU entity is identified by OS
entity.
Oracle
(Root) Contains To represent containment relationship. E.g. Unix
MEM
contains CPU.
(non Root)
Installed On Influenced By To represent influencers for the entity. E.g. MSSQL
Executes On
has influenced by Windows.
CPU
Executes On Executes On(non Root) Dependent To represent the dependency relationship. E.g.
Unix has On Service dependent on another Service.
(Root)
Executes On Helps determine the execution path of functions
belonging to non-root entity
Executes On
A Tata Consultancy Services Venture
How to Build / Extend Definitions
Knowledge models Use Abstract Entities or existing entities to
extend/enhance knowledge
Operating Abstract Entity - General entity formed by extracting
System common features from concrete/specific entities. For
(Abstract)
e.g. Operating System, Database etc.
(extend)
Windows Enhance knowledge using inheritance:
Extend any entity to inherit attributes/ relationships and
(extend) methods to further enhance / override model definitions
Windows and methods (functions)
2003
(extend)
Windows
2010
A Tata Consultancy Services Venture
USER STORY 3
Fundamentals of Knowledge Modelling
Objective
Understanding Knowledge model
• Tags , Verbs and Functions
• Generate Functions – Atomic and Pattern
A Tata Consultancy Services Venture
Tags and Verbs
Tags
1. Standardize the signature of functions.
Local User
(non-Root) 2. Are associated with Entities, Attributes and Relationships.
Attributes: Instantiable 3. Map to a set of “Verbs”
First Name
Last Name 4. For each verb associated function signatures can be generated.
Email id
Example(s) :
Readable, Writeable • An “Instantiable” tag can be associated with an Entity and for this
tag, the verbs (and associated functions) of Create, Delete ,
Update and Read are relevant for that entity.
has
• A “Readable” and “Writeable” tag can be associated with an
Collectable attribute of an Entity and for these tags the verbs of “Get” and
“Set” are associated.
Windows • A “Collectable” tag can be associated with a relationship and for
(Root) this tag the verbs of “Add”, “Remove” and “Contains” are
associated.
Please refer product documentation on Studio for the complete set of
available Tags and Verbs
A Tata Consultancy Services Venture
Functions
Verbs / Functions
1. May also be referred to as functions
Local User
(non-Root) 2. For every verb/ function the signature may be generated using
Attributes: Instantiable
Studio. This ensures consistency
First Name
Last Name
3. The atomic functions thus generated will be invoked by the
Email id Pattern functions like Health Check and Incident management
Service 4. The supported languages are defined in accordance with the root
(non-Root) Readable, Writeable entities.
Example(s) :
Available has • In the depicted example the root entity is Windows and non root
entity is Local User.
Collectable
• The Create Local User function, will have to be executed on
Windows using “Powershell”. So the function implementation for
Windows
Create Local User will be in powershell.
(Root)
• Studio supports Powershell (for Windows) , Bash (for Unix, Linux
category of systems, SQL language for database and, Groovy (for
custom functions where we will compose together calls to multiple
atomic functions)
A Tata Consultancy Services Venture
Verbs / Functions
1. Are generated based on the chosen Tags
Functions Create
Delete
2. For implementing the atomic functions, choose the language
supported by the entity .
Update
3. For implementing custom functions which composes multiple
Local User atomic functions choose the Groovy language
(non-Root) 4. If it is a non root entity, choose the language supported by the
Start
Attributes: Instantiable associated root entity
Stop First Name
Last Name
ReStart Email id Get Private & Public Functions
Set 1. Studio generates public (pattern) and private (atomic) functions
Service
Readable, Writeable for each of the verbs associated with the tag
(non-Root)
2. The developer / knowledge modeler will implement the private
function.
Available has
3. The public functions also referred to as pattern functions are not
Collectable
implementable
GetAll 4. The public functions, invoke the associated private functions and
Windows certain pre and post steps . Example: perform any pre-requisite
(Root) checks before the action (example before starting a service, check
if the service is running or not), post the actual action, update the
Blueprint if necessary and so on.
5. It is the public function that will be visible for invocation
A Tata Consultancy Services Venture
USER STORY 4
Fundamentals of Knowledge Modelling
Objective
Understanding Knowledge model
• Modelling a Policy
A Tata Consultancy Services Venture
Policies
1. Policies help define reference data
Policies 2. Policies are configurable on the run time platform there by making
it flexible to define reference data for an enterprise.
3. The policies range from credentials to parameters for algorithms
to the Boolean flags and these are used as inputs when invoking
functions.
4. A policy is defined at a project level
5. A policy could be of marked of type Global Only. In such cases the
policy can only be applied at the enterprise node.
6. A policy can be provided a default value. Implying that if there is
no policy instantiated in the run time platform, the default value
provided as part of the modelling exercise will apply
7. One can define a set of attributes for a policy (Key value pairs of
reference data) and a Criteria (in order to associate the policies to
specific model elements like Entity etc.)
• Example: Credential policies may have to defined by each
technology type. Subscription could also be defined by
technology type – allowing ignio to operate for certain
technologies and blocking it for some others
8. One can design policies to have multiple instances for each node.
• Example: The maintenance window can be multiple time
slots and hence multiple policy for a server
A Tata Consultancy Services Venture
USER STORY 5
Fundamentals of Knowledge Modelling
Objective
Understanding Knowledge model
• Faults and Fixes
A Tata Consultancy Services Venture
Faults
Faults
1. Faults can be defined against an entity
Service 2. Faults will be attached to specific attribute of the entity (example:
(non-Root) Status of a Service, Patch update date of an operating system,
Disc Service Status Password length for a LocalUser on Windows and so on)
(non-Root)
3. Any state/value of an attribute can be defined as a fault.
Disc Space Utilization
4. If a fault Is based on a measurable value (CPU utilization, Disc
space etc.) then we will also associate the corresponding Dynamic
has entity & attribute with the fault. This will enable ignio to use
has profiling data for the fault identification etc.
5. One would then implement the “Check fault” function that will
Windows check for the specific values of the attribute and determine if a
Patch update date
(Root) fault exists.
# of days since reboot
A Tata Consultancy Services Venture
Fault Tags
Fault Tags
1. The faults also have tags
2. The tags are used to define the type of fault and the most often
used tags include
• Availability
• Performance / Capacity (Measurable type of faults)
• Health Check (If the fault should be used for health checks,
Service then we should attach the “Health Check” tag as well to the
(non-Root) fault)
Disc Service Status
(non-Root) 3. The assigned tags, help generate the relevant functions for the
Disc Space Utilization Availability fault. It includes the function to check if the fault exists (atomic)
and associated pattern functions (Process fault, Handle Fault and
Capacity updates to Health Check function)
has 4. The ProcessFault (pattern function) will check only on those faults
has that have been tagged with either availability or
performance/capacity (Measurable) tags.
Windows 5. The Health Check will consider the fault only if we attach the tag
(Root) “Health Check” on it.
Availability
6. A function that can remediate a fault (fix) can be associated to the
Performance defined fault. The ProcessFault function will invoke the function
that has been identified for the fix as part of its sequence
A Tata Consultancy Services Venture
Fixes
Fixes
1. A fix can be associated to a fault
2. An existing function can be mapped/associated as the fix for a
fault.
3. One can associate more than one fix for a fault and each fix will be
associated with a priority
4. The ProcessFault function will invoke the function that has been
identified for the fix as part of its sequence
Service
(non-Root) 5. When more than one fix is associated with a Fault, the
Disc
(non-Root)
X Service Status ProcessFault will invoke the fixes in the order of priority and will
continue the sequence until the issue is fixed or the fixes are
Disc Space Utilization Availability
X exhausted.
Capacity
has
has
Fix 1: Delete temp folders (p1)
Fix 2: Compress folders (p2) Windows X
… (Root)
Availability
X
Performance
A Tata Consultancy Services Venture
Process Fault & Fixes
•Filtering (filter rules + maintenance window + Deduplication +
Process Fault threshold-based suppression) Process Fault & Fixes
(Entity action) •Handle Fault
1. The pattern function of Process fault and Handle fault perform a
set of functions towards alert filtering and resolution
2. The pattern function is created when a fault is created, and
associated tags are attached, and functions generated
•Aggregation (case and model based) 3. The modeler/developer will only have to implement the
•Initiate Check faults associated atomic function for checking a fault and fixing a fault.
Handle Fault •Self heal (PCA & invoke fix)
•ITSM incident updates
A Tata Consultancy Services Venture
THANK YOU
Studio
USER STORIES
A Tata Consultancy Services Venture