Project: Storage Network Environment Simulator
The Eclipse
Aperi Storage Management Project addresses a fundamental IT discipline that all enterprise management
applications must face, spanning deployment, scalability, serviceability,
backup, and recovery challenges. This project will
allow you to experience first hand how the open source community is tackling
the big IT challenges facing global industries today and seeking to make
progress that can be to everyone's benefit, both vendors and consumers. It will also show you how the open source
approach can be complementary to other IT industry initiatives, such as the
Aperi project's collaboration with the SNIA standards organization. The Academic Project ideas listed here are
to help those who are unsure how they might be able to contribute to the Aperi
project, and may also act as inspiration for other contribution ideas.
Benefits of working on an
Aperi Storage Management open source project:
•
Skills you learn will be transferable to any open source project
•
You will become familiar with the Eclipse eco-system:
•
Learning how to use the key tools provided by Eclipse such as the Eclipse open source Software Development Kit
(SDK) , CVS repository, Bugzilla, Wiki, Newsgroups, Mailing Lists, and Blogs.
•
Understanding the roles and responsibilities of committers and
contributors within an open source project, and the Development Process that
must be followed.
•
Learning how an open source project gets started and what it takes
to build and expand it.
•
Engaging directly with other Aperi project participants in the
open forums, and also collaborating with other projects
•
Having contributions you make publicly recognized, added to the
Project Roadmap, and made available to the open source community
•
Understanding the importance of Intellectual Property and the role
it plays in open source licensing
•
Having an opportunity to come up with ideas for the project that
may take it in new directions
•
Aperi uses other open source libraries and third party packages,
promoting code sharing across the IT community, including Apache and
SourceForge for the SNIA code.
•
Aperi is an Incubator project under the Top Level Technology
Project, and is guided by experienced Open Source experts who are available for
advice.
Project: Storage Network Environment Simulator
Description: Develop
a Storage Network Environment simulator for testing storage management code
(products and tools that map out storage devices, switches, etc. in an
enterprise and present them graphically).
To exercise storage management code, you need an environment where there
is plenty of hardware in the storage network to discover and report on. Without that existing hardware, it is
difficult to test tools that map that hardware. The Storage Network Environment Simulator would have the ability
to provide a number of synthetic storage area network fabric environments. Abilities of this simulator:
Contribution: A project in the Storage Network Environment
Simulator area could contribute in a number of different wayso
•
Create a tool that could generate different enterprise Storage
Network Environment models
•
Build a repository of different images for different environments
•
Provide canned data for small, medium, large and very large
enterprises
•
Create synthetic environments to allows for robust testing and
application building.
•
Test open source storage management software (Aperi) with
simulations of large data applications
Experience: Utilizing the Eclipse open source Software
Development Kit (SDK) (http://www.eclipse.org/downloads) you would develop a Java utility that would
allow your user to select various numbers of different storage hardware and software that would
exist in a fantasy Storage Network Environment. You would then test the various generated synthetic environments
with open source storage management software from the Aperi Storage Management
project at Eclipse (http://www.eclipse.org/aperi)
Project: Data Visualization
Description: The goal
of this project is to explore new ways to present the data from storage devices
and software to a storage administrator so that it enhances their ability to
manage the data in their enterprise.
Contrary to popular belief, storage administrators are people too, and
they would rather spend more time biking, sailing, or listening to their Chet
Baker CD collection. Instead they stare
at screen after screen of storage management data to ensure their enterprise is
running smoothly. Your mission, if you
choose to accept it, is to come up with different ways to look at and combine
data presented such that they can manage their environment more
effectively. .
Contribution: A project in the Data Visualization area
could contribute in a number of different ways:
•
Provide better visualization of storage data in a topology viewer
•
Identify more refined views of the data
•
Identify different organization of the the same data to allow for
better pattern recognition
•
Create overlays of different views that could be used in
conjuntion with other views
Experience: Utilizing the Eclipse open source Software
Development Kit (SDK) (http://www.eclipse.org/downloads) you would develop enhancements to the Aperi
Storage Management project at Eclipse (http://www.eclipse.org/aperi) that would display
different cuts at storage management date.
You would utilize the Eclipse Business Intelligence and Reporting
Tools (BIRT) open source, Eclipse-based reporting system (http://www.eclipse.org/birt/phoenix) that integrates with
Aperi to produce compelling reports for both web and PDF.
Project: Test Automation
Description: The goal
of this project is to create a mechanism to select, run and analyze tests
against the Aperi Storage Management open source project. Manual execution of testcases is time
consuming, repetitive, and has a degree of human error. Automating the testing will allow for faster
turnaround of a test cycle.
Contribution: A project in the test automation area could
contribute in a number of different ways:
•
Create an approach for managing and executing an automated test
suite. The end goal would be to provide a “One-click” automation environment to:
•
Select the test cases to be included
•
Setup the test environment
•
Run the test cases
•
Collection the log output from the testcases
•
Analyze the output
•
Provide a report of the results
•
Identify attributes of an automated testcase that can be applied
to existing testcases
•
Create a test suite of automated testcases for storage management
Experience: Utilizing the Eclipse open source Software
Development Kit (SDK) (http://www.eclipse.org/downloads) you would develop a Java utility that would
allow for the automated execution of storage management testcases. You would then test your utility and automated
test buckets with open source storage management software from the Aperi
Storage Management project at Eclipse (http://www.eclipse.org/aperi)
Project: Database extensions
Description: The
Aperi data store currently uses relational database technology and there are
two choices of database available to you:
•
Apache Derby is the default database. This open source database is based on
Cloudscape and can be downloaded for free from the Apache website.
•
DB2, an enterprise level database for large scale
deployments. A DB2 Express version
can be downloaded for free from IBM's Developerworks site.
Backup
copies of Apache Derby and DB2 databases are also available from the Aperi team that contain canned sample data of
monitored storage devices. These have
been used for code demonstrations at Storage Management events.
Contribution: A project in the database area could
contribute in a number of different ways:
•
Identify SQL queries that will produce resultsets containing
commonly sought storage management
information, that can be used for reporting, trending, and export to
other tools, like Crystal Reports or other data repositories.
•
Build ETLs for an open source
Warehouse
•
Providing queries that will only extract delta data for
performance and scalability
•
Creating data processing routines that can produce new
information, not provided in the base functionality.
•
Create a utility that can be run independently of the Aperi code,
extracting data directly from the database and storing it in a common format,
such as CSV.
•
An extension of this might be, for example, if a storage manager
wanted a report in his email each morning, how might this be programmed
automatically. end-to-end using open source.
•
Look to add support for other database options, including open source
database options, like Ingres, Firebird, MySQL, PostgreSQL, MaxDB. This would include studying each database's
licensing model to see how they would fit with the Eclipse licensing model, and
would enhance your understanding of Intellectual Property challenges.
•
Look for ways to streamline the database schema and/or queries to
enhance performance
•
Write a demo utility that provides a user friendly interface to
switch between backups of canned data to provide more choice in simulated
environments, including the flexibility to easily add new backups.
Experience
gained: With the Eclipse Aperi Open Source Project, you will get
hands on experience of working within the Open Source community. The database extension project in
particular will give you insight and practical exposure to the common data
store challenges developers face, as well as the wealth of choice and
opportunities that relational databases provide. It will also put you in the shoes of the data consumers and their
needs.
Project: Storage Data Directions
Description: What new
types of storage devices are being created?
What new features will they have?
How are we going to manage them?
These are the questions that this project should answer and
implement. The goal of this project is
to explore the next generation of storage devices, to understand the management
data that they will produce and make modification to the Aperi Storage
Management open source project to handle these new devices.
Contribution: A project in the database area could
contribute in a number of different ways:
•
Identify the new types of storage devices lurking in the newr
future.
•
Identify information the new devices will track that can be used
for managing the device
•
Determine how best to display the new date on the screen and how
to combine it with existing device information
•
Identify how a storge management product can affect the device
with the new interface.
•
Create new types of reports to utilize the new device information
Experience: Utilizing the Eclipse open source Software
Development Kit (SDK) (http://www.eclipse.org/downloads) you would develop enhancements to the Aperi
Storage Management project at Eclipse (http://www.eclipse.org/aperi) that would add new data
points that are expected t be provided by the next generation of storage
devices. In addition you would utilize
the Eclipse Business Intelligence and Reporting Tools (BIRT) open
source, Eclipse-based reporting system (http://www.eclipse.org/birt/phoenix) to produce new ways to
visualize and report on this data.
Aperi
Newsgroup: Post a message on the Aperi Newsgroup to
communicate your interest in doing a project with Aperi. A project participant will contact you.
Support: In addition to the support provided by the
open source community, the other project participants, and the committers, the
following people have offered to be focal points:
•
Tom Guinane and Helen Bergin to help with general queries about
the project and access to various information, resources, and utilities
•
Todd Singleton to be the Technical contact for development/design
questions.