From 9bca5fbae7d39d799959f52984f79b6e170a3964 Mon Sep 17 00:00:00 2001 From: neo4j-mkd <96301116+neo4j-mkd@users.noreply.github.com> Date: Tue, 23 Jul 2024 11:46:08 +0100 Subject: [PATCH] Added IT Service Graph --- modules/ROOT/content-nav.adoc | 5 + .../agnostic-it-service-graph-model.svg | 1 + .../agnostic-it-service-graph-schema.png | Bin 0 -> 74344 bytes modules/ROOT/pages/agnostic/index.adoc | 6 + .../it-service-graph/it-service-graph.adoc | 174 ++++++++++++++++++ modules/ROOT/pages/index.adoc | 3 +- 6 files changed, 188 insertions(+), 1 deletion(-) create mode 100644 modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-model.svg create mode 100644 modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-schema.png create mode 100644 modules/ROOT/pages/agnostic/index.adoc create mode 100644 modules/ROOT/pages/agnostic/it-service-graph/it-service-graph.adoc diff --git a/modules/ROOT/content-nav.adoc b/modules/ROOT/content-nav.adoc index c8cf144..7527ad3 100644 --- a/modules/ROOT/content-nav.adoc +++ b/modules/ROOT/content-nav.adoc @@ -17,3 +17,8 @@ * xref:insurance/index.adoc[] ** xref:insurance/quote-fraud.adoc[] + + +* xref:agnostic/index.adoc[] +** xref:agnostic/entity-resolution.adoc[Entity Resolution] +** xref:agnostic/it-service-graph/it-service-graph.adoc[] \ No newline at end of file diff --git a/modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-model.svg b/modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-model.svg new file mode 100644 index 0000000..c7ee367 --- /dev/null +++ b/modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-model.svg @@ -0,0 +1 @@ +INSTALLED_ONDELIVERSLOCATED_ININ_SECTIONIN_RACKUSED_BYsince:RUNSsince:serviceSLA:RUNS_ONIN_ROOMServerVMContainerassetNumber:name:fristSeen:leaseEnd:SoftwareswName:swVersion:lastUpdated:swVendor:ServiceserviceName:serviceOwner:DatacenterdcName:dcCity:dcGeoLocation:SectionRoomname:geoLocation:RackgeoLocation:rackName:freeUnits:CustomercustomerName:customerDept:customerImportance: \ No newline at end of file diff --git a/modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-schema.png b/modules/ROOT/images/agnostic/it-service-graph/agnostic-it-service-graph-schema.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbfa1d6ce9eca12ab39c20a34074068fe4e2c34 GIT binary patch literal 74344 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�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 INz service -> software & server -> service and software +CREATE (n1)<-[:USED_BY {since: "2023-01-27"}]-(n2)<-[:DELIVERS]-(n3) +CREATE (n0)-[:RUNS {since: "2023-01-24", serviceSLA: 8}]->(n2) +CREATE (n3)-[:INSTALLED_ON]->(n0) + +// Create relationship chain between server -> dc -> section/room -> rack +CREATE (n0)-[:LOCATED_IN]->(n4) +CREATE (n4)-[:IN_SECTION]->(n5)-[:IN_RACK]->(n6) +---- + +=== 4.3. Neo4j Scheme +If you call: + +[source, cypher, role=noheader] +---- +// Show neo4j scheme +CALL db.schema.visualization() +---- + +You will see the following response: + +image::agnostic/it-service-graph/agnostic-it-service-graph-schema.png[] + +== 5. Cypher Queries + +=== 5.1. Identify Software delivering various services +In this query, we will identify software which is delivering various services and customers using that service: + +`Software` nodes should be connected to the same `Service` node. The direction of the relationship has been applied to the traversal. + +The following query returns all paths from software delivering a service used by customers: + +[source, cypher, role=noheader] +---- +// Match all service delivering a service used by customers +MATCH path=(:Software)-[:DELIVERS]->(:Service)-[:USED_BY]->(:Customer) +RETURN path; +---- + +It can also be filtered by various properties, e.g. the software name: + +[source, cypher, role=noheader] +---- +// Match all service delivering a service used by customer for software GraphDB +MATCH path=(:Software {swName: 'GraphDB'})-[:DELIVERS]->(:Service)-[:USED_BY]->(:Customer) +RETURN path; +---- + +Going further, it is also easy to include the server that runs the services to understand the impact of the server being down: + +[source, cypher, role=noheader] +---- +// Match a complete service chain for the software GraphDB +MATCH path=(:Server)<-[:INSTALLED_ON]-(:Software {swName: 'GraphDB'})-[:DELIVERS]->(:Service)-[:USED_BY]->(:Customer) +RETURN path; +---- + +=== 5.2. Identify a complete service chain of a particular software +This query can be used to identify a complete service chain, from `Customer` up to the `Rack` that is hosting the server for the software "GraphDB" running certain services: + +* `Customer` nodes should be using the same `Service` node. +* `Service` nodes should be run with the same `Software` node. +* `Software` nodes should be installed on the same `Server` node. +* The `Server` nodes run in a datacenter `Section` or `Room` mounted into a `Rack` located in that particular place. + +The direction of the relationship has been applied to the traversal for faster query response. + +[source, cypher, role=noheader] +---- +// Match a complete service chain +MATCH path=(:Rack)<-[:IN_RACK]-(:Section)<-[:IN_SECTION]-(:Datacenter)<-[:LOCATED_IN]-(:Server)<-[:INSTALLED_ON]-(:Software {swName: 'GraphDB'})-[:DELIVERS]->(:Service)-[:USED_BY]->(:Customer) +RETURN path; +---- + +== 6. Extending the IT Service Graph further + +=== 6.1. With additional data +The above example of an IT Service Graph contains information relevant to an organisation. Extending it is as simple as adding Properties to the nodes, such as relevant “loss of revenue per hour” information for estimating revenue impact or additional information about the individual objects themselves. Adding contracting and cost information for servers, services, or software will enhance the ability to monitor or analyse more complex questions and provide answers to all relevant information related to and around services running your business. + +=== 6.2. With additional use cases like Master Data Management, etc. +A mature IT Service Knowledge Graph (KG) will provide you with many possibilities to increase the maturity of your services. Nevertheless, it can be beneficial to increase your graph knowledge further. Two options may stick into your eyes immediately: + +* Master Data Management (MDM): MDM can be any type of data in a graph varying from price master data up to access information about people having permissions to certain operations and maintenance involved in server, software and service operations. Adding this kind of data into the IT Service Knowledge Graph will enhance the views even more and can answer questions like “Marco moves from department A to D, what services/software/data/etc. does he need and what needs to be removed from his list of permissions”. +* People Profile Information: Having people profiles and experience information in the Graph or as a separate KG can help understand what people have experience or certifications to operate services, servers, networks, and other objects in IT. It can also help develop skills needed to maintain stable operations in case certain knowledge gets lost and provide growth paths to employees. + +There are even more possibilities to build an IT Service Graph further out, but it is important to start small and grow once the foundational work has been done. \ No newline at end of file diff --git a/modules/ROOT/pages/index.adoc b/modules/ROOT/pages/index.adoc index f708426..4d25ea6 100644 --- a/modules/ROOT/pages/index.adoc +++ b/modules/ROOT/pages/index.adoc @@ -5,4 +5,5 @@ Explore the potential of Neo4j's graph database with our industry-specific use c == 1. Industries * xref:finserv/index.adoc[] -* xref:insurance/index.adoc[] \ No newline at end of file +* xref:insurance/index.adoc[] +* xref:agnostic/index.adoc[] \ No newline at end of file