IT Ecosystem
Download
Report
Transcript IT Ecosystem
Introduction
Model contains different kinds of elements
(such as hosts, databases, web servers,
applications, etc)
Relations between these elements are
dependency-oriented (Hosts,Is-server-to,
Transfers-data-to, modifies,etc.)
Together the elements and relations form
connected components representing a highlevel view of our infrastructure
Uses
Impact Analysis
– Change management: what happens if I change
application x
– Failure analysis: If system x fails what else is
affected
Operational Awareness
– How does my stuff fit into the bigger picture of
the organization
IT Ecosystem Software
Developed using Java
Production system is client/server
Components are flexible, and the server code is
not dependent on one particular application server
(Tomcat,JBoss,WebLogic,etc.)
Monolithic version that contains both the client and
server components in the same distribution with
no application server has been created
– This allows an individual to create their own model and
manipulate it for their private use
Demo
Server overview
Communicates with clients using Java Object
Serialization, where different kinds of client
requests are wrapped in objects
RESTful Web service API in progress
Highly configurable
Logs transactions for accountability and recovery
in case of an error
Read/write access authorization model
Pluggable authentication and authorization model
Data Model Overview
Uses the Web Ontology Language (OWL) to
describe the schema
– W3C standard: http://www.w3.org/TR/owl-features/
More flexible than a traditional relational database,
allowing new data types to be added at any time
Collection of classes and properties together form
an ontology describing a domain
Xml file format allows many tools to process the
schema
Data Model Overview
OWL allows the definition of different
classes (types) of objects and the properties
associated with those types
Types can be sub-classed, allowing the
creation of hierarchies of objects
An object of a type is called an “instance”
An instance can have more than one type,
unlike a relational database
Data Model Overview
The IT Ecosystem has two hierarchies of types:
“Element” and “ITEcoRelation” where all the
element and relation types are defined,
respectively
We refer to the instances of an element type as an
“element” and instances of a relation type as a
“relation”
The system currently constrains relations to have
only a single type since the semantic
consequences of multiple relation types is
unnecessarily complicated
Data Model Overview
Properties are used to store the attributes of
an instance and act like the columns of a
relational database
The properties are attached to the classes in
the model
An instance of multiple types inherits
properties from all those types
Model Extensibility
Schema is easily adaptable to individual
needs
Changes can be made to the element and
relation types and properties
Tutorial for extending schema given in
documentation
Server: Data Model
Plug and play database schemes: currently two implementations
are available
Neo4j with OWL support
– Good performance and memory usage for large data sets
(100,000+) and is the preferred scheme
– http://neo4j.org/
– Obstacle: neo4j community edition has moved from AGPL
(Apache 2.0-like) to GPL so currently version locked
Protégé 3.3.2
– Faster for small databases (< 500 elements + relations)
– Must maintain all data in memory – unsuitable for large
datasets
– http://protege.stanford.edu
Server: Authentication and
Authorization
Pluggable model allows new authentication
schemes to be developed
Currently supports LDAP, file-based, and
none (only practical for monolithic client)
Read/write based authorization model
Integrations
Java client framework to feed information from other
systems into the IT Ecosystem
– Simple grammar developed to load elements,
relations, and their properties from a text file
– If above insufficient, can build clients with
provided client framework and Java API that uses
serialized objects over HTTP
RESTful web service API in progress
Framework for creating user interface extensions
that are dynamically loaded as plugins
Integrations
Zenoss monitoring system
– Nightly batch load of monitored hosts through
web service api
VMWare integration with ESX
– Virtual hosts through batch dump of information
from VIConsole interface
Roadmap
RESTful web service API
Web front-end
Further Graph enhancements
– Neighborhood clustering
– Improved layout physics
– Property overlays
Roadmap
Network integration – switches, VLANs
Storage management integration with EMC
ServiceNow integration
Object tagging
Object creation templates/patterns
Jasig
semantic web experience
Configuration of different ontology for use
with other Jasig projects
Refactor authentication/authorization to be
more in line with other Jasig projects
uPortal integration?
Call for contributors
– Email me at [email protected]