SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Modeling IT Infrastucture
using
The Assimilation Project
#AssimProj

@OSSAlanR

http://assimproj.org/
http://bit.ly/AssimGC2013
Alan Robertson <alanr@unix.sh>
Assimilation Systems Limited
http://assimilationsystems.com

G
R
A
P
H
C
O
N
N
E
C
T
Upcoming Events
GraphConnect San Francisco (today!)
Open Source Monitoring Conference - Nürnberg
NSA / Homeland Security Assimilation Technical Talk
Large Installation System Administration Conference - DC
Colorado Springs Open Source User’s Group
linux.conf.au – Awesome Australian Linux Conf - Perth
Details on http://assimilationsystems.com/

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

2/25
Talk Outline
●

Project Overview

●

Infrastructure Schema

●

Python Object-Graph-Mapping API

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

3/25
Assimilation Project History
●

Inspired by 2 million core computer (cyclops64)

●

Concerns for extreme scale

●

Topology aware monitoring

●

Topology discovery w/out security issues

=►Discovery of everything!

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

4/25
Project Scope
Zero-network-footprint continuous Discovery
integrated with extreme-scale Monitoring
●

Continuous extensible discovery
–

●

Extensible exception monitoring
–

●

systems, switches, services, dependencies
– zero network footprint

G
R
A
P
H
C
O
N
N
E
C
T

more than 100K systems

All data goes into central graph database
© 2013 Assimilation Systems Limited

GraphConnect
4 October
2013

5/25
Discovery
Discovering
●

systems you've forgotten

●

what you're not monitoring

●

whatever you'd like

●

without setting off security alarms

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

6/25
Why Discovery?
●

Documentation: incomplete, incorrect

●

Dependencies: unknown

●

Planning: Needs accurate data

●

●

Best Practices: Verification needs
data
ITIL CMDB (Configuration Mgmt
DataBase)

Our Discovery: continuous, low-profile
© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

7/25
Why Neo4j (graph db)?
●
●

●

●
●

●

Dependency & Discovery information: graph
Speed of graph traversals depends on size
of subgraph, not total graph size
Root cause queries  graph traversals –
notoriously slow in relational databases
Visualization of relationships
Schema-less design: good for constantly
changing heterogeneous environment
Graph Model === Object Model
© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

8/25
Assimilation Communication
Neighbor-Rings

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

9/25
Ring Representation Schema

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

10/25
ssh -> sshd dependency graph

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

11/25
Switch Discovery Data
from LLDP (or CDP)

CRM transforms LLDP (CDP) Data to JSON
© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

12/25
OGM – Object Graph Mapping
●

Managing the Graph Nodes “disappears”

●

The Object Model is the Graph Model

●

Significant Improvement in Thinking
Clarity
–

The “mud” is gone

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

13/25
OGM rules
●
●

●

Don't use Constructors
Relationships replace hash tables and
object references and so on
Constructor parameter names match
attribute names

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

14/25
OGM sample
@RegisterGraphClass
class Person(GraphNode):
'A Person - or at least an electronic representation of one'
def __init__(self, firstname, lastname, dateofbirth=None):
GraphNode.__init__(self, domain='global')
self.firstname = firstname
self.lastname = lastname
if dateofbirth is not None:
self.dateofbirth = dateofbirth
else:
self.dateofbirth='unknown'
@staticmethod
def __meta_keyattrs__():
'Return our key attributes in order of significance'
return ['lastname', 'firstname']
© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

15/25
OGM sample
@RegisterGraphClass
class TestSystem(GraphNode):
'Some kind of semi-intelligent system'
def __init__(self, designation, roles=[]):
GraphNode.__init__(self, domain)
self.designation = designation.lower()
if roles == []:
roles = ['']
self.roles = roles
def addroles(self, role):
if self.roles[0] == '''':
del self.roles[0]
if isinstance(role, list):
for arole in role:
self.addroles(arole)
elif role not in self.roles:
self.roles.append(role)

© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

16/25
OGM sample
@staticmethod
def __meta_keyattrs__():
'Return our key attributes in order of significance'
return ['designation']

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

17/25
OGM sample
# (seven)-[:formerly]->(Annika)
Annika = store.load_or_create(Person,
firstname='Annika',
lastname='Hansen')
seven = store.load_or_create(Drone,
designation='SevenOfNine', roles='Borg')
store.relate(seven, 'formerly', Annika)
store.commit()

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

18/25
OGM sample
@RegisterGraphClass
class TestDrone(TestSystem):
def __init__(self, designation, roles=[]):
TestSystem.__init__(self, designation=designation)
if isinstance(roles, str):
roles = [roles]
roles.extend(['host', 'Drone'])
System.__init__(self, designation, roles=roles)

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

19/25
Current State
●

First release was April 2013

●

Great unit test infrastructure

●

Nanoprobe code – works well
●

Service monitoring works

●

Lacks digital signatures, encryption, compression

●

Reliable UDP comm code working

●

Several discovery methods written

●

CMA and database code restructuring near-complete

●

G
R
A
P
H
C
O
N
N
E
C
T

UI development underway

●

Licensed under the GPL, commercial license available
© 2013 Assimilation Systems Limited

GraphConnect
4 October
2013

20/25
Future Plans
●

Production grade by end of year

●

Purchased support

●

“Real digital signatures, compression, encryption

●

Other security enhancements

●

Much more discovery

●

GUI

●

Alerting

●

Reporting

●

Add Statistical Monitoring

●

Best Practice Audits

●

Dynamic (aka cloud) specialization

●

G
R
A
P
H
C
O
N
N
E
C
T

Hundreds more ideas
–

See: https://trello.com/b/OpaED3AT
© 2013 Assimilation Systems Limited

GraphConnect
4 October
2013

21/25
Get Involved!
Powerful Ideas and Infrastucture
Fun, ground-breaking project
Looking for early adopters, testers!!
Needs for every kind of skill
●
●
●
●
●
●
●

Awesome User Interfaces (UI/UX)
Evangelism, community building
Test Code (simulate 106 servers!)
Python, C, script coding
Documentation
Feedback: Testing, Ideas, Plans
Many others!
© 2013 Assimilation Systems Limited

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013

22/25
Resistance Is Futile!
#AssimProj

@OSSAlanR

#AssimMon

Project Web Site
http://assimproj.org

G
R
A
P
H
C
O
N
N
E
C
T

Blog
techthoughts.typepad.com
lists.community.tummy.com/cgi-bin/mailman/admin/assimilation
© 2013 Assimilation Systems Limited

GraphConnect
4 October
2013

23/25
The Elder GeekGirl

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

24/25
Younger GeekGirl's Computer

Running Linux
Of Course!

G
R
A
P
H
C
O
N
N
E
C
T

GraphConnect
4 October
2013
© 2013 Assimilation Systems Limited

25/25

Contenu connexe

Tendances

Tendances (12)

Realtime Computation with Storm
Realtime Computation with StormRealtime Computation with Storm
Realtime Computation with Storm
 
Graph computation
Graph computationGraph computation
Graph computation
 
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
8th TUC Meeting | Lijun Chang (University of New South Wales). Efficient Subg...
 
Big Data with Neo4j
Big Data with Neo4jBig Data with Neo4j
Big Data with Neo4j
 
Guaranteeing Consensus in Distriubuted Systems with CRDTs
Guaranteeing Consensus in Distriubuted Systems with CRDTsGuaranteeing Consensus in Distriubuted Systems with CRDTs
Guaranteeing Consensus in Distriubuted Systems with CRDTs
 
Parameter study bonn
Parameter study bonnParameter study bonn
Parameter study bonn
 
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
Engineering Fast Indexes for Big-Data Applications: Spark Summit East talk by...
 
Arc: An IR for Batch and Stream Programming
Arc: An IR for Batch and Stream ProgrammingArc: An IR for Batch and Stream Programming
Arc: An IR for Batch and Stream Programming
 
Developing Your Own Flux Packages by David McKay | Head of Developer Relation...
Developing Your Own Flux Packages by David McKay | Head of Developer Relation...Developing Your Own Flux Packages by David McKay | Head of Developer Relation...
Developing Your Own Flux Packages by David McKay | Head of Developer Relation...
 
How to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah CrowleyHow to Build a Telegraf Plugin by Noah Crowley
How to Build a Telegraf Plugin by Noah Crowley
 
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
딥러닝 중급 - AlexNet과 VggNet (Basic of DCNN : AlexNet and VggNet)
 
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
Samantha Wang [InfluxData] | Best Practices on How to Transform Your Data Usi...
 

En vedette (6)

Analyzing network infrastructure with Neo4j
Analyzing network infrastructure with Neo4jAnalyzing network infrastructure with Neo4j
Analyzing network infrastructure with Neo4j
 
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
Neo4jでつなぐ知見のネットワーク [Pycon2016 LT]
 
Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門Python neo4j cytoscapejsでデータ可視化入門
Python neo4j cytoscapejsでデータ可視化入門
 
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
「GraphDB徹底入門」〜構造や仕組み理解から使いどころ・種々のGraphDBの比較まで幅広く〜
 
大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端大規模グラフアルゴリズムの最先端
大規模グラフアルゴリズムの最先端
 
Infrastructure development in india
Infrastructure development in indiaInfrastructure development in india
Infrastructure development in india
 

Similaire à Graphing Enterprise IT – Representing IT Infrastructure and Business Processes as a Graph - Alan Robertson @ GraphConnect SF 2013

Questions On The Code And Core Module
Questions On The Code And Core ModuleQuestions On The Code And Core Module
Questions On The Code And Core Module
Katie Gulley
 
Approaching real-time-hadoop
Approaching real-time-hadoopApproaching real-time-hadoop
Approaching real-time-hadoop
Chris Huang
 
GIS 5103 – Fundamentals of GISLecture 83D GIS.docx
GIS 5103 – Fundamentals of GISLecture 83D GIS.docxGIS 5103 – Fundamentals of GISLecture 83D GIS.docx
GIS 5103 – Fundamentals of GISLecture 83D GIS.docx
shericehewat
 

Similaire à Graphing Enterprise IT – Representing IT Infrastructure and Business Processes as a Graph - Alan Robertson @ GraphConnect SF 2013 (20)

PGQL: A Language for Graphs
PGQL: A Language for GraphsPGQL: A Language for Graphs
PGQL: A Language for Graphs
 
PPT
PPTPPT
PPT
 
Sparklyr: Big Data enabler for R users
Sparklyr: Big Data enabler for R usersSparklyr: Big Data enabler for R users
Sparklyr: Big Data enabler for R users
 
Sparklyr: Big Data enabler for R users - Serena Signorelli, ICTEAM
Sparklyr: Big Data enabler for R users - Serena Signorelli, ICTEAMSparklyr: Big Data enabler for R users - Serena Signorelli, ICTEAM
Sparklyr: Big Data enabler for R users - Serena Signorelli, ICTEAM
 
R language tutorial
R language tutorialR language tutorial
R language tutorial
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
 
The Sierra Supercomputer: Science and Technology on a Mission
The Sierra Supercomputer: Science and Technology on a MissionThe Sierra Supercomputer: Science and Technology on a Mission
The Sierra Supercomputer: Science and Technology on a Mission
 
20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw20181025_pgconfeu_lt_gstorefdw
20181025_pgconfeu_lt_gstorefdw
 
Questions On The Code And Core Module
Questions On The Code And Core ModuleQuestions On The Code And Core Module
Questions On The Code And Core Module
 
Extending twitter's data platform to google cloud
Extending twitter's data platform to google cloud Extending twitter's data platform to google cloud
Extending twitter's data platform to google cloud
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
 
Approaching real-time-hadoop
Approaching real-time-hadoopApproaching real-time-hadoop
Approaching real-time-hadoop
 
Netflix Machine Learning Infra for Recommendations - 2018
Netflix Machine Learning Infra for Recommendations - 2018Netflix Machine Learning Infra for Recommendations - 2018
Netflix Machine Learning Infra for Recommendations - 2018
 
ML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talkML Infra for Netflix Recommendations - AI NEXTCon talk
ML Infra for Netflix Recommendations - AI NEXTCon talk
 
Golden Gate - How to start such a project?
Golden Gate  - How to start such a project?Golden Gate  - How to start such a project?
Golden Gate - How to start such a project?
 
Unlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQLUnlock cassandra data for application developers using graphQL
Unlock cassandra data for application developers using graphQL
 
Gc vit sttp cc december 2013
Gc vit sttp cc december 2013Gc vit sttp cc december 2013
Gc vit sttp cc december 2013
 
GIS 5103 – Fundamentals of GISLecture 83D GIS.docx
GIS 5103 – Fundamentals of GISLecture 83D GIS.docxGIS 5103 – Fundamentals of GISLecture 83D GIS.docx
GIS 5103 – Fundamentals of GISLecture 83D GIS.docx
 
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
Pivotal Data Labs - Technology and Tools in our Data Scientist's Arsenal
 
Get the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW versionGet the most out of Oracle Data Guard - OOW version
Get the most out of Oracle Data Guard - OOW version
 

Plus de Neo4j

Plus de Neo4j (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdfNeo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
Neo4j_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdfRabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
Rabobank_Exploring the Impact of Graph Technology on Financial Services.pdf
 
Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!Webinar - IA generativa e grafi Neo4j: RAG time!
Webinar - IA generativa e grafi Neo4j: RAG time!
 
IA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG timeIA Generativa y Grafos de Neo4j: RAG time
IA Generativa y Grafos de Neo4j: RAG time
 
Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)Neo4j: Data Engineering for RAG (retrieval augmented generation)
Neo4j: Data Engineering for RAG (retrieval augmented generation)
 
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdfNeo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
Neo4j Graph Summit 2024 Workshop - EMEA - Breda_and_Munchen.pdf
 
Enabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge GraphsEnabling GenAI Breakthroughs with Knowledge Graphs
Enabling GenAI Breakthroughs with Knowledge Graphs
 
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdfNeo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
Neo4j_Anurag Tandon_Product Vision and Roadmap.Benelux.pptx.pdf
 
Neo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with GraphNeo4j Jesus Barrasa The Art of the Possible with Graph
Neo4j Jesus Barrasa The Art of the Possible with Graph
 

Dernier

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 

Graphing Enterprise IT – Representing IT Infrastructure and Business Processes as a Graph - Alan Robertson @ GraphConnect SF 2013

  • 1. Modeling IT Infrastucture using The Assimilation Project #AssimProj @OSSAlanR http://assimproj.org/ http://bit.ly/AssimGC2013 Alan Robertson <alanr@unix.sh> Assimilation Systems Limited http://assimilationsystems.com G R A P H C O N N E C T
  • 2. Upcoming Events GraphConnect San Francisco (today!) Open Source Monitoring Conference - Nürnberg NSA / Homeland Security Assimilation Technical Talk Large Installation System Administration Conference - DC Colorado Springs Open Source User’s Group linux.conf.au – Awesome Australian Linux Conf - Perth Details on http://assimilationsystems.com/ G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 2/25
  • 3. Talk Outline ● Project Overview ● Infrastructure Schema ● Python Object-Graph-Mapping API G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 3/25
  • 4. Assimilation Project History ● Inspired by 2 million core computer (cyclops64) ● Concerns for extreme scale ● Topology aware monitoring ● Topology discovery w/out security issues =►Discovery of everything! G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 4/25
  • 5. Project Scope Zero-network-footprint continuous Discovery integrated with extreme-scale Monitoring ● Continuous extensible discovery – ● Extensible exception monitoring – ● systems, switches, services, dependencies – zero network footprint G R A P H C O N N E C T more than 100K systems All data goes into central graph database © 2013 Assimilation Systems Limited GraphConnect 4 October 2013 5/25
  • 6. Discovery Discovering ● systems you've forgotten ● what you're not monitoring ● whatever you'd like ● without setting off security alarms G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 6/25
  • 7. Why Discovery? ● Documentation: incomplete, incorrect ● Dependencies: unknown ● Planning: Needs accurate data ● ● Best Practices: Verification needs data ITIL CMDB (Configuration Mgmt DataBase) Our Discovery: continuous, low-profile © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 7/25
  • 8. Why Neo4j (graph db)? ● ● ● ● ● ● Dependency & Discovery information: graph Speed of graph traversals depends on size of subgraph, not total graph size Root cause queries  graph traversals – notoriously slow in relational databases Visualization of relationships Schema-less design: good for constantly changing heterogeneous environment Graph Model === Object Model © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 8/25
  • 10. Ring Representation Schema G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 10/25
  • 11. ssh -> sshd dependency graph G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 11/25
  • 12. Switch Discovery Data from LLDP (or CDP) CRM transforms LLDP (CDP) Data to JSON © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 12/25
  • 13. OGM – Object Graph Mapping ● Managing the Graph Nodes “disappears” ● The Object Model is the Graph Model ● Significant Improvement in Thinking Clarity – The “mud” is gone G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 13/25
  • 14. OGM rules ● ● ● Don't use Constructors Relationships replace hash tables and object references and so on Constructor parameter names match attribute names G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 14/25
  • 15. OGM sample @RegisterGraphClass class Person(GraphNode): 'A Person - or at least an electronic representation of one' def __init__(self, firstname, lastname, dateofbirth=None): GraphNode.__init__(self, domain='global') self.firstname = firstname self.lastname = lastname if dateofbirth is not None: self.dateofbirth = dateofbirth else: self.dateofbirth='unknown' @staticmethod def __meta_keyattrs__(): 'Return our key attributes in order of significance' return ['lastname', 'firstname'] © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 15/25
  • 16. OGM sample @RegisterGraphClass class TestSystem(GraphNode): 'Some kind of semi-intelligent system' def __init__(self, designation, roles=[]): GraphNode.__init__(self, domain) self.designation = designation.lower() if roles == []: roles = [''] self.roles = roles def addroles(self, role): if self.roles[0] == '''': del self.roles[0] if isinstance(role, list): for arole in role: self.addroles(arole) elif role not in self.roles: self.roles.append(role) © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 16/25
  • 17. OGM sample @staticmethod def __meta_keyattrs__(): 'Return our key attributes in order of significance' return ['designation'] G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 17/25
  • 18. OGM sample # (seven)-[:formerly]->(Annika) Annika = store.load_or_create(Person, firstname='Annika', lastname='Hansen') seven = store.load_or_create(Drone, designation='SevenOfNine', roles='Borg') store.relate(seven, 'formerly', Annika) store.commit() G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 18/25
  • 19. OGM sample @RegisterGraphClass class TestDrone(TestSystem): def __init__(self, designation, roles=[]): TestSystem.__init__(self, designation=designation) if isinstance(roles, str): roles = [roles] roles.extend(['host', 'Drone']) System.__init__(self, designation, roles=roles) G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 19/25
  • 20. Current State ● First release was April 2013 ● Great unit test infrastructure ● Nanoprobe code – works well ● Service monitoring works ● Lacks digital signatures, encryption, compression ● Reliable UDP comm code working ● Several discovery methods written ● CMA and database code restructuring near-complete ● G R A P H C O N N E C T UI development underway ● Licensed under the GPL, commercial license available © 2013 Assimilation Systems Limited GraphConnect 4 October 2013 20/25
  • 21. Future Plans ● Production grade by end of year ● Purchased support ● “Real digital signatures, compression, encryption ● Other security enhancements ● Much more discovery ● GUI ● Alerting ● Reporting ● Add Statistical Monitoring ● Best Practice Audits ● Dynamic (aka cloud) specialization ● G R A P H C O N N E C T Hundreds more ideas – See: https://trello.com/b/OpaED3AT © 2013 Assimilation Systems Limited GraphConnect 4 October 2013 21/25
  • 22. Get Involved! Powerful Ideas and Infrastucture Fun, ground-breaking project Looking for early adopters, testers!! Needs for every kind of skill ● ● ● ● ● ● ● Awesome User Interfaces (UI/UX) Evangelism, community building Test Code (simulate 106 servers!) Python, C, script coding Documentation Feedback: Testing, Ideas, Plans Many others! © 2013 Assimilation Systems Limited G R A P H C O N N E C T GraphConnect 4 October 2013 22/25
  • 23. Resistance Is Futile! #AssimProj @OSSAlanR #AssimMon Project Web Site http://assimproj.org G R A P H C O N N E C T Blog techthoughts.typepad.com lists.community.tummy.com/cgi-bin/mailman/admin/assimilation © 2013 Assimilation Systems Limited GraphConnect 4 October 2013 23/25
  • 24. The Elder GeekGirl G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 24/25
  • 25. Younger GeekGirl's Computer Running Linux Of Course! G R A P H C O N N E C T GraphConnect 4 October 2013 © 2013 Assimilation Systems Limited 25/25