IT Ecosystem

advertisement
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 jmontgomery@uchicago.edu
Download